summaryrefslogtreecommitdiffstats
path: root/testpar/testphdf5.h
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>1998-07-01 22:10:04 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>1998-07-01 22:10:04 (GMT)
commitbd93fcc27473748cf3533a4d7b2468cb6862b825 (patch)
treebaf5bc0afc5e33df1686f92602637de0ff016d4c /testpar/testphdf5.h
parenta9b794a0127c5b523ca7adb571961da36a9ecf3f (diff)
downloadhdf5-bd93fcc27473748cf3533a4d7b2468cb6862b825.zip
hdf5-bd93fcc27473748cf3533a4d7b2468cb6862b825.tar.gz
hdf5-bd93fcc27473748cf3533a4d7b2468cb6862b825.tar.bz2
[svn-r440] Header file for the PHDF5 tests. (forgot to add it last time.)
Diffstat (limited to 'testpar/testphdf5.h')
-rw-r--r--testpar/testphdf5.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/testpar/testphdf5.h b/testpar/testphdf5.h
new file mode 100644
index 0000000..352a96a
--- /dev/null
+++ b/testpar/testphdf5.h
@@ -0,0 +1,67 @@
+/* $Id$ */
+
+#ifndef PHDF5TEST_H
+#define PHDF5TEST_H
+
+#include <assert.h>
+#include <hdf5.h>
+#include <H5private.h>
+#include <mpi.h>
+#include <mpio.h>
+
+/* Define some handy debugging shorthands, routines, ... */
+/* debugging tools */
+
+#define MESG(x) \
+ if (verbose) printf("%s\n", x); \
+
+#define VRFY(val, mesg) do { \
+ if (val) { \
+ if (*mesg != '\0'){ \
+ MESG(mesg); \
+ } \
+ } \
+ else{ \
+ printf("*** Assertion failed (%s) at line %4d in %s\n", \
+ mesg, (int)__LINE__, __FILE__); \
+ nerrors++; \
+ H5Eprint (stdout); \
+ if (!verbose) exit(nerrors); \
+ } \
+ H5Eclear(); \
+} while(0)
+
+#define MPI_BANNER(mesg)\
+ {printf("--------------------------------\n");\
+ printf("Proc %d: ", mpi_rank); \
+ printf("*** %s\n", mesg);\
+ printf("--------------------------------\n");}
+
+#define MAINPROCESS (!mpi_rank) /* define process 0 as main process */
+
+#define SYNC(comm)\
+ {MPI_BANNER("doing a SYNC"); MPI_Barrier(comm); MPI_BANNER("SYNC DONE");}
+/* End of Define some handy debugging shorthands, routines, ... */
+
+/* Constants definitions */
+/* DIM1 and DIM2 must be multiples of mpi-sizes to be used. */
+/* E.g. 24, a multiple of 2, 3, 4, 6, 8, 12, would be a good choice. */
+#define DIM1 12
+#define DIM2 12
+#define RANK 2
+#define DATASETNAME1 "Data1"
+#define DATASETNAME2 "Data2"
+#define DATASETNAME3 "Data3"
+/* hyperslab layout styles */
+#define BYROW 1 /* divide into slabs of rows */
+#define BYCOL 2 /* divide into blocks of columns */
+
+
+/* dataset data type. Int's can be easily octo dumped. */
+typedef int DATATYPE;
+
+/* shared global variables */
+extern int nerrors; /* errors count */
+extern int verbose; /* verbose, default as no. */
+
+#endif /* PHDF5TEST_H */