Commit Graph
712 Commits
Author SHA1 Message Date
vchoi-hdfgroup.org 80b13b975d Modifications to move up "Structured Chunk Composition" to before the "Chunk Indexing Type" field so
the information is available when decoding the layout message.
Also regenerate h5stat_struct_chunk.h5 for testing.
2025-11-20 13:58:33 -06:00
vchoi-hdfgroup.org 5cd51501ad Changes to use a new filter pipeline message for structured chunk instead
of adding a new version to the existing pipeline message for dense chunked.
2025-11-18 12:26:13 -06:00
github-actions e6a8dc574f Committing clang-format changes 2025-10-19 09:06:56 +00:00
vchoi-hdfgroup.org 95d07d2e55 Modifications to H5Dset_extent() and h5stat for supporting structured chunk. 2025-10-19 04:00:22 -05:00
vchoi-hdfgroup.org a6ae078283 Add H5Premove_filter() API + tests + misc cleanup/comments. 2025-07-24 13:59:47 -05:00
vchoi-hdfgroup.org af23786b72 Modifications for adding structured chunk filter support. 2025-07-14 14:55:30 -05:00
vchoi-hdfgroup 2a42fad585 Merge pull request #5342 from HDFGroup/develop
Update feature/sparse_data with develop
2025-02-28 21:18:04 -06:00
Neil Fortnerandgithub-actions 61aa40f3fb Fix error in H5Ddebug() (#5299)
* Fix error in H5Ddebug(). Add h5ls test cases.

* Committing clang-format changes

* Fix cmake (hopefully)

* Fix cmake again (hopefully)

* Fix issue with modification times showing up differently on different
systems. Add test case for v1 b-trees.

* Add cmake for new tests

* Add RELEASE.txt entry

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-07 16:40:55 -06:00
Neil Fortner ea3073c2eb Merge branch 'develop' into feature/sparse_data 2025-01-16 11:07:44 -06:00
Dana Robinson be3f2995dc Fix flipped calloc args (#5198)
* Fix flipped calloc args in C++ tests
2025-01-02 10:09:45 -06:00
Allen Byrne 655403a3b4 Correct CMake option usage and dependencies (#5188) 2024-12-31 16:46:45 -06:00
Larry Knox d4a5e1e4fb Fix MPI_TEST_H5DIFF-h5diff_601 (#5192)
on Dane and Frontier, which occasionally fails when searching for expected output "Object could not
be found in <h5diff_basic1.h5>" when the object name </nono_obj> is
inserted after "Object".  Search string is reduced to "could not
be found".
2024-12-30 13:57:29 -06:00
Neil Fortner 333a3366ac Merge develop to feature/sparse_data (#5154) 2024-11-27 14:58:53 -06:00
jhendersonHDF 90429f5e7d Implement support for complex number datatypes (#4630)
* Implement support for complex number datatypes

Adds the new datatype class H5T_COMPLEX

Adds the new API function H5Tcomplex_create which creates a complex
number datatype from an ID of a base floating-point datatype

Adds the new feature check macros H5_HAVE_COMPLEX_NUMBERS and
H5_HAVE_C99_COMPLEX_NUMBERS

Adds the new datatype size macros H5_SIZEOF_FLOAT_COMPLEX,
H5_SIZEOF_DOUBLE_COMPLEX and H5_SIZEOF_LONG_DOUBLE_COMPLEX

Adds the new datatype ID macros H5T_NATIVE_FLOAT_COMPLEX,
H5T_NATIVE_DOUBLE_COMPLEX, H5T_NATIVE_LDOUBLE_COMPLEX,
H5T_CPLX_IEEE_F16LE, H5T_CPLX_IEEE_F16BE,
H5T_CPLX_IEEE_F32LE, H5T_CPLX_IEEE_F32BE,
H5T_CPLX_IEEE_F64LE and H5T_CPLX_IEEE_F64BE

Adds hard and soft datatype conversion paths between complex number
datatypes and all the integer and floating-point datatypes, as well as
between other complex number datatypes

Adds a special conversion path between complex number datatypes and
array or compound datatypes where the in-memory layout of data is the
same between the datatypes and data can be converted directly

Adds support for complex number datatypes to the h5dump, h5ls and
h5diff/ph5diff tools. Allows h5dump '-m' option to change floating-point
printing format for float complex and double complex datatypes, as well
as long double complex if it has the same size as double complex

Adds minimal support to the h5watch and h5import tools

Adds support for the predefined complex number datatypes and
H5Tcomplex_create function to the Java wrappers. Also adds initial,
untested support to the JNI for future use with HDFView

Adds support for just the H5T_COMPLEX datatype class to the Fortran
wrappers

Adds support for the predefined complex number datatypes and
H5Tcomplex_create function to the high level library H5LT interface
for use with the H5LTtext_to_dtype and H5LTdtype_to_text functions

Changes some usages of "complex" in the library since it conflicts with
the "complex" keyword from the complex.h header. Also changes various
usages of the word "complex" throughout the library to distinguish
compound datatypes from complex datatypes.
2024-10-31 13:54:25 -07:00
Allen Byrne 192d630f27 Add long double format option to h5dump (#5025) 2024-10-29 08:06:13 -07:00
Dana Robinson 786b03317a Fix remaining calloc param reversals (#5018)
gcc 14 identifies likely places where the sizeof() call is used
for the first parameter to calloc(). This PR fixes the remaining
places in the library where this occurs and reworks a few other
allocations to be more uniform.
2024-10-28 06:58:28 -07:00
Allen Byrne 5425a571e0 Convert develop to v2.0.0 (#5006)
Switches previous 1.16/17/18 values to 2.0
2024-10-27 21:51:07 -07:00
Dana Robinson b8a06b51f1 Remove version number from h5repack test plugin (#5011) 2024-10-26 07:11:22 -05:00
Allen Byrne 01957b6cb1 Certain versions of VS produce rounding errors in tfloatsattr (#5000) 2024-10-24 15:26:57 -05:00
Allen Byrne 1b72a1bca0 Add support for native zlib-ng in the library and compression references (#4935)
* Correct compile defs for zip_perf program
2024-10-23 16:20:15 -05:00
Dana Robinson 245bb2cd23 Remove some Solaris Studio work-arounds (#4979)
Solaris Studio hasn't been updated in almost a decade and the last
version (12.4, circa 2015) doesn't seem to fully support C11.

This PR removes some work-arounds for things like __attribute__()
support.
2024-10-20 12:47:52 -07:00
Dana Robinson 7f1e49206d Renamed COPYING to LICENSE (#4978)
This is where most people will expect to find license information. The
COPYING_LBNL_HDF5 file has also been renamed to LICENSE_LBNL_HDF5.
The licenses are unchanged.
2024-10-18 21:13:04 -07:00
vchoi-hdfgroup 62b4d4dd42 Merge branch 'feature/sparse_data' into feature/sparse_data 2024-10-10 17:05:45 -05:00
Dana Robinson 54f8f12ed9 Update clang-format to 17 (#4931)
Also bump the clang-format GitHub actions to 17
2024-10-04 19:49:35 -07:00
Allen Byrne 07756c87f5 Update develop to 1.18 API 2024-10-02 19:53:38 -05:00
Larry Knox 698ee8e439 Set develop branch version to 1.17.0. (#4912) 2024-10-02 12:28:19 -05:00
vchoi-hdfgroup 76f05899c5 Merge branch 'HDFGroup:feature/sparse_data' into feature/sparse_data 2024-09-20 21:45:32 -05:00
Allen Byrne 0737d0dbf7 Correct URLs in documentation (#4823) 2024-09-12 22:46:58 -05:00
Allen Byrne bca2806055 Update URL documentation links to support site (#4781) 2024-08-29 16:27:44 -05:00
vchoi-hdfgroup.org 57c661ec7e Merge branch 'feature/sparse_data' of https://github.com/vchoi-hdfgroup/hdf5 into feature/sparse_data
Changes for structured chunk support:
--Modify tests in test/sparse_storage.c
--Add H5Pset/get_struct_chunk APIs
--Add examples to doxygen for APIs
2024-08-12 16:50:58 -05:00
Allen Byrne f77b70859f Rework Dynamic Analysis and sanitize testing (#4681)
* Ignore predetermined failing test and check pointer before use

* Rework Analysis process
2024-08-05 09:53:53 -05:00
Allen Byrne f8069fa850 Add tools usage text as doxygen for Tools UG (#4602) 2024-07-15 09:43:20 -05:00
Allen Byrne bbdebee600 These two generators create strings without NUL for testing (#4608) 2024-06-26 20:40:35 -07:00
Allen Byrne 162f01292c Rework the TestExpress usage and refactor dead code (#4590) 2024-06-20 14:01:43 -07:00
Allen Byrneandgithub-actions e7796a60d2 Add page buffer cache command line option to tools (#4562)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-19 07:38:30 -05:00
Allen Byrne 1dc0b67715 Adjust h5repack userblock option to allow reserve size (#4544) 2024-06-05 16:18:12 -05:00
Allen Byrne 552510e906 Add option to use zlib-ng as zlib library (#4487) 2024-06-04 09:44:13 -07:00
jhendersonHDF 8897e25b00 Fix spelling (#4522) 2024-05-23 16:44:33 -05:00
Allen Byrne 9ad5f7e3a9 Use ADD_H5_ERR_TEST to not compare output (#4464) 2024-05-06 16:33:09 -05:00
Allen Byrne ea3a3a25f1 Remove use of err files in autotools test scripts (#4461) 2024-05-06 08:31:39 -05:00
Allen Byrne 1b6ae84d15 Convert ERR test to use grep (#4451)
* Convert ERR test to use grep
* Eliminate use of .err files in CMake
* Show error output if grep fails
* Turn off cuda in NVHPC CI
2024-05-03 03:29:53 -07:00
vchoi-hdfgroup b23affc2a6 Fix for github issue #3790: infinite loop closing library (#4445)
* Fix for github issue #3790: infinite loop closing library
Cause of the problem:
When h5dump tries to open the user provided test file, the metadata cache will
call the "get_final_load_size" callback to find out the actual size of the
the root object header.  The callback function will call
H5O__prefix_deserialize() to allocate space for the object header
data structure (via H5FL_CALLOC) and to deserialize the object header prefix
in order to find the actual size of the object header.
The metadata cache will then check whether the actual size obtained
will exceed the file's EOA.
Since the actual size obtained from the test file exceeds the EOA,
the metadata cache throws an error and return.
However, the oh structure that was allocated in H5O__prefix_deserialize()
was not freed and hence causing the problem described in this issue.
Fix:
1) Deallocate the oh structure after obtaining and saving the needed
information in udata which will be used later on in the "verify_chksum" callback.
2) Deserialize the object header prefix in the "object header's
"deserialize" callback regardless.  The original coding intends to keep the
deserialized prefix so that the object header's "deserialize" callback
does not need to deserialize the prefix again if the object header is coming
through the "get_final_load_size" callback.
2024-04-30 07:21:08 -05:00
Quincey Koziol 0ce1a96b4e Don't print thread ID when the library isn't multithreaded. (#4428)
Corresponding changes to make error output for regression tests agnostic
to thread setting.

Signed-off-by: Quincey Koziol <quincey@koziol.cc>
2024-04-24 08:32:28 -07:00
Dana Robinson a99d620172 Clean up random number generator code (#4338)
* Clean up random number generator code

Depending on the platform, we use a mix of random, rand, and rand_r
to generate pseudo-random numbers, along with a messy set of ifdefs
in H5private.h. We are not a cryptographic library, only use random
numbers in our test code, and have no need for anything more than the
C standard's (s)rand(). There's no point dithering about using rand()
vs random() when we're also doing bad things like using mod to
restrict the range, which introduces bias.

Also removes CMake/configure checks for rand_r and random

* Remove random/rand_r checks from build system

* Fix missed HDrandom after GitHub merge
2024-04-07 15:15:25 -07:00
Dana Robinson 136739b37a File format security issues (#4234) 2024-03-27 13:12:32 -07:00
jhendersonHDF 638c4d901f Fix an issue with type size assumptions in h5dumpgentest (#4222) 2024-03-24 15:13:46 -05:00
Dana Robinson 15608c00b5 Call memset before stat calls (#4202)
The buffers passed to stat-like calls are only partially filled in by
the call, leaving ununitialized memory areas when the stat buffers are
created on the stack.

This change memsets the buffers to 0 before the stat calls, quieting
the -fsanitze=memory complaints.
2024-03-21 05:31:30 -07:00
Allen Byrne 977f4aab14 h5diff compares attribute data like dataset data (#4191)
Updates tools docs to indicate that dataset and attribute data are compared in the same way
2024-03-20 10:54:44 -07:00
jhendersonHDF 330b80a266 Add support for _Float16 16-bit floating point type (#4065)
Fixed some conversion issues with Clang due to problematic undefined
behavior when casting a negative floating-point value to an integer

Fixed a bug in the library's software integer to floating-point
conversion function where a user's conversion exception function
returning H5T_CONV_UNHANDLED in the case of overflows would result in
incorrect data after conversion

Added configure checks for functions and macros related to _Float16
usage since some compilers expose the datatype but not the functions or
macros

Fixed a dt_arith test failure when H5_WANT_DCONV_EXCEPTION isn't defined

Fixed a few warnings from not explicitly casting some _Float16 variables
upwards
2024-03-18 21:36:46 -07:00
Allen Byrne 50a6522322 Change compression tests reference files to use masking for compression ratios (#4083)
Rework TEST_FILTER tests to handle slightly different compression ratios
2024-03-10 16:43:37 -07:00