#include #include "testframe.h" #include "params.h" static void test_write_field_attribs( h5_file_t *file, const char *field_name, int position) { h5_err_t status; char name[ATTR_NAME_SIZE]; TEST("Writing field attributes"); get_attr_name(name, "str", position); status = H5BlockWriteFieldAttribString( file, field_name, name, ATTR_STR_VAL); RETURN(status, H5_SUCCESS, "H5BlockWriteFieldAttribString"); get_attr_name(name, "i32", position); h5_int32_t i32 = ATTR_INT32_VAL; status = H5BlockWriteFieldAttribInt32( file, field_name, name, &i32, 1); RETURN(status, H5_SUCCESS, "H5BlockWriteFieldAttribInt32"); get_attr_name(name, "i64", position); h5_int64_t i64 = ATTR_INT64_VAL; status = H5BlockWriteFieldAttribInt64( file, field_name, name, &i64, 1); RETURN(status, H5_SUCCESS, "H5BlockWriteFieldAttribInt64"); get_attr_name(name, "f32", position); h5_float32_t f32 = ATTR_FLOAT_VAL; status = H5BlockWriteFieldAttribFloat32( file, field_name, name, &f32, 1); RETURN(status, H5_SUCCESS, "H5BlockWriteFieldAttribFloat32"); get_attr_name(name, "f64", position); h5_float64_t f64 = ATTR_FLOAT_VAL; status = H5BlockWriteFieldAttribFloat64( file, field_name, name, &f64, 1); RETURN(status, H5_SUCCESS, "H5BlockWriteFieldAttribFloat64"); } static void test_write_data64(h5_file_t *file, int step) { extern h5_size_t layout[6]; int i,t; h5_int64_t status, val; double *e; double *ex,*ey,*ez; h5_int64_t *id; const size_t nelems = (layout[1] - layout[0] + 1) * (layout[3] - layout[2] + 1) * (layout[5] - layout[4] + 1); e=(double*)malloc(nelems*sizeof(double)); ex=(double*)malloc(nelems*sizeof(double)); ey=(double*)malloc(nelems*sizeof(double)); ez=(double*)malloc(nelems*sizeof(double)); id=(h5_int64_t*)malloc(nelems*sizeof(h5_int64_t)); #if defined(PARALLEL_IO) TEST("Setting throttle"); status = H5SetThrottle(file, 2); RETURN(status, H5_SUCCESS, "H5SetThrottle"); #endif TEST("Writing 64-bit data"); for (t=step; t