aboutsummaryrefslogtreecommitdiff
path: root/src/Startup.c
diff options
context:
space:
mode:
authortradke <tradke@7842ec3a-9562-4be5-9c5b-06ba18f2b668>2000-11-29 01:06:32 +0000
committertradke <tradke@7842ec3a-9562-4be5-9c5b-06ba18f2b668>2000-11-29 01:06:32 +0000
commitead65aead64cf2462b1b5a2ed74c253edd778fa8 (patch)
tree4adefe145151c4ffed81cc599b3f03d43e688454 /src/Startup.c
parent30a89a83ee0310ee2cb68c26324a1ec62611b151 (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.c21
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));