Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement support for complex number datatypes #4630

Merged
merged 4 commits into from
Oct 31, 2024

Commits on Oct 29, 2024

  1. 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.
    jhendersonHDF committed Oct 29, 2024
    Configuration menu
    Copy the full SHA
    01e3163 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    abf35b5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d815e2b View commit details
    Browse the repository at this point in the history
  4. Post-rebase fixes

    jhendersonHDF committed Oct 29, 2024
    Configuration menu
    Copy the full SHA
    d5746cc View commit details
    Browse the repository at this point in the history