Commit Graph

1869 Commits

Author SHA1 Message Date
Scot Breitenfeld
980117be30
removed link creation related c-wrappers (#5190) 2024-12-31 12:31:03 -06:00
H. Joe Lee
cd7682cd18
Remove CMake-3.31.0 warnings (#5091) 2024-11-19 13:09:31 -06:00
Scot Breitenfeld
35df4fb6a6
Fix parsing error of h(p)*c wrappers (#5060)
Add quotes to correctly handle whitespace.
2024-11-02 12:40:07 -07: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
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
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
Scot Breitenfeld
610648efd2
The h5(p)*c parser retains escaped whitespace character (#4967) 2024-10-18 09:03:42 -07:00
Scot Breitenfeld
ad307bf61f
Updated hyperslab documentation (#4965)
* corrected Fortran docs for hyperslab selection

* updated hyperslab op doc
2024-10-17 09:17:20 -07:00
Scot Breitenfeld
6b43197b08
Fixed data typing errors discovered by promoting integers and reals. (#4947) 2024-10-11 16:18:48 -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
Quincey Koziol
767282f68a
VOL refactor and cleanup (#4856)
Cleanup and prepare for thread-safety changes.

Big ideas:

* Wrap H5VL_class_t with H5VL_connector_t, so use of the class can be refcounted within the H5VL package, instead of relying on storing an ID within the H5VL_t struct and incrementing & decrementing the ID's refcount.
* Register H5VL_connector_t* for VOL connector IDs, instead of the H5VL_class_t*
* Stop other packages from rummaging around inside H5VL_connector_t and H5VL_object_t data structures, so that the H5VL package can change implementation details without coupled changes throughout the library

Small things:

* Simplified the coding for creating links
* Moved some routines into more logical locations
2024-10-03 12:19:33 -07:00
Allen Byrne
d2faa1bf50 Correct size of array 2024-10-02 19:53:38 -05:00
Allen Byrne
07756c87f5 Update develop to 1.18 API 2024-10-02 19:53:38 -05:00
Larry Knox
405d1b91d9
Update h5fc.in missed line for libhdf5hl_fortran filename change to libhdf5_hl_fortran. (#4831)
* Change name of libhdf5hl_fortran installed by autotools to libhdf5_hl_fortran to be
consistent with CMake install and with other hl lib files.  Switched
corresponding symlink to libhdf5hl_fortran.
Fixes issue #4684.

* Update h5fc.in to use renamed libhdf5_hl_fortran.
Fix typo in code to create link to libhdf5_hl_fortran.a.

* Removed code to create symlink for previous name of renamed lib
libhdf5hl_fortran.
Add RELEASE.txt entry about changeing name libhdf5hl_fortran to
libhdf5_hl_fortran.

* Update missed line in h5fc.in for libhdf5hl_fortran name change to
libhdf5_hl_fortran.  Fixes check-install failure.
2024-09-16 10:53:33 -07:00
Larry Knox
baa04393fb
Change name of libhdf5hl_fortran installed by autotools (#4811)
* Change name of libhdf5hl_fortran installed by autotools to libhdf5_hl_fortran to be
consistent with CMake install and with other hl lib files.  Switched
corresponding symlink to libhdf5hl_fortran.
Fixes issue #4684.

* Update h5fc.in to use renamed libhdf5_hl_fortran.
Fix typo in code to create link to libhdf5_hl_fortran.a.

* Removed code to create symlink for previous name of renamed lib
libhdf5hl_fortran.
Add RELEASE.txt entry about changeing name libhdf5hl_fortran to
libhdf5_hl_fortran.
2024-09-07 10:27:33 -07:00
bmribler
d875f749e5
Add tests for H5R get name APIs (#4657)
Added functionality tests for the following APIs:
H5Rget_file_name
H5Rget_obj_name
H5Rget_attr_name

Also removed "+1" when returning a name length in H5R__get_attr_name().
The exter "+1" gave an incorrect value for the length of the referenced
object's attribute name.

Fixed GH-4447

* Fix Fortran test

The C API H5Rget_attr_name incorrectly added 1 to the length of the
referenced object's attribute name, so the Fortran API h5rget_attr_name_f
removed 1 from the returned value to accommodate the incorrectness.
This PR fixes H5Rget_attr_name so this workaround in h5rget_attr_name_f
is no longer needed.

* Add test H5Aget_name against H5Rget_attr_name
2024-08-12 09:40:48 -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
e71605966a
Update doxygen Learn Basics / example refs. Add Reference sections (#4640) 2024-07-15 22:02:08 -05:00
Dana Robinson
9b5d9680af
Clean up Fortran __float128 configure-time checks (#4649)
* Always use DECIMAL_DIG instead of LDBL_DIG. This was controlled by
  an ifdef that is always true in C99 or greater

It's confusing to use float.h C constants as variable names in
configure.ac and the PAC_FC_LDBL_DIG macro.

* Directly compare MY_FLT128_DIG and MY_LDBL_DIG

* Make uniform across CMake and Autotools
* Don't export quadmath.h variables to H5pubconf.h
2024-07-15 07:38:13 -05:00
Scot Breitenfeld
96acf6c739
corrected offset type in C wrapper (#4622) 2024-07-05 12:39:43 -07:00
jhendersonHDF
773831f3cb
Add H5F_LIBVER_V116 to internal library version structures (#4619)
Also add H5F_LIBVER_V116 flag to Fortran wrappers
2024-07-02 09:26:05 -05:00
Allen Byrne
bf843c54f0
Fix Fortran pkconfig to indicate full path of modules (#4593) 2024-06-27 13:36:20 -05:00
Allen Byrne
dca6370691
Move C++ and Fortran and examples to HDF5Examples folder (#4552) 2024-06-08 06:46:09 -05:00
Allen Byrne
162e7d676d
Allow HDF5_LIB_INFIX to work with DLL (#4500)
* Allow HDF5_LIB_INFIX to work with DLL

* Separate individual library name into parts and add suffix option

* Java cannot use alternative names and removed extra setting

* Incorporate the underscore into the CORE name
2024-05-28 08:27:15 -07:00
Scot Breitenfeld
fe0df13115
Add H5fortkit dependecy for H5Rff.F90 (#4482) 2024-05-14 11:10:43 -05:00
Julien Schueller
239d2f849d
CMake: Fix mingw/fortran build (#4466) 2024-05-10 12:33:55 -05:00
Scot Breitenfeld
dfc6295c1d
Fixed failures with xl compilers. (#4458)
* type cast constant

* fixed return types
2024-05-02 15:33:20 -05:00
Scot Breitenfeld
abf8b01f55
H5R Fortran wrappers and misc. H5R API/DOC updates (#4446)
- Add Fortran H5R APIs:
      h5rcreate_attr_f, h5rcreate_object_f, h5rcreate_region_f,
      h5ropen_attr_f, h5ropen_object_f, h5ropen_region_f,
      h5rget_file_name_f, h5rget_attr_name_f, h5rget_obj_name_f,
      h5rcopy_f, h5requal_f, h5rdestroy_f, h5rget_type_f

    - Fixed function H5Requal actually to compare the reference pointers

      Fixed an issue with H5Requal always returning true because the
      function was only comparing the ref2_ptr to itself.
2024-05-01 05:39:01 -07:00
bmribler
84fac90ce8
Correct the high-level library link (#4398)
* Correct the high-level library link

The link currently used points to 1.13 release.  Changed to use the md file instead.

* Update Doxyfile for md files

* Update to include md files
2024-04-12 12:37:15 -07:00
Scot Breitenfeld
527ab8c2fd
Removed duplicate entries in compile line for h5* compiler wrappers (#4360)
* h5fc remove duplicate args
* h5 wrappers remove duplicate args
2024-04-09 17:01:00 -07:00
Scot Breitenfeld
f6ae241032
Addresses configuration fortran testing flags (#4276)
* turn warnings to errors in fortran configure test

* Intel fortran test fix
2024-03-28 16:55:32 -05:00
Scot Breitenfeld
df9d2eafab
MPI type correction (#4268)
* corrected type for MPI_*_f2c APIs

* fixed return type of callback

* reset compilation flags of logical test program
2024-03-27 22:20:25 -05:00
H. Joe Lee
ce3784de25
Replace user-define with user-defined (#4261) 2024-03-27 13:55:44 -07:00
Scot Breitenfeld
724eaaf618
Determine MPI LOGICAL during build, used in tests. (#4246) 2024-03-26 09:05:51 -07:00
Scot Breitenfeld
6837fe5bc8
Addressed Fortran issues with promoted integers and reals via compilation flags, part 2 (#4221)
* addressed issue wit promoted integers and reals

* fixed h5fcreate_f

* added option to use mpi_f08

* change the kind of logical in the parallel tests

* addressed missing return value from callback
2024-03-25 07:42:03 -05:00
Scot Breitenfeld
c1a56f432e
Revert "Addressed Fortran issues with promoted integers and reals via compil…" (#4220)
This reverts commit 06c42ff038.
2024-03-23 07:16:43 -07:00
Scot Breitenfeld
06c42ff038
Addressed Fortran issues with promoted integers and reals via compilation flags (#4209)
* addressed issue wit promoted integers and reals

* added option to use mpi_f08
2024-03-22 11:52:58 -05:00
Scot Breitenfeld
8621663b99
Reworked H5Epush_f (#4153) 2024-03-19 04:59:32 -07:00
Scot Breitenfeld
e913eee81c
defined CMAKE_H5_HAVE_DARWIN (#4146) 2024-03-15 10:05:14 -07:00
Scot Breitenfeld
ece121b415
Fixed misc. H5E fortran failures due to previous PR (#4138)
* fixed promotion of integers and reals tests and check-passthrough-vol failure

* fixed cygwin issue
2024-03-15 07:37:22 -05:00
Jouke Witteveen
cfb1c798b9
Don't set the rpath when linking statically (#4125) 2024-03-13 08:03:21 -07:00
Dana Robinson
0ea1d7280b
Clean up off_t usage (#4095)
* Add comments to C++ and Fortran API calls that use off_t
* Remove noise casts for small integers
2024-03-09 09:06:10 -08:00
Scot Breitenfeld
f22f538ab7
fixes compilation failures due to H5E additions (#4090) 2024-03-08 10:57:05 -08:00
Scot Breitenfeld
bc0c42695f
addressed compilation errors with gfortran 4.8 (#4082) 2024-03-07 10:44:14 -08:00
Scot Breitenfeld
9d8e882496
Added new H5E with tests. (#4049)
Added Fortran H5E APIs:
h5eregister_class_f, h5eunregister_class_f, h5ecreate_msg_f, h5eclose_msg_f
h5eget_msg_f, h5epush_f, h5eget_num_f, h5ewalk_f, h5eget_class_name_f,
h5eappend_stack_f, h5eget_current_stack_f, h5eset_current_stack_f, h5ecreate_stack_f,
h5eclose_stack_f, h5epop_f, h5eprint_f (C h5eprint v2 signature)

Addresses Issue #3987
2024-03-07 03:34:55 -08:00
Allen Byrne
0be892585a
Rename incorrectly named option (#4067)
* Rename incorrectly named option

* Restore the correct uses of USING_MEMCHECKER

* Update release note
2024-03-05 09:07:16 -08:00
Scot Breitenfeld
e7f41a2fbf
Fix the datatype passed to H5*exists_async APIs in tests. (#4033)
Add a new testing function to verify C_BOOL values.
2024-02-23 07:57:30 -06:00
Scot Breitenfeld
9c327bc616
append '-WF,' when passing C preprocessor directives to the xlf compiler (#3976)
* append '-WF,' when passing C preprocessor directives to the xlf compiler

* strip path from compiler name
2024-01-31 23:04:43 -06:00
Scot Breitenfeld
3a3501df2d
h5 compiler wrappers now pass all arguments passed to it to the compile line (#3954)
* The issue was that the "allargs" variable was not being used in the final command of the compiler wrapper. Any entries containing an escaped quote (\", \') or other non-matching argument (*) would not be passed to the compile line. I have fixed this problem by ensuring all arguments passed to the compiler wrapper are now included in the compile line.

* added testing for compiler wrappers
2024-01-30 12:20:58 -06:00
Scot Breitenfeld
791915e92a
Fixed XL and gfortran errors (#3968)
* fixed XL and Gfortran errors

* fixed data type len array
2024-01-30 09:05:20 -08:00