diff options
author | Robb Matzke <matzke@llnl.gov> | 1998-06-12 17:31:06 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1998-06-12 17:31:06 (GMT) |
commit | dd58a3ec29a061f42609669ff633c0763f834af9 (patch) | |
tree | 82c95ae74cc9730a1920862f183cd98f8371e0f5 /src/H5Tpublic.h | |
parent | 674198fcc7454b962670010b0e3b120fa792f216 (diff) | |
download | hdf5-dd58a3ec29a061f42609669ff633c0763f834af9.zip hdf5-dd58a3ec29a061f42609669ff633c0763f834af9.tar.gz hdf5-dd58a3ec29a061f42609669ff633c0763f834af9.tar.bz2 |
[svn-r425] Changes since 19980610
----------------------
THIS CHECKIN IS FOR QUINCEY -- NOT EVERYTHING WORKS (but it compiles)
MOST OF THE CHANGES ARE FOR BETTER TYPE CONVERSION IN THE NEXT ALPHA
./MANIFEST
./src/H5Tbit.c NEW
./src/Makefile.in
Bit vector operations (not done yet)
./configure.in
Added -lm to the library list, needed by bit-vector operations
and conversion functions.
Removed vestiges of PARALLEL_SRC no longer used by the
makefiles. Albert came up with a better way (that actually
works :-)
./src/H5D.c
No code changes. Split a couple of long lines, refilled a
couple multi-line comments.
./src/H5T.c
./src/H5Tpublic.h
Fixed a bug reported by Jim Reus regarding conversion of
compound data types whose members require conversions which
are satisfied by as-yet unregistered soft conversion
functions.
Added H5T_IEEE architecture, but the funny-looking integer
types will be changed to H5T_BE_ and H5T_LE_ architectures
with the type names changed to match the H5T_NATIVE_ integers.
Added an H5Tconvert() but it hasn't been documented or tested
yet.
./src/H5Tconv.c
./src/H5Tpkg.h
Registered conversion functions integer->integer (a general
case) and integer->float (for a specific case). The
integer->integer conversion depends on the bitvector
operations which aren't finished yet and the int->float
conversion hasn't been retested since it was borrowed from
AIO. Don't look at them yet, they're ugly :-)
./src/H5detect.c
Fixed a typo which caused the msb_pad field of an atomic type
to not be initialized.
./test/dtypes.c
Added a test for number conversions but it's commented out
until the conversion stuff is truly working.
Diffstat (limited to 'src/H5Tpublic.h')
-rw-r--r-- | src/H5Tpublic.h | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/src/H5Tpublic.h b/src/H5Tpublic.h index 1d7885a..bc1d9bd 100644 --- a/src/H5Tpublic.h +++ b/src/H5Tpublic.h @@ -119,7 +119,7 @@ typedef struct H5T_cdata_t { typedef herr_t (*H5T_conv_t) (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, void *buf, void *bkg); -/* The predefined types */ +/* The predefined native types */ #define H5T_NATIVE_CHAR (H5open(), H5T_NATIVE_CHAR_g) #define H5T_NATIVE_UCHAR (H5open(), H5T_NATIVE_UCHAR_g) #define H5T_NATIVE_SHORT (H5open(), H5T_NATIVE_SHORT_g) @@ -147,9 +147,29 @@ typedef herr_t (*H5T_conv_t) (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, #define H5T_NATIVE_BITFIELD (H5open(), H5T_NATIVE_BITFIELD_g) #define H5T_NATIVE_OPAQUE (H5open(), H5T_NATIVE_OPAQUE_g) +/* The predefined standard types */ +#define H5T_IEEE_R32LE (H5open(), H5T_IEEE_R32LE_g) +#define H5T_IEEE_R32BE (H5open(), H5T_IEEE_R32BE_g) +#define H5T_IEEE_R64LE (H5open(), H5T_IEEE_R64LE_g) +#define H5T_IEEE_R64BE (H5open(), H5T_IEEE_R64BE_g) +#define H5T_IEEE_U16LE (H5open(), H5T_IEEE_U16LE_g) +#define H5T_IEEE_U16BE (H5open(), H5T_IEEE_U16BE_g) +#define H5T_IEEE_U32LE (H5open(), H5T_IEEE_U32LE_g) +#define H5T_IEEE_U32BE (H5open(), H5T_IEEE_U32BE_g) +#define H5T_IEEE_U64LE (H5open(), H5T_IEEE_U64LE_g) +#define H5T_IEEE_U64BE (H5open(), H5T_IEEE_U64BE_g) +#define H5T_IEEE_S16LE (H5open(), H5T_IEEE_S16LE_g) +#define H5T_IEEE_S16BE (H5open(), H5T_IEEE_S16BE_g) +#define H5T_IEEE_S32LE (H5open(), H5T_IEEE_S32LE_g) +#define H5T_IEEE_S32BE (H5open(), H5T_IEEE_S32BE_g) +#define H5T_IEEE_S64LE (H5open(), H5T_IEEE_S64LE_g) +#define H5T_IEEE_S64BE (H5open(), H5T_IEEE_S64BE_g) + #ifdef __cplusplus extern "C" { #endif + +/* Native types */ extern hid_t H5T_NATIVE_CHAR_g; extern hid_t H5T_NATIVE_UCHAR_g; extern hid_t H5T_NATIVE_SHORT_g; @@ -177,6 +197,26 @@ extern hid_t H5T_NATIVE_STRING_g; extern hid_t H5T_NATIVE_BITFIELD_g; extern hid_t H5T_NATIVE_OPAQUE_g; +/* Standard types */ +extern hid_t H5T_IEEE_R32LE_g; /*IEEE 4-byte little-endian float */ +extern hid_t H5T_IEEE_R32BE_g; /*IEEE 4-byte big-endian float */ +extern hid_t H5T_IEEE_R64LE_g; /*IEEE 8-byte little-endian float */ +extern hid_t H5T_IEEE_R64BE_g; /*IEEE 8-byte big endian float */ +extern hid_t H5T_IEEE_U16LE_g; /*IEEE 2-byte little-endian unsigned int */ +extern hid_t H5T_IEEE_U16BE_g; /*IEEE 2-byte big-endian unsigned int */ +extern hid_t H5T_IEEE_U32LE_g; /*IEEE 4-byte little-endian unsigned int */ +extern hid_t H5T_IEEE_U32BE_g; /*IEEE 4-byte big-endian unsigned int */ +extern hid_t H5T_IEEE_U64LE_g; /*IEEE 8-byte little-endian unsigned int */ +extern hid_t H5T_IEEE_U64BE_g; /*IEEE 8-byte big-endian unsigned int */ +extern hid_t H5T_IEEE_S16LE_g; /*IEEE 2-byte little-endian signed int */ +extern hid_t H5T_IEEE_S16BE_g; /*IEEE 2-byte big-endian signed int */ +extern hid_t H5T_IEEE_S32LE_g; /*IEEE 4-byte little-endian signed int */ +extern hid_t H5T_IEEE_S32BE_g; /*IEEE 4-byte big-endian signed int */ +extern hid_t H5T_IEEE_S64LE_g; /*IEEE 8-byte little-endian signed int */ +extern hid_t H5T_IEEE_S64BE_g; /*IEEE 8-byte big-endian signed int */ + + + /* Operations defined on all data types */ hid_t H5Topen (hid_t loc_id, const char *name); hid_t H5Tcreate (H5T_class_t type, size_t size); @@ -238,6 +278,8 @@ herr_t H5Tregister_soft (const char *name, H5T_class_t src, H5T_class_t dst, H5T_conv_t func); herr_t H5Tunregister (H5T_conv_t func); H5T_conv_t H5Tfind (hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata); +herr_t H5Tconvert (hid_t src_id, hid_t dst_id, size_t nelmts, void *buf, + void *background); #ifdef __cplusplus } |