diff options
author | tradke <tradke@7842ec3a-9562-4be5-9c5b-06ba18f2b668> | 2000-11-29 01:06:32 +0000 |
---|---|---|
committer | tradke <tradke@7842ec3a-9562-4be5-9c5b-06ba18f2b668> | 2000-11-29 01:06:32 +0000 |
commit | ead65aead64cf2462b1b5a2ed74c253edd778fa8 (patch) | |
tree | 4adefe145151c4ffed81cc599b3f03d43e688454 /src/Startup.c | |
parent | 30a89a83ee0310ee2cb68c26324a1ec62611b151 (diff) |
Added new HDF5 compound datatype for outputting CCTK_COMPLEX8 datatypes.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGHIO/IOHDF5Util/trunk@12 7842ec3a-9562-4be5-9c5b-06ba18f2b668
Diffstat (limited to 'src/Startup.c')
-rw-r--r-- | src/Startup.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/Startup.c b/src/Startup.c index f9a351b..cf3e1bf 100644 --- a/src/Startup.c +++ b/src/Startup.c @@ -16,7 +16,9 @@ #include "ioHDF5UtilGH.h" -/* local function prototypes */ +/* prototypes of routines defined in this source file */ +void IOHDF5Util_Startup (void); +void IOHDF5Util_Terminate (cGH *GH); static void *IOHDF5Util_SetupGH (tFleshConfig *config, int convergence_level, cGH *GH); @@ -92,6 +94,10 @@ void IOHDF5Util_Terminate (cGH *GH) { IOHDF5_ERROR (H5Tclose (myGH->IOHDF5_COMPLEX)); } + if (myGH->IOHDF5_COMPLEX8 >= 0) + { + IOHDF5_ERROR (H5Tclose (myGH->IOHDF5_COMPLEX8)); + } if (myGH->IOHDF5_STRING >= 0) { IOHDF5_ERROR (H5Tclose (myGH->IOHDF5_STRING)); @@ -124,6 +130,11 @@ static void *IOHDF5Util_SetupGH (tFleshConfig *config, ioHDF5UtilGH *myGH; + /* suppress compiler warnings about unused variables */ + config = config; + convergence_level = convergence_level; + GH = GH; + myGH = (ioHDF5UtilGH *) malloc (sizeof (ioHDF5UtilGH)); /* save the original error printing routine and its argument */ @@ -134,13 +145,19 @@ static void *IOHDF5Util_SetupGH (tFleshConfig *config, IOHDF5_ERROR (myGH->scalar_dataspace = H5Screate (H5S_SCALAR)); IOHDF5_ERROR (myGH->array_dataspace = H5Screate (H5S_SIMPLE)); - /* predefine a IOHDF5_COMPLEX datatype */ + /* predefine IOHDF5_COMPLEX datatypes */ IOHDF5_ERROR (myGH->IOHDF5_COMPLEX = H5Tcreate (H5T_COMPOUND, sizeof (CCTK_COMPLEX))); IOHDF5_ERROR (H5Tinsert (myGH->IOHDF5_COMPLEX, "real", offsetof (CCTK_COMPLEX, Re), IOHDF5_REAL)); IOHDF5_ERROR (H5Tinsert (myGH->IOHDF5_COMPLEX, "imag", offsetof (CCTK_COMPLEX, Im), IOHDF5_REAL)); + IOHDF5_ERROR (myGH->IOHDF5_COMPLEX8 = + H5Tcreate (H5T_COMPOUND, sizeof (CCTK_COMPLEX8))); + IOHDF5_ERROR (H5Tinsert (myGH->IOHDF5_COMPLEX8, "real", + offsetof (CCTK_COMPLEX8, Re), IOHDF5_REAL4)); + IOHDF5_ERROR (H5Tinsert (myGH->IOHDF5_COMPLEX8, "imag", + offsetof (CCTK_COMPLEX8, Im), IOHDF5_REAL4)); /* predefine a C string datatype */ IOHDF5_ERROR (myGH->IOHDF5_STRING = H5Tcopy (H5T_C_S1)); |