diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2010-12-30 14:00:48 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2010-12-30 14:00:48 (GMT) |
commit | a863723db866ed63377aecd1e90cffa08f43c020 (patch) | |
tree | bd9467044603e46cf56b2bacf36f95c0df71a548 /tools/h5dump/h5dumpgentest.c | |
parent | ab0ad9ff0202411d9a63e34f9925b79b72e6ba69 (diff) | |
download | hdf5-a863723db866ed63377aecd1e90cffa08f43c020.zip hdf5-a863723db866ed63377aecd1e90cffa08f43c020.tar.gz hdf5-a863723db866ed63377aecd1e90cffa08f43c020.tar.bz2 |
[svn-r19897] Extend packed bits and testing to 64 bit integers.
Tested: local Linux
Diffstat (limited to 'tools/h5dump/h5dumpgentest.c')
-rw-r--r-- | tools/h5dump/h5dumpgentest.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c index 42589ad..9f8d277 100644 --- a/tools/h5dump/h5dumpgentest.c +++ b/tools/h5dump/h5dumpgentest.c @@ -255,6 +255,9 @@ typedef struct s1_t { #define F66_DATASETU32 "DU32BITS" #define F66_DATASETS32 "DS32BITS" #define F66_YDIM32 32 +#define F66_DATASETU64 "DU64BITS" +#define F66_DATASETS64 "DS64BITS" +#define F66_YDIM64 64 #define F66_DUMMYDBL "DummyDBL" static void @@ -6771,9 +6774,11 @@ gent_packedbits(void) uint8_t dsetu8[F66_XDIM][F66_YDIM8], valu8bits; uint16_t dsetu16[F66_XDIM][F66_YDIM16], valu16bits; uint32_t dsetu32[F66_XDIM][F66_YDIM32], valu32bits; + uint64_t dsetu64[F66_XDIM][F66_YDIM64], valu64bits; int8_t dset8[F66_XDIM][F66_YDIM8], val8bits; int16_t dset16[F66_XDIM][F66_YDIM16], val16bits; int32_t dset32[F66_XDIM][F66_YDIM32], val32bits; + int64_t dset64[F66_XDIM][F66_YDIM64], val64bits; double dsetdbl[F66_XDIM][F66_YDIM8]; unsigned int i, j; @@ -6833,6 +6838,24 @@ gent_packedbits(void) H5Sclose(space); H5Dclose(dataset); + /* Dataset of 64 bits unsigned int */ + dims[0] = F66_XDIM; dims[1] = F66_YDIM64; + space = H5Screate_simple(2, dims, NULL); + dataset = H5Dcreate2(fid, F66_DATASETU64, H5T_STD_U64LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + valu64bits = (uint64_t) ~0Lu; /* all 1s */ + for(i = 0; i < dims[0]; i++){ + dsetu64[i][0] = valu64bits; + for(j = 1; j < dims[1]; j++) { + dsetu64[i][j] = dsetu64[i][j-1] << 1; + } + valu64bits <<= 1; + } + + H5Dwrite(dataset, H5T_NATIVE_UINT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu64); + H5Sclose(space); + H5Dclose(dataset); + /* Dataset of 8 bits signed int */ dims[0] = F66_XDIM; dims[1] = F66_YDIM8; space = H5Screate_simple(2, dims, NULL); @@ -6887,6 +6910,24 @@ gent_packedbits(void) H5Sclose(space); H5Dclose(dataset); + /* Dataset of 64 bits signed int */ + dims[0] = F66_XDIM; dims[1] = F66_YDIM64; + space = H5Screate_simple(2, dims, NULL); + dataset = H5Dcreate2(fid, F66_DATASETS64, H5T_STD_I64LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + val64bits = (int64_t) ~0L; /* all 1s */ + for(i = 0; i < dims[0]; i++){ + dset64[i][0] = val64bits; + for(j = 1; j < dims[1]; j++) { + dset64[i][j] = dset64[i][j-1] << 1; + } + val64bits <<= 1; + } + + H5Dwrite(dataset, H5T_NATIVE_INT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset64); + H5Sclose(space); + H5Dclose(dataset); + /* Double Dummy set for failure tests */ dims[0] = F66_XDIM; dims[1] = F66_YDIM8; space = H5Screate_simple(2, dims, NULL); |