summaryrefslogtreecommitdiffstats
path: root/src/H5Tpublic.h
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1998-06-12 17:31:06 (GMT)
committerRobb Matzke <matzke@llnl.gov>1998-06-12 17:31:06 (GMT)
commitdd58a3ec29a061f42609669ff633c0763f834af9 (patch)
tree82c95ae74cc9730a1920862f183cd98f8371e0f5 /src/H5Tpublic.h
parent674198fcc7454b962670010b0e3b120fa792f216 (diff)
downloadhdf5-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.h44
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
}