diff options
author | Robb Matzke <matzke@llnl.gov> | 1998-01-09 17:49:23 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1998-01-09 17:49:23 (GMT) |
commit | 1063eb8a1ea0cbdbdc4244f0627b94b3096d65ab (patch) | |
tree | bb88c2ea66aebd882d50d7cc2ce258d5e3c51c44 /test | |
parent | 159fa7a232e1961940b83f035f4c27338d26337e (diff) | |
download | hdf5-1063eb8a1ea0cbdbdc4244f0627b94b3096d65ab.zip hdf5-1063eb8a1ea0cbdbdc4244f0627b94b3096d65ab.tar.gz hdf5-1063eb8a1ea0cbdbdc4244f0627b94b3096d65ab.tar.bz2 |
[svn-r152] Changes since 19980107
----------------------
./html/Datatypes.html
Updated to match code.
./src/H5Odtype.c
./src/H5Oprivate.h
./src/H5Tpkg.h
./src/H5detect.c
Changed H5T_FIXED to H5T_INTEGER.
./src/H5T.c
./src/H5Tprivate.h
./src/H5Tpublic.h
./test/dtypes.c
Implemented lots of type properties.
./src/H5detect.c
./src/H5Tpublic.h
It is no longer necessary to call H5init() before using a
predefined data type.
Diffstat (limited to 'test')
-rw-r--r-- | test/dtypes.c | 87 |
1 files changed, 86 insertions, 1 deletions
diff --git a/test/dtypes.c b/test/dtypes.c index 6ff118f..bd180e0 100644 --- a/test/dtypes.c +++ b/test/dtypes.c @@ -11,6 +11,8 @@ #include <stdio.h> #include <unistd.h> +#include <H5Tprivate.h> + #ifndef HAVE_FUNCTION #define __FUNCTION__ "" @@ -18,6 +20,10 @@ #define AT() printf (" at %s:%d in %s()...\n", \ __FILE__, __LINE__, __FUNCTION__); +typedef struct complex_t { + double re; + double im; +} complex_t; /*------------------------------------------------------------------------- @@ -43,7 +49,7 @@ test_classes (void) printf ("%-70s", "Testing H5Tget_class()"); - if (H5T_FIXED!=(type_class=H5Tget_class (H5T_NATIVE_INT))) { + if (H5T_INTEGER!=(type_class=H5Tget_class (H5T_NATIVE_INT))) { puts ("*FAILED*"); if (!isatty (1)) { AT (); @@ -131,6 +137,82 @@ test_copy (void) /*------------------------------------------------------------------------- + * Function: test_compound + * + * Purpose: Tests various things about compound data types. + * + * Return: Success: SUCCEED + * + * Failure: FAIL + * + * Programmer: Robb Matzke + * Wednesday, January 7, 1998 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +static herr_t +test_compound (void) +{ + complex_t tmp; + hid_t complex_id; + herr_t status; + + printf ("%-70s", "Testing compound data types"); + + /* Create the empty type */ + complex_id = H5Tcreate (H5T_COMPOUND, sizeof tmp); + if (complex_id<0) { + puts ("*FAILED*"); + if (!isatty (1)) { + AT (); + printf (" Cannot create empty compound data type.\n"); + } + goto error; + } + + /* Add a coupld fields */ + status = H5Tinsert (complex_id, "real", HOFFSET (tmp, re), + H5T_NATIVE_DOUBLE); + if (status<0) { + puts ("*FAILED*"); + if (!isatty (1)) { + AT (); + printf (" Cannot insert real component.\n"); + } + goto error; + } + + status = H5Tinsert (complex_id, "imaginary", HOFFSET (tmp, im), + H5T_NATIVE_DOUBLE); + if (status<0) { + puts ("*FAILED*"); + if (!isatty (1)) { + AT (); + printf (" Cannot insert imaginary component.\n"); + } + goto error; + } + + puts (" PASSED"); + + /* Just for debugging... */ + H5T_debug (H5Aatom_object (complex_id), stdout); + printf ("\n"); + + + return SUCCEED; + + error: + return FAIL; +} + + + + + +/*------------------------------------------------------------------------- * Function: main * * Purpose: Test the data type interface. @@ -159,6 +241,9 @@ main (void) status = test_copy (); nerrors += status<0 ? 1 : 0; + + status = test_compound (); + nerrors += status<0 ? 1 : 0; if (nerrors) { |