summaryrefslogtreecommitdiffstats
path: root/tools/h5dump/h5dumpgentest.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/h5dump/h5dumpgentest.c')
-rw-r--r--tools/h5dump/h5dumpgentest.c177
1 files changed, 111 insertions, 66 deletions
diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c
index 80051d4..668e3f7 100644
--- a/tools/h5dump/h5dumpgentest.c
+++ b/tools/h5dump/h5dumpgentest.c
@@ -110,6 +110,7 @@
#define FILE78 "tscalarintattrsize.h5"
#define FILE79 "tintsattrs.h5"
#define FILE80 "tbitnopaque.h5"
+#define FILE81 "tints4dims.h5"
/*-------------------------------------------------------------------------
* prototypes
@@ -271,20 +272,20 @@ typedef struct s1_t {
#define THRESHOLD10 10 /* Free space section threshold */
/* "FILE66" macros and for FILE69 */
-#define F66_XDIM 8
+#define F66_XDIM 8
#define F66_DATASETU08 "DU08BITS"
#define F66_DATASETS08 "DS08BITS"
-#define F66_YDIM8 8
+#define F66_YDIM8 8
#define F66_DATASETU16 "DU16BITS"
#define F66_DATASETS16 "DS16BITS"
-#define F66_YDIM16 16
+#define F66_YDIM16 16
#define F66_DATASETU32 "DU32BITS"
#define F66_DATASETS32 "DS32BITS"
-#define F66_YDIM32 32
+#define F66_YDIM32 32
#define F66_DATASETU64 "DU64BITS"
#define F66_DATASETS64 "DS64BITS"
#define F66_YDIM64 64
-#define F66_DUMMYDBL "DummyDBL"
+#define F66_DUMMYDBL "DummyDBL"
/* "FILE70" macros and for FILE71 */
/* Name of dataset to create in datafile */
@@ -352,6 +353,13 @@ typedef struct s1_t {
#define F80_DIM32 32
+#define F81_DATASETNAME "FourDimInts"
+#define F81_RANK 4
+#define F81_WDIM 10
+#define F81_XDIM 8
+#define F81_YDIM 6
+#define F81_ZDIM 4
+
static void
gent_group(void)
{
@@ -568,7 +576,7 @@ static void gent_softlink(void)
* Function: gent_softlink2
*
* Purpose: Create soft links to various objects.
- * Return:
+ * Return:
* SUCCEED
* FAIL
* Programmer: Jonathan Kim
@@ -582,7 +590,7 @@ static int gent_softlink2(void)
hid_t gid1 = -1, gid2 = -1;
hid_t datatype = -1;
hid_t dset1 = -1, dset2 = -1;
- hid_t dataspace = -1;
+ hid_t dataspace = -1;
hsize_t dimsf[2]; /* dataset dimensions */
int data1[NX][NY] = {{0,0},{1,1},{2,2},{3,3}};
int data2[NX][NY] = {{0,0},{0,1},{0,2},{3,3}};
@@ -626,7 +634,7 @@ static int gent_softlink2(void)
status = H5Tcommit2(fileid1, "dtype", datatype, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
if (status < 0)
{
- fprintf(stderr, "Error: %s> H5Tcommit2 failed.\n", FILE4_1);
+ fprintf(stderr, "Error: %s> H5Tcommit2 failed.\n", FILE4_1);
status = FAIL;
goto out;
}
@@ -2896,9 +2904,9 @@ static void gent_vldatatypes5(void)
}
/* This is big enough to make h5dump to use hyperslap to read
- from file and display portion by portion. This also prints out array indices
+ from file and display portion by portion. This also prints out array indices
via region reference for testing refion reference output.
- Note: this was added originally prepared for bug2092. before the fix h5dump didn't
+ Note: this was added originally prepared for bug2092. before the fix h5dump didn't
display array indices every 262 x N (N > 0) based on 2000x1000 dims.
*/
#define SPACE_ARRAY1BIG_DIM 2000
@@ -2945,7 +2953,7 @@ static void gent_array1_big(void)
fid1 = H5Fcreate(FILE25_BIG, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*-------------------------
- * Array type dataset
+ * Array type dataset
*/
/* Create dataspace for datasets */
sid1 = H5Screate_simple(SPACE1_RANK, sdims1, NULL);
@@ -2961,7 +2969,7 @@ static void gent_array1_big(void)
HDassert(ret >= 0);
/*---------------------------
- * Region Reference dataset
+ * Region Reference dataset
*/
/* Create dataspace for the reference dataset */
sid2 = H5Screate_simple(SPACE1_RANK, dims2, NULL);
@@ -5210,7 +5218,7 @@ static void gent_zero_dim_size(void)
space = H5Screate_simple(SPACE3_RANK, dims1, NULL);
/* dataset */
- dataset = H5Dcreate2(fid, "dset of 0 dimension size", H5T_STD_I32BE, space, H5P_DEFAULT,
+ dataset = H5Dcreate2(fid, "dset of 0 dimension size", H5T_STD_I32BE, space, H5P_DEFAULT,
H5P_DEFAULT, H5P_DEFAULT);
/* nothing should be written */
H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &dset_buf);
@@ -7064,7 +7072,7 @@ gent_packedbits(void)
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate2(fid, F66_DATASETU16, H5T_STD_U16LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- valu16bits = (uint16_t) ~0u; /* all 1s */
+ valu16bits = (uint16_t) ~0u; /* all 1s */
for(i = 0; i < dims[0]; i++){
dsetu16[i][0] = valu16bits;
for(j = 1; j < dims[1]; j++)
@@ -7081,7 +7089,7 @@ gent_packedbits(void)
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate2(fid, F66_DATASETU32, H5T_STD_U32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- valu32bits = (uint32_t) ~0u; /* all 1s */
+ valu32bits = (uint32_t) ~0u; /* all 1s */
for(i = 0; i < dims[0]; i++){
dsetu32[i][0] = valu32bits;
for(j = 1; j < dims[1]; j++)
@@ -7115,7 +7123,7 @@ gent_packedbits(void)
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate2(fid, F66_DATASETS08, H5T_STD_I8LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- val8bits = (int8_t) ~0; /* all 1s */
+ val8bits = (int8_t) ~0; /* all 1s */
for(i = 0; i < dims[0]; i++){
dset8[i][0] = val8bits;
for(j = 1; j < dims[1]; j++)
@@ -7132,7 +7140,7 @@ gent_packedbits(void)
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate2(fid, F66_DATASETS16, H5T_STD_I16LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- val16bits = (int16_t) ~0; /* all 1s */
+ val16bits = (int16_t) ~0; /* all 1s */
for(i = 0; i < dims[0]; i++){
dset16[i][0] = val16bits;
for(j = 1; j < dims[1]; j++)
@@ -7149,7 +7157,7 @@ gent_packedbits(void)
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate2(fid, F66_DATASETS32, H5T_STD_I32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- val32bits = (int32_t) ~0; /* all 1s */
+ val32bits = (int32_t) ~0; /* all 1s */
for(i = 0; i < dims[0]; i++){
dset32[i][0] = val32bits;
for(j = 1; j < dims[1]; j++)
@@ -8638,7 +8646,7 @@ static void gent_compound_int_array(void) {
valu8bits = (uint8_t) ~0u; /* all 1s */
for(n = 0; n < dims[0]; n++){
- Cmpd1[m].dsetu8[n] = valu8bits;
+ Cmpd1[m].dsetu8[n] = valu8bits;
valu8bits <<= 1;
}
@@ -8647,7 +8655,7 @@ static void gent_compound_int_array(void) {
valu16bits = (uint16_t) ~0u; /* all 1s */
for(n = 0; n < dims[0]; n++){
- Cmpd1[m].dsetu16[n] = valu16bits;
+ Cmpd1[m].dsetu16[n] = valu16bits;
valu16bits <<= 1;
}
@@ -8656,7 +8664,7 @@ static void gent_compound_int_array(void) {
valu32bits = (uint32_t) ~0u; /* all 1s */
for(n = 0; n < dims[0]; n++){
- Cmpd1[m].dsetu32[n] = valu32bits;
+ Cmpd1[m].dsetu32[n] = valu32bits;
valu32bits <<= 1;
}
@@ -8665,7 +8673,7 @@ static void gent_compound_int_array(void) {
valu64bits = (uint64_t) ~0Lu; /* all 1s */
for(n = 0; n < dims[0]; n++){
- Cmpd1[m].dsetu64[n] = valu64bits;
+ Cmpd1[m].dsetu64[n] = valu64bits;
valu64bits <<= 1;
}
@@ -8674,7 +8682,7 @@ static void gent_compound_int_array(void) {
val8bits = (int8_t) ~0; /* all 1s */
for(n = 0; n < dims[0]; n++){
- Cmpd1[m].dset8[n] = val8bits;
+ Cmpd1[m].dset8[n] = val8bits;
val8bits <<= 1;
}
@@ -8683,7 +8691,7 @@ static void gent_compound_int_array(void) {
val16bits = (int16_t) ~0; /* all 1s */
for(n = 0; n < dims[0]; n++){
- Cmpd1[m].dset16[n] = val16bits;
+ Cmpd1[m].dset16[n] = val16bits;
val16bits <<= 1;
}
@@ -8692,7 +8700,7 @@ static void gent_compound_int_array(void) {
val32bits = (int32_t) ~0; /* all 1s */
for(n = 0; n < dims[0]; n++){
- Cmpd1[m].dset32[n] = val32bits;
+ Cmpd1[m].dset32[n] = val32bits;
val32bits <<= 1;
}
@@ -8701,7 +8709,7 @@ static void gent_compound_int_array(void) {
val64bits = (int64_t) ~0L; /* all 1s */
for(n = 0; n < dims[0]; n++){
- Cmpd1[m].dset64[n] = val64bits;
+ Cmpd1[m].dset64[n] = val64bits;
val64bits <<= 1;
}
@@ -8709,7 +8717,7 @@ static void gent_compound_int_array(void) {
dims[0] = F76_DIM8;
for(n = 0; n < dims[0]; n++)
- Cmpd1[m].dsetdbl[n] = 0.0001F + n;
+ Cmpd1[m].dsetdbl[n] = 0.0001F + n;
}
/* Create the array data type for the 8 bits signed int array */
@@ -8884,64 +8892,64 @@ static void gent_compound_ints(void) {
for (m = 0; m < F77_LENGTH; m++) {
/* Array of 8 bits unsigned int */
- if((m % F76_DIM8) == 0)
- valu8bits = (uint8_t) ~0u; /* all 1s */
- Cmpd1[m].dsetu8 = valu8bits;
- Cmpd2[m].dsetu8 = valu8bits;
+ if((m % F76_DIM8) == 0)
+ valu8bits = (uint8_t) ~0u; /* all 1s */
+ Cmpd1[m].dsetu8 = valu8bits;
+ Cmpd2[m].dsetu8 = valu8bits;
valu8bits <<= 1;
/* Array of 16 bits unsigned int */
- if((m % F76_DIM16) == 0)
+ if((m % F76_DIM16) == 0)
valu16bits = (uint16_t) ~0u; /* all 1s */
- Cmpd1[m].dsetu16 = valu16bits;
- Cmpd2[m].dsetu16 = valu16bits;
- valu16bits <<= 1;
+ Cmpd1[m].dsetu16 = valu16bits;
+ Cmpd2[m].dsetu16 = valu16bits;
+ valu16bits <<= 1;
/* Array of 32 bits unsigned int */
- if((m % F76_DIM32) == 0)
+ if((m % F76_DIM32) == 0)
valu32bits = (uint32_t) ~0u; /* all 1s */
- Cmpd1[m].dsetu32 = valu32bits;
- Cmpd2[m].dsetu32 = valu32bits;
- valu32bits <<= 1;
+ Cmpd1[m].dsetu32 = valu32bits;
+ Cmpd2[m].dsetu32 = valu32bits;
+ valu32bits <<= 1;
/* Array of 64 bits unsigned int */
- if((m % F76_DIM64) == 0)
+ if((m % F76_DIM64) == 0)
valu64bits = (uint64_t) ~0Lu; /* all 1s */
- Cmpd1[m].dsetu64 = valu64bits;
- Cmpd2[m].dsetu64 = valu64bits;
- valu64bits <<= 1;
+ Cmpd1[m].dsetu64 = valu64bits;
+ Cmpd2[m].dsetu64 = valu64bits;
+ valu64bits <<= 1;
/* Array of 8 bits signed int */
- if((m % F76_DIM8) == 0)
+ if((m % F76_DIM8) == 0)
val8bits = (int8_t) ~0; /* all 1s */
- Cmpd1[m].dset8 = val8bits;
- Cmpd2[m].dset8 = val8bits;
- val8bits <<= 1;
+ Cmpd1[m].dset8 = val8bits;
+ Cmpd2[m].dset8 = val8bits;
+ val8bits <<= 1;
/* Array of 16 bits signed int */
- if((m % F76_DIM16) == 0)
+ if((m % F76_DIM16) == 0)
val16bits = (int16_t) ~0; /* all 1s */
- Cmpd1[m].dset16 = val16bits;
- Cmpd2[m].dset16 = val16bits;
- val16bits <<= 1;
+ Cmpd1[m].dset16 = val16bits;
+ Cmpd2[m].dset16 = val16bits;
+ val16bits <<= 1;
/* Array of 32 bits signed int */
- if((m % F76_DIM32) == 0)
+ if((m % F76_DIM32) == 0)
val32bits = (int32_t) ~0; /* all 1s */
- Cmpd1[m].dset32 = val32bits;
- Cmpd2[m].dset32 = val32bits;
- val32bits <<= 1;
+ Cmpd1[m].dset32 = val32bits;
+ Cmpd2[m].dset32 = val32bits;
+ val32bits <<= 1;
/* Array of 64 bits signed int */
- if((m % F76_DIM64) == 0)
+ if((m % F76_DIM64) == 0)
val64bits = (int64_t) ~0L; /* all 1s */
- Cmpd1[m].dset64 = val64bits;
- Cmpd2[m].dset64 = val64bits;
- val64bits <<= 1;
+ Cmpd1[m].dset64 = val64bits;
+ Cmpd2[m].dset64 = val64bits;
+ val64bits <<= 1;
/* Double Dummy set for failure tests */
- Cmpd1[m].dsetdbl = 0.0001F + m;
- Cmpd2[m].dsetdbl = 0.0001F + m;
+ Cmpd1[m].dsetdbl = 0.0001F + m;
+ Cmpd2[m].dsetdbl = 0.0001F + m;
}
/* Create the dataspace */
@@ -9352,7 +9360,7 @@ gent_intsattrs(void)
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate2(fid, F66_DATASETU16, H5T_STD_U16LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- valu16bits = (uint16_t) ~0u; /* all 1s */
+ valu16bits = (uint16_t) ~0u; /* all 1s */
for(i = 0; i < dims[0]; i++){
dsetu16[i][0] = valu16bits;
asetu16[i*dims[1]] = dsetu16[i][0];
@@ -9379,7 +9387,7 @@ gent_intsattrs(void)
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate2(fid, F66_DATASETU32, H5T_STD_U32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- valu32bits = (uint32_t) ~0u; /* all 1s */
+ valu32bits = (uint32_t) ~0u; /* all 1s */
for(i = 0; i < dims[0]; i++){
dsetu32[i][0] = valu32bits;
asetu32[i*dims[1]] = dsetu32[i][0];
@@ -9433,7 +9441,7 @@ gent_intsattrs(void)
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate2(fid, F66_DATASETS08, H5T_STD_I8LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- val8bits = (int8_t) ~0; /* all 1s */
+ val8bits = (int8_t) ~0; /* all 1s */
for(i = 0; i < dims[0]; i++){
dset8[i][0] = val8bits;
aset8[i*dims[1]] = dset8[i][0];
@@ -9460,7 +9468,7 @@ gent_intsattrs(void)
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate2(fid, F66_DATASETS16, H5T_STD_I16LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- val16bits = (int16_t) ~0; /* all 1s */
+ val16bits = (int16_t) ~0; /* all 1s */
for(i = 0; i < dims[0]; i++){
dset16[i][0] = val16bits;
aset16[i*dims[1]] = dset16[i][0];
@@ -9487,7 +9495,7 @@ gent_intsattrs(void)
space = H5Screate_simple(2, dims, NULL);
dataset = H5Dcreate2(fid, F66_DATASETS32, H5T_STD_I32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- val32bits = (int32_t) ~0; /* all 1s */
+ val32bits = (int32_t) ~0; /* all 1s */
for(i = 0; i < dims[0]; i++){
dset32[i][0] = val32bits;
aset32[i*dims[1]] = dset32[i][0];
@@ -9710,6 +9718,41 @@ static void gent_bitnopaquefields(void)
H5Fclose(file);
}
+/*-------------------------------------------------------------------------
+ * Function: gent_intsfourdims
+ *
+ * Purpose: Generate a file to be used in the h5dump subsetting tests.
+ * One datasets of unsigned int types are created in four dimensions 2,4,6,10.
+ *-------------------------------------------------------------------------
+ */
+static void
+gent_intsfourdims(void)
+{
+ hid_t fid, dataset, space, tid;
+ hsize_t dims[F81_RANK];
+ uint32_t dset1[F81_ZDIM][F81_YDIM][F81_XDIM][F81_WDIM];
+ unsigned int i, j, k, l;
+
+ fid = H5Fcreate(FILE81, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+
+ /* Dataset of 32 bits unsigned int */
+ dims[0] = F81_ZDIM; dims[1] = F81_YDIM; dims[2] = F81_XDIM; dims[3] = F81_WDIM;
+ space = H5Screate_simple(F81_RANK, dims, NULL);
+ dataset = H5Dcreate2(fid, F81_DATASETNAME, H5T_STD_U32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ for(i = 0; i < F81_ZDIM; i++)
+ for(j = 0; j < F81_YDIM; j++)
+ for(k = 0; k < F81_XDIM; k++)
+ for(l = 0; l < F81_WDIM; l++)
+ dset1[i][j][k][l] = i*F81_YDIM*F81_XDIM*F81_WDIM + j*F81_XDIM*F81_WDIM + k*F81_WDIM + l;
+
+ H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ H5Fclose(fid);
+}
+
/*-------------------------------------------------------------------------
* Function: main
@@ -9802,6 +9845,8 @@ int main(void)
gent_intsattrs();
gent_bitnopaquefields();
+ gent_intsfourdims();
+
return 0;
}