#include #include "testframe.h" #include "params.h" static void test_write_file_attribs(h5_file_t file, int position) { h5_err_t status; char name[ATTR_NAME_SIZE]; TEST("Writing file attributes"); get_attr_name(name, "str", position); status = H5WriteFileAttribString(file, name, ATTR_STR_VAL); RETURN(status, H5_SUCCESS, "H5WriteFileAttribString"); get_attr_name(name, "i32", position); h5_int32_t i32 = ATTR_INT32_VAL; status = H5WriteFileAttribInt32(file, name, &i32, 1); RETURN(status, H5_SUCCESS, "H5WriteFileAttribInt32"); get_attr_name(name, "i64", position); h5_int64_t i64 = ATTR_INT64_VAL; status = H5WriteFileAttribInt64(file, name, &i64, 1); RETURN(status, H5_SUCCESS, "H5WriteFileAttribInt64"); get_attr_name(name, "f32", position); h5_float32_t f32 = ATTR_FLOAT_VAL; status = H5WriteFileAttribFloat32(file, name, &f32, 1); RETURN(status, H5_SUCCESS, "H5WriteFileAttribFloat32"); get_attr_name(name, "f64", position); h5_float64_t f64 = ATTR_FLOAT_VAL; status = H5WriteFileAttribFloat64(file, name, &f64, 1); RETURN(status, H5_SUCCESS, "H5WriteFileAttribFloat64"); } static void test_write_step_attribs(h5_file_t file, int position) { h5_err_t status; char name[ATTR_NAME_SIZE]; TEST("Writing step attributes"); get_attr_name(name, "str", position); status = H5WriteStepAttribString(file, name, ATTR_STR_VAL); RETURN(status, H5_SUCCESS, "H5WriteStepAttribString"); get_attr_name(name, "i32", position); h5_int32_t i32 = ATTR_INT32_VAL; status = H5WriteStepAttribInt32(file, name, &i32, 1); RETURN(status, H5_SUCCESS, "H5WriteStepAttribInt32"); get_attr_name(name, "i64", position); h5_int64_t i64 = ATTR_INT64_VAL; status = H5WriteStepAttribInt64(file, name, &i64, 1); RETURN(status, H5_SUCCESS, "H5WriteStepAttribInt64"); get_attr_name(name, "f32", position); h5_float32_t f32 = ATTR_FLOAT_VAL; status = H5WriteStepAttribFloat32(file, name, &f32, 1); RETURN(status, H5_SUCCESS, "H5WriteStepAttribFloat32"); get_attr_name(name, "f64", position); h5_float64_t f64 = ATTR_FLOAT_VAL; status = H5WriteStepAttribFloat64(file, name, &f64, 1); RETURN(status, H5_SUCCESS, "H5WriteStepAttribFloat64"); } static void test_write_data64(h5_file_t file, int nparticles, int step) { int i,t; h5_int64_t status, val; double *x,*y,*z; double *px,*py,*pz; h5_int64_t *id; x=(double*)malloc(nparticles*sizeof(double)); y=(double*)malloc(nparticles*sizeof(double)); z=(double*)malloc(nparticles*sizeof(double)); px=(double*)malloc(nparticles*sizeof(double)); py=(double*)malloc(nparticles*sizeof(double)); pz=(double*)malloc(nparticles*sizeof(double)); id=(h5_int64_t*)malloc(nparticles*sizeof(h5_int64_t)); TEST("Writing 64-bit data"); for (t=step; t