Description:

Only format changes: mostly tabs vs. spaces
Platforms tested:
    Linux/64 (jelly) - very minor
This commit is contained in:
Binh-Minh Ribler
2017-03-03 08:45:57 -06:00
parent 4fc97f2853
commit 861a849530
78 changed files with 14001 additions and 14012 deletions
+231 -231
View File
@@ -53,12 +53,12 @@ typedef enum int_t {
/*-------------------------------------------------------------------------
* Function: test_array_compound_array
*
* Purpose: Tests 1-D array of compound datatypes (with array fields)
* Purpose Tests 1-D array of compound datatypes (with array fields)
*
* Return: None.
* Return None.
*
* Programmer: Binh-Minh Ribler (using C version)
* January, 2016
* Programmer Binh-Minh Ribler (using C version)
* January, 2016
*
* Modifications:
*
@@ -76,7 +76,7 @@ static void test_array_compound_array()
hsize_t sdims1[] = {SPACE1_DIM1};
hsize_t tdims1[] = {ARRAY1_DIM1};
int nmemb; // Number of compound members
int ii; // counting variables
int ii; // counting variables
hsize_t idxi, idxj, idxk; // dimension indicing variables
H5T_class_t mclass; // Datatype class for field
@@ -85,193 +85,193 @@ static void test_array_compound_array()
for (idxj = 0; idxj < ARRAY1_DIM1; idxj++) {
wdata[idxi][idxj].i = idxi * 10 + idxj;
for(idxk = 0; idxk < ARRAY1_DIM1; idxk++)
{
{
float temp = idxi * 10.0 + idxj * 2.5 + idxk;
wdata[idxi][idxj].f[idxk] = temp;
}
}
} // end for
try {
// Create File
H5File file1(FILENAME, H5F_ACC_TRUNC);
// Create File
H5File file1(FILENAME, H5F_ACC_TRUNC);
// Create dataspace for datasets
DataSpace space(SPACE1_RANK, sdims1, NULL);
// Create dataspace for datasets
DataSpace space(SPACE1_RANK, sdims1, NULL);
/*
* Create an array datatype of compounds, arrtype. Each compound
* datatype, comptype, contains an integer and an array of floats,
* arrfltype.
*/
/*
* Create an array datatype of compounds, arrtype. Each compound
* datatype, comptype, contains an integer and an array of floats,
* arrfltype.
*/
// Create a compound datatype
CompType comptype(sizeof(s1_t));
// Create a compound datatype
CompType comptype(sizeof(s1_t));
// Insert integer field
comptype.insertMember("i", HOFFSET(s1_t, i), PredType::NATIVE_INT);
// Insert integer field
comptype.insertMember("i", HOFFSET(s1_t, i), PredType::NATIVE_INT);
// Create an array of floats datatype
ArrayType arrfltype(PredType::NATIVE_FLOAT, ARRAY1_RANK, tdims1);
// Create an array of floats datatype
ArrayType arrfltype(PredType::NATIVE_FLOAT, ARRAY1_RANK, tdims1);
// Insert float array field
comptype.insertMember("f", HOFFSET(s1_t, f), arrfltype);
// Insert float array field
comptype.insertMember("f", HOFFSET(s1_t, f), arrfltype);
// Close array of floats field datatype
arrfltype.close();
// Close array of floats field datatype
arrfltype.close();
// Create an array datatype of the compound datatype
ArrayType arrtype(comptype, ARRAY1_RANK, tdims1);
// Create an array datatype of the compound datatype
ArrayType arrtype(comptype, ARRAY1_RANK, tdims1);
// Close compound datatype comptype
comptype.close();
// Close compound datatype comptype
comptype.close();
// Create a dataset
DataSet dataset = file1.createDataSet("Dataset1", arrtype, space);
// Create a dataset
DataSet dataset = file1.createDataSet("Dataset1", arrtype, space);
// Write dataset to disk
dataset.write(wdata, arrtype);
// Write dataset to disk
dataset.write(wdata, arrtype);
// Test opening ArrayType with opening constructor (Dec 2016)
// Test opening ArrayType with opening constructor (Dec 2016)
// Commit the arrtype to give it a name
arrtype.commit(file1, ARRAYTYPE_NAME);
// Commit the arrtype to give it a name
arrtype.commit(file1, ARRAYTYPE_NAME);
// Close it, then re-open with the opening constructor
arrtype.close();
ArrayType named_type(file1, ARRAYTYPE_NAME);
// Close it, then re-open with the opening constructor
arrtype.close();
ArrayType named_type(file1, ARRAYTYPE_NAME);
// Get and verify the type's name
H5std_string type_name = named_type.getObjName();
verify_val(type_name, ARRAYTYPE_NAME, "DataType::getObjName tests constructor", __LINE__, __FILE__);
named_type.close();
// Get and verify the type's name
H5std_string type_name = named_type.getObjName();
verify_val(type_name, ARRAYTYPE_NAME, "DataType::getObjName tests constructor", __LINE__, __FILE__);
named_type.close();
// Close all
dataset.close();
space.close();
file1.close();
// Close all
dataset.close();
space.close();
file1.close();
// Re-open file
file1.openFile(FILENAME, H5F_ACC_RDONLY);
// Re-open file
file1.openFile(FILENAME, H5F_ACC_RDONLY);
// Open the dataset
dataset = file1.openDataSet("Dataset1");
// Open the dataset
dataset = file1.openDataSet("Dataset1");
/*
* Check the datatype array of compounds
*/
/*
* Check the datatype array of compounds
*/
// Verify that it is an array of compounds
DataType dstype = dataset.getDataType();
mclass = dstype.getClass();
verify_val(mclass==H5T_ARRAY, true, "f2_type.getClass", __LINE__, __FILE__);
// Verify that it is an array of compounds
DataType dstype = dataset.getDataType();
mclass = dstype.getClass();
verify_val(mclass==H5T_ARRAY, true, "f2_type.getClass", __LINE__, __FILE__);
dstype.close();
dstype.close();
// Get the array datatype to check
ArrayType atype_check = dataset.getArrayType();
// Get the array datatype to check
ArrayType atype_check = dataset.getArrayType();
// Check the array rank
int ndims = atype_check.getArrayNDims();
verify_val(ndims, ARRAY1_RANK, "atype_check.getArrayNDims", __LINE__, __FILE__);
// Check the array rank
int ndims = atype_check.getArrayNDims();
verify_val(ndims, ARRAY1_RANK, "atype_check.getArrayNDims", __LINE__, __FILE__);
// Get the array dimensions
hsize_t rdims1[H5S_MAX_RANK];
atype_check.getArrayDims(rdims1);
// Get the array dimensions
hsize_t rdims1[H5S_MAX_RANK];
atype_check.getArrayDims(rdims1);
// Check the array dimensions
for (ii =0; ii <ndims; ii++)
if (rdims1[ii]!=tdims1[ii]) {
TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%zd, tdims1[%d]=z%d\n", ii, rdims1[ii], ii, tdims1[ii]);
// Check the array dimensions
for (ii =0; ii <ndims; ii++)
if (rdims1[ii]!=tdims1[ii]) {
TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%zd, tdims1[%d]=z%d\n", ii, rdims1[ii], ii, tdims1[ii]);
continue;
} // end if
// Test ArrayType::ArrayType(const hid_t existing_id)
ArrayType new_arrtype(atype_check.getId());
// Test ArrayType::ArrayType(const hid_t existing_id)
ArrayType new_arrtype(atype_check.getId());
// Check the array rank
ndims = new_arrtype.getArrayNDims();
verify_val(ndims, ARRAY1_RANK, "new_arrtype.getArrayNDims", __LINE__, __FILE__);
// Check the array rank
ndims = new_arrtype.getArrayNDims();
verify_val(ndims, ARRAY1_RANK, "new_arrtype.getArrayNDims", __LINE__, __FILE__);
// Get the array dimensions
new_arrtype.getArrayDims(rdims1);
// Get the array dimensions
new_arrtype.getArrayDims(rdims1);
// Check the array dimensions
for (ii = 0; ii < ndims; ii++)
if (rdims1[ii] != tdims1[ii]) {
TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%zd, tdims1[%d]=%zd\n", ii, rdims1[ii], ii, tdims1[ii]);
// Check the array dimensions
for (ii = 0; ii < ndims; ii++)
if (rdims1[ii] != tdims1[ii]) {
TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%zd, tdims1[%d]=%zd\n", ii, rdims1[ii], ii, tdims1[ii]);
continue;
} // end if
/*
* Check the compound datatype and the array of floats datatype
* in the compound.
*/
// Get the compound datatype, which is the base datatype of the
// array datatype atype_check.
DataType base_type = atype_check.getSuper();
mclass = base_type.getClass();
verify_val(mclass==H5T_COMPOUND, true, "atype_check.getClass", __LINE__, __FILE__);
/*
* Check the compound datatype and the array of floats datatype
* in the compound.
*/
// Get the compound datatype, which is the base datatype of the
// array datatype atype_check.
DataType base_type = atype_check.getSuper();
mclass = base_type.getClass();
verify_val(mclass==H5T_COMPOUND, true, "atype_check.getClass", __LINE__, __FILE__);
// Verify the compound datatype info
CompType ctype_check(base_type.getId());
base_type.close();
// Check the number of members
nmemb = ctype_check.getNmembers();
verify_val(nmemb, 2, "ctype_check.getNmembers", __LINE__, __FILE__);
// Verify the compound datatype info
CompType ctype_check(base_type.getId());
base_type.close();
// Check the number of members
nmemb = ctype_check.getNmembers();
verify_val(nmemb, 2, "ctype_check.getNmembers", __LINE__, __FILE__);
// Check the 2nd field's name
H5std_string field2_name = ctype_check.getMemberName(1);
if (HDstrcmp(field2_name.c_str(),"f") != 0)
TestErrPrintf("Compound field name doesn't match!, field2_name=%s\n",field2_name.c_str());
// Check the 2nd field's name
H5std_string field2_name = ctype_check.getMemberName(1);
if (HDstrcmp(field2_name.c_str(),"f") != 0)
TestErrPrintf("Compound field name doesn't match!, field2_name=%s\n",field2_name.c_str());
// Get the 2nd field's datatype
DataType f2_type = ctype_check.getMemberDataType(1);
// Get the 2nd field's datatype
DataType f2_type = ctype_check.getMemberDataType(1);
// Get the 2nd field's class, this 2nd field should have an array type
mclass = f2_type.getClass();
verify_val(mclass==H5T_ARRAY, true, "f2_type.getClass", __LINE__, __FILE__);
f2_type.close();
// Get the 2nd field's class, this 2nd field should have an array type
mclass = f2_type.getClass();
verify_val(mclass==H5T_ARRAY, true, "f2_type.getClass", __LINE__, __FILE__);
f2_type.close();
// Get the 2nd field, array of floats datatype, to check
ArrayType f2_atype_check = ctype_check.getMemberArrayType(1);
// Get the 2nd field, array of floats datatype, to check
ArrayType f2_atype_check = ctype_check.getMemberArrayType(1);
// Check the array rank
ndims = f2_atype_check.getArrayNDims();
verify_val(ndims, ARRAY1_RANK, "f2_atype_check.getArrayNDims", __LINE__, __FILE__);
// Check the array rank
ndims = f2_atype_check.getArrayNDims();
verify_val(ndims, ARRAY1_RANK, "f2_atype_check.getArrayNDims", __LINE__, __FILE__);
// Get the array dimensions
HDmemset(rdims1, 0, H5S_MAX_RANK);
f2_atype_check.getArrayDims(rdims1);
// Get the array dimensions
HDmemset(rdims1, 0, H5S_MAX_RANK);
f2_atype_check.getArrayDims(rdims1);
// Check the array dimensions
for (ii = 0; ii < ndims; ii++)
if (rdims1[ii] != tdims1[ii]) {
TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%zd, tdims1[%d]=%zd\n", ii, rdims1[ii], ii, tdims1[ii]);
continue;
} // end if
// Check the array dimensions
for (ii = 0; ii < ndims; ii++)
if (rdims1[ii] != tdims1[ii]) {
TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%zd, tdims1[%d]=%zd\n", ii, rdims1[ii], ii, tdims1[ii]);
continue;
} // end if
// Close done datatypes
f2_atype_check.close();
ctype_check.close();
// Close done datatypes
f2_atype_check.close();
ctype_check.close();
// Read dataset from disk
dataset.read(rdata, atype_check);
// Read dataset from disk
dataset.read(rdata, atype_check);
// Compare data read in
for (idxi = 0; idxi < SPACE1_DIM1; idxi++) {
for (idxj = 0; idxj < ARRAY1_DIM1; idxj++) {
if (wdata[idxi][idxj].i != rdata[idxi][idxj].i) {
TestErrPrintf("Array data information doesn't match!, wdata[%d][%d].i=%d, rdata[%d][%d].i=%d\n",idxi,idxj,wdata[idxi][idxj].i,idxi,idxj,rdata[idxi][idxj].i);
continue;
} // end if
} // end for
} // end for
// Compare data read in
for (idxi = 0; idxi < SPACE1_DIM1; idxi++) {
for (idxj = 0; idxj < ARRAY1_DIM1; idxj++) {
if (wdata[idxi][idxj].i != rdata[idxi][idxj].i) {
TestErrPrintf("Array data information doesn't match!, wdata[%d][%d].i=%d, rdata[%d][%d].i=%d\n",idxi,idxj,wdata[idxi][idxj].i,idxi,idxj,rdata[idxi][idxj].i);
continue;
} // end if
} // end for
} // end for
// Close all
atype_check.close();
dataset.close();
file1.close();
// Close all
atype_check.close();
dataset.close();
file1.close();
PASSED();
} // end of try block
catch (Exception& E)
@@ -285,15 +285,15 @@ static void test_array_compound_array()
/*-------------------------------------------------------------------------
* Function: test_array_assignment
*
* Purpose: Tests the operator=
* Purpose Tests the operator=
*
* Return: None.
* Return None.
*
* Programmer: Binh-Minh Ribler (using C version)
* March, 2016
* Programmer Binh-Minh Ribler (using C version)
* March, 2016
*
* Description:
* Used user's sample code in HDFFV-9562
* Used user's sample code in HDFFV-9562
*
* Modifications:
*
@@ -317,35 +317,35 @@ static void test_array_assignment()
SUBTEST("ArrayType::operator=");
try {
// Create File
H5File file1(FILENAME, H5F_ACC_TRUNC);
// Create File
H5File file1(FILENAME, H5F_ACC_TRUNC);
// Create dataspace for datasets
DataSpace space(SPACE1_RANK, sdims1, NULL);
// Create dataspace for datasets
DataSpace space(SPACE1_RANK, sdims1, NULL);
/*
* Create an array datatype of compounds, arrtype. Each compound
* datatype, comptype, contains an integer and an array of floats,
* arrfltype.
*/
/*
* Create an array datatype of compounds, arrtype. Each compound
* datatype, comptype, contains an integer and an array of floats,
* arrfltype.
*/
// Create a compound datatype
CompType comptype(static_cast<size_t>(24));
// Create a compound datatype
CompType comptype(static_cast<size_t>(24));
// Insert integer field
comptype.insertMember("i", 0, PredType::NATIVE_INT);
// Insert integer field
comptype.insertMember("i", 0, PredType::NATIVE_INT);
// Insert float array field
comptype.insertMember("a", 4, getArr());
// Insert float array field
comptype.insertMember("a", 4, getArr());
// Create a dataset
DataSet dataset = file1.createDataSet("Dataset1", comptype, space);
// Create a dataset
DataSet dataset = file1.createDataSet("Dataset1", comptype, space);
// Close all
dataset.close();
comptype.close();
space.close();
file1.close();
// Close all
dataset.close();
comptype.close();
space.close();
file1.close();
PASSED();
} // end of try block
@@ -359,12 +359,12 @@ static void test_array_assignment()
/*-------------------------------------------------------------------------
* Function: test_array_info
*
* Purpose: Tests getting array information using the const methods.
* Purpose Tests getting array information using the const methods.
*
* Return: None.
* Return None.
*
* Programmer: Binh-Minh Ribler
* April, 2016
* Programmer Binh-Minh Ribler
* April, 2016
*
* Modifications:
*
@@ -382,7 +382,7 @@ static void test_array_info()
hsize_t sdims1[] = {SPACE1_DIM1};
hsize_t tdims1[] = {ARRAY1_DIM1};
int nmemb; // Number of compound members
int ii; // counting variables
int ii; // counting variables
hsize_t idxi, idxj, idxk; // dimension indicing variables
H5T_class_t mclass; // Datatype class for field
@@ -391,84 +391,84 @@ static void test_array_info()
for (idxj = 0; idxj < ARRAY1_DIM1; idxj++) {
wdata[idxi][idxj].i = idxi * 10 + idxj;
for(idxk = 0; idxk < ARRAY1_DIM1; idxk++)
{
{
float temp = idxi * 10.0 + idxj * 2.5 + idxk;
wdata[idxi][idxj].f[idxk] = temp;
}
}
} // end for
try {
// Create File
H5File file1(FILENAME, H5F_ACC_TRUNC);
// Create File
H5File file1(FILENAME, H5F_ACC_TRUNC);
// Create dataspace for datasets
DataSpace space(SPACE1_RANK, sdims1, NULL);
// Create dataspace for datasets
DataSpace space(SPACE1_RANK, sdims1, NULL);
/*
* Create some array datatypes, then close the file.
*/
/*
* Create some array datatypes, then close the file.
*/
// Create an array of floats datatype
ArrayType arrfltype(PredType::NATIVE_FLOAT, ARRAY1_RANK, tdims1);
// Create an array of floats datatype
ArrayType arrfltype(PredType::NATIVE_FLOAT, ARRAY1_RANK, tdims1);
// Create an array datatype of the compound datatype
ArrayType arrtype(PredType::NATIVE_UINT, ARRAY1_RANK, tdims1);
// Create an array datatype of the compound datatype
ArrayType arrtype(PredType::NATIVE_UINT, ARRAY1_RANK, tdims1);
// Create a dataset
DataSet dataset = file1.createDataSet("Dataset1", arrtype, space);
// Create a dataset
DataSet dataset = file1.createDataSet("Dataset1", arrtype, space);
// Write dataset to disk
dataset.write(wdata, arrtype);
// Write dataset to disk
dataset.write(wdata, arrtype);
// Close array of floats field datatype
arrfltype.close();
// Close array of floats field datatype
arrfltype.close();
// Close all
dataset.close();
arrtype.close();
space.close();
file1.close();
// Close all
dataset.close();
arrtype.close();
space.close();
file1.close();
// Re-open file
file1.openFile(FILENAME, H5F_ACC_RDONLY);
// Re-open file
file1.openFile(FILENAME, H5F_ACC_RDONLY);
// Open the dataset
dataset = file1.openDataSet("Dataset1");
// Open the dataset
dataset = file1.openDataSet("Dataset1");
/*
* Check the datatype array of compounds
*/
/*
* Check the datatype array of compounds
*/
// Verify that it is an array of compounds
DataType dstype = dataset.getDataType();
mclass = dstype.getClass();
verify_val(mclass==H5T_ARRAY, true, "f2_type.getClass", __LINE__, __FILE__);
// Verify that it is an array of compounds
DataType dstype = dataset.getDataType();
mclass = dstype.getClass();
verify_val(mclass==H5T_ARRAY, true, "f2_type.getClass", __LINE__, __FILE__);
dstype.close();
dstype.close();
{ // Let atype_check go out of scope
// Get the array datatype, declared as const
const ArrayType atype_check = dataset.getArrayType();
{ // Let atype_check go out of scope
// Get the array datatype, declared as const
const ArrayType atype_check = dataset.getArrayType();
// Check the array rank with the const method
int ndims = atype_check.getArrayNDims();
verify_val(ndims, ARRAY1_RANK, "atype_check.getArrayNDims", __LINE__, __FILE__);
// Check the array rank with the const method
int ndims = atype_check.getArrayNDims();
verify_val(ndims, ARRAY1_RANK, "atype_check.getArrayNDims", __LINE__, __FILE__);
// Get the array dimensions with the const method
hsize_t rdims1[H5S_MAX_RANK];
atype_check.getArrayDims(rdims1);
// Get the array dimensions with the const method
hsize_t rdims1[H5S_MAX_RANK];
atype_check.getArrayDims(rdims1);
// Check the array dimensions
for (ii =0; ii <ndims; ii++)
if (rdims1[ii]!=tdims1[ii]) {
TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%zd, tdims1[%d]=z%d\n", ii, rdims1[ii], ii, tdims1[ii]);
// Check the array dimensions
for (ii =0; ii <ndims; ii++)
if (rdims1[ii]!=tdims1[ii]) {
TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%zd, tdims1[%d]=z%d\n", ii, rdims1[ii], ii, tdims1[ii]);
continue;
} // end if
}
}
// Close all
dataset.close();
file1.close();
// Close all
dataset.close();
file1.close();
PASSED();
} // end of try block
catch (Exception& E)
@@ -503,14 +503,14 @@ void test_array()
/*-------------------------------------------------------------------------
* Function: cleanup_array
* Function: cleanup_array
*
* Purpose: Cleanup temporary test files
* Purpose Cleanup temporary test files
*
* Return: none
* Return none
*
* Programmer: Binh-Minh Ribler (using C version)
* January, 2016
* Programmer Binh-Minh Ribler (using C version)
* January, 2016
*
* Modifications:
*