67 Commits
Author SHA1 Message Date
Martin Diehl fd72abbbbc Consistent extension for C++ (#6214)
Except for this file, all use cpp instead of cxx. No obvious reason why
the same file types should have different extensions.
2026-02-20 08:59:27 -06:00
jhendersonHDF d1efeba7be Add predefined datatype for FP4 format (#6122)
Adds predefined datatype for FP4 data in E2M1 format

Does not add support for any native FP4 types; datatype conversions are performed in software
2025-12-31 11:44:08 -06:00
jhendersonHDF 441d83a896 Add predefined datatypes for FP6 formats (#6097)
Adds predefined datatypes for FP6 data in E2M3 and E3M2 formats

Does not add support for any native FP6 types; datatype conversions are performed in software
2025-12-19 12:56:54 -06:00
jhendersonHDF bd9e443e82 Fix checking of HDF5_VOL_CONNECTOR env. var. in some tests (#6073) 2025-12-01 11:21:19 -06:00
jhendersonHDF eb72e67ed2 Add predefined datatypes for FP8 formats (#5882)
Adds predefined datatypes for FP8 data in E4M3 and E5M2 formats

Does not add support for any native FP8 types; datatype conversions are performed in software
2025-11-03 15:10:22 -06:00
jhendersonHDF 748875a7d7 Add predefined datatypes for bfloat16 data (#5402)
Adds predefined datatypes for little- and big-endian bfloat16 data

Does not add support for any native bfloat16 types; datatype conversions are performed in software

Also adds missing float16 predefined types to fortran
2025-09-26 13:33:56 -05:00
Allen Byrne 63803d7115 allow better CMake version testing (#5727)
* add cmake latest workflow with lukka/get-cmake@latest
* Upgrade minimum CMake version to 3.26
2025-08-23 06:43:20 -05:00
Scot Breitenfeld b0a47973d1 update hdf5.github.io links to support.hdfgroup.org (#5530) 2025-05-13 07:45:16 -05:00
Matt L 4b609617f6 Close attribute after shared attr dtype test (#5360) 2025-03-12 13:17:02 -05:00
Allen Byrne 0b55bcd98d Change md file links to correct locations (#5349) 2025-03-03 15:00:44 -06:00
jhendersonHDF d366d72830 Update API tests README.md with current information (#5348) 2025-03-03 15:00:25 -06:00
jhendersonHDF 46658a55b3 Fix memory leak in API tests for vlen dataset I/O (#5230) 2025-01-13 16:58:32 -08:00
jhendersonHDF 2d0c676642 Enable API tests by default and fix some issues (#5223)
* Enable API tests by default

* Fix leaked file handle in API link test

* Fix some versioned API misuses
2025-01-10 09:08:02 -08:00
jhendersonHDF af0b2315bd Remove const from testing parameters in testframe framework (#5214)
Makes testing parameters specified with AddTest non-const again when
passed to test functions. This allows test functions to update their
parameters during execution and is particularly useful for tests
which use those parameters to accumulate statistics, error counts,
etc. without resorting to global variables.
2025-01-08 13:33:00 -06:00
jhendersonHDF fd7aef59ed Integrate API tests with testing framework (#5133)
Allows skipping of individual tests by interface or by name
2024-11-26 07:34:52 -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
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
jhendersonHDF 0559ba6881 Remove FALSE from some API tests (#4977) 2024-10-18 12:02:51 -07: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
jhendersonHDF 33d9fa8e62 Use H5VLcmp_connector_cls to compare VOL connector IDs in API tests (#4929) 2024-10-04 12:31:14 -07:00
Scot Breitenfeld 8d50786f7a Reworked cleaning up API test files (#4626)
* Reworked cleaning up test files, only removing test files if present to account for skipped tests

* changed to using H5Fis_accessible

* update to full use of remove_test_file
2024-07-05 12:38:26 -07:00
Scot Breitenfeld d6541ba8e3 Test fixes for log-based vol (#4618)
* fixes to address failures in the log-based VOL

* moved file cleanup to tests proper

* skipped index API test if not supported
2024-07-02 09:25:15 -05:00
Allen Byrne c548657043 Update and use more URL alias (#4413) 2024-04-17 07:56:19 -05:00
Dana Robinson 0de523bc42 Remove HD macros for C time functions (#4337)
* HDasctime
* HDclock
* HDctime
* HDdifftime
* HDgmtime
* HDlocaltime
* HDmktime
* HDtime
* HDtzset

HDgettimeofday will be done later
2024-04-07 14:09:23 -07:00
bmribler 81c811b721 Fix links md files (#4239) 2024-03-25 10:54:31 -05:00
mattjala e99b0af7e0 Skip vlen IO API test for cache VOL (#4135)
* Fix cache VOL segfault in vlen io test
* Skip vlen IO API test
2024-03-20 10:50:40 -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
mattjala c3714b9f15 Fix segfault in vlen io API test (#4130) 2024-03-13 14:55:51 -05:00
mattjala 64a0b71c86 Close and reopen file during dset vlen IO API tests (#4050)
- Close/reopen file and file objects to prevent cache from being used instead of actual I/O.
- Moved vlen io test datasets under the dset container group instead of the root group
- Moved the PASSED() invocation to after individual test cleanup in case an error occurs during H5Treclaim
2024-03-07 09:07:05 -08:00
mattjala 8276bdbe09 Fix VOL-compatibility issues in External Link API test (#4039)
Fix link API tests with incorrect filename
2024-03-04 06:52:44 -08:00
mattjala b79982a606 Fix allocating too much memory in dset API test (#4041) 2024-02-26 14:27:51 -06:00
mattjala 0f56048a04 Test vlen sequence IO in API tests (#4027) 2024-02-21 13:52:39 -06:00
mattjala 4023fbcfbb Add compound subset ops on attributes to API tests (#4005)
* Add partial compound io on attributes to API tests
2024-02-14 11:15:01 -06:00
Sean McBride f309fcebbd Issue #1824: Replaced most remaining sprintf with safer snprint (#4003) 2024-02-13 08:22:17 -06:00
jhendersonHDF 33bb1970b8 Fix build issue and some warnings in H5_api_dataset_test.c (#3998) 2024-02-09 11:05:54 -06:00
mattjala 824bbf5cbe Sync API tests with vol-tests (#3940) 2024-02-06 14:57:50 -06:00
mattjala 853a7c6c9c Fix potential infinite loop in API test (#3960) 2024-01-25 08:57:31 -08:00
mattjala 3d39b85952 Add H5Dread/write_multi to API tests (#3919) 2024-01-05 20:44:27 -06:00
Lori Cooper 2f23f2afe6 Some changes to portal links when they could be found on docs.hdfgroup.org, and changed the helpdesk link to help.hdfgroup.org (#3893)
* Updated some portal links to go directly to docs.hdfgroup. 

* Fixed some portal and help desk links
2023-12-12 22:21:15 -06:00
jhendersonHDF a067bf71f5 Fix configuration issue due to possibly empty CMake variable (#3869) 2023-11-24 06:20:59 -06:00
Allen Byrne 3ea21ccb3e Add HDF5_DISABLE_TESTS_REGEX option to skip tests (#3859) 2023-11-22 07:51:30 -06:00
jhendersonHDF c779464bfe Add GitHub actions for testing VOL connectors (#3849)
* Fix issue with HDF5_VOL_ALLOW_EXTERNAL CMake variable

* Add initial API test workflow

* Initialize parallel testing with MPI_THREAD_MULTIPLE when testing API

* Add CMake variable to allow specifying a VOL connector's package name

* Remove call to MPI_Init in serial API tests

While previously necessary, it now interferes with VOL connectors that
may need to be initialized with MPI_THREAD_MULTIPLE
2023-11-15 08:20:50 -06:00
jhendersonHDF 28d2b6771f HDF5 API test updates (#3835)
* HDF5 API test updates

Removed test duplication from bringing API tests
back into the library from external VOL tests
repo

Synced changes between API tests and library's
tests

Updated API tests CMake code to directly use and
install testhdf5, testphdf5, etc. instead of
creating duplicate binaries

Added new h5_using_native_vol() test function to
determine whether the VOL connector being used
is (or the VOL connector stack being used resolves
to) the native VOL connector

* Remove duplicate variable
2023-11-13 13:49:38 -06:00
Allen Byrne 7631015ea4 Use real URLs and updated names for plugins (#3651)
* synchronize TGZ naming convention/usage
2023-10-10 09:30:19 -05:00
jhendersonHDF 34fcb9c5a4 Fix several spelling/grammar issues (#3621) 2023-10-03 09:01:28 -07:00
Scot Breitenfeld a87ca572fe Replaces HDgetenv with getenv (#3599) 2023-09-26 13:11:22 -07:00
Dana Robinson 44a00ef876 Strip HD prefix from string/char C API calls (#3540)
* Strip HD prefix from string/char C API calls

* HD(f)(put|get)(s|c)
* HDstr*
* HDv*printf
* HD(s)(print|scan)f
* HDperror

But NOT:

* HDstrcase*
* HDvasprintf
* HDstrtok_r
* HDstrndup

As those are not C99 and have portability work-around
implementations. They will be handled later.

* Fix th5_system.c screwup
2023-09-15 15:13:18 -07:00
Dana Robinson 9208697960 Convert hbool_t --> bool in test (#3494) 2023-09-05 13:11:52 -07:00
Sean McBrideandgithub-actions 07df0d252c Fixes the last of the -Wextra-semi-stmt warnings (#3326)
* Fixed extra semi warning by adjusting alternative macro definitions

* Find-replace H5E_END_TRY; -> H5E_END_TRY

* Made H5Epush_goto a do-while loop, fixed indentation

* Made GOTOERROR and ERRMSG do-while loops

* Made Hgoto_error and Hgoto_done  do-while loops

* Made vrfy_cint_type and vrfy_ctype  do-while loops

* Made TEST_TYPE_CONTIG and others do-while loops

* Removed extraneous semi-colons

* Committing clang-format changes

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-02 17:46:26 -05:00
Larry Knox 0d3617135b Update files to skip list and ignore_words_list (#3321)
* Update files to skip list and ignore_words_list for codespell to not
check files generated by autotools.  Autotools generate misspellings
that can't be fixed in HDF5 code.
2023-08-02 08:39:56 -05:00