diff options
author | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2003-10-22 21:30:19 (GMT) |
---|---|---|
committer | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2003-10-22 21:30:19 (GMT) |
commit | ce5c245a95ac147248e689ea3f2f9c4969bcc233 (patch) | |
tree | 04c309d3830b0ba165c98a5ac820f5c58fb9ddd4 /tools/h5diff/h5difftst.c | |
parent | 918b657dddfbe74c5cd419865536fa6c6104ae75 (diff) | |
download | hdf5-ce5c245a95ac147248e689ea3f2f9c4969bcc233.zip hdf5-ce5c245a95ac147248e689ea3f2f9c4969bcc233.tar.gz hdf5-ce5c245a95ac147248e689ea3f2f9c4969bcc233.tar.bz2 |
[svn-r7702] Purpose:
h5diff maitainance
Description:
separated the h5diff source between several modules
there is a public module with a new function "h5diff" that can be called by an application
program (h5repack will use it )
added a new verbose option that can turn off all printf
Platforms tested:
linux
solaris
IRIX
Misc. update:
Diffstat (limited to 'tools/h5diff/h5difftst.c')
-rw-r--r-- | tools/h5diff/h5difftst.c | 784 |
1 files changed, 0 insertions, 784 deletions
diff --git a/tools/h5diff/h5difftst.c b/tools/h5diff/h5difftst.c deleted file mode 100644 index 783eb42..0000000 --- a/tools/h5diff/h5difftst.c +++ /dev/null @@ -1,784 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -#include <stdio.h> -#include <stdlib.h> -#include <assert.h> -#include "hdf5.h" -#include "H5private.h" - -/*UINT_MAX Maximum value for a variable of type unsigned int. 4294967295 */ -#define UIMAX 4294967295u - -/* diff test*/ -static int do_test_1(const char *file1, const char *file2); -static int do_test_2(const char *file1, const char *file2); -static int do_test_3(const char *file1, const char *file2); -static int do_test_4(const char *file1, const char *file2); -static int do_test_5(const char *file1, const char *file2); -static int write_dataset( hid_t loc_id, int rank, hsize_t *dims, const char *dset_name, - hid_t type_id, void *buf ); - - -int main(int UNUSED argc, const UNUSED char *argv[]) -{ - - do_test_1("file1.h5","file2.h5"); - do_test_2("file3.h5",NULL); - do_test_3("file4.h5",NULL); - do_test_4("file5.h5",NULL); - do_test_5("file6.h5",NULL); - return 0; -} - - - -/*------------------------------------------------------------------------- - * Function: write_dataset - * - * Purpose: utility function to write a dataset - * - * Return: - * - * Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu - * - * Date: April 7, 2003 - * - *------------------------------------------------------------------------- - */ - -static -int write_dataset( hid_t loc_id, int rank, hsize_t *dims, const char *dset_name, - hid_t type_id, void *buf ) -{ - hid_t dataset_id; - hid_t space_id; - herr_t status; - - /* Create a buf space */ - space_id = H5Screate_simple(rank,dims,NULL); - - /* Create a dataset */ - dataset_id = H5Dcreate(loc_id,dset_name,type_id,space_id,H5P_DEFAULT); - - /* Write the buf */ - if ( buf ) - assert(H5Dwrite(dataset_id,type_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)>=0); - - /* Close */ - status = H5Dclose(dataset_id); - status = H5Sclose(space_id); - assert(status>=0); - - return status; - -} - -/* - -# ############################################################################## -# # Common usage -# ############################################################################## - - -# 1.0 - -h - -# 1.1 - file1.h5 file2.h5 g1/dset1 g1/dset2 - -# 1.2 - file1.h5 file2.h5 -n 2 g1/dset1 g1/dset2 - -# 1.3 - file1.h5 file2.h5 -d 5 g1/dset3 g1/dset4 - -# 1.4 - file1.h5 file2.h5 -p 0.05 g1/dset3 g1/dset4 - -# 1.5 - file1.h5 file2.h5 -r g1/dset1 g1/dset2 - -# 1.6 - file1.h5 file2.h5 - -# ############################################################################## -# # not comparable types -# ############################################################################## - -# 2.0 - file3.h5 file3.h5 dset group - -# 2.1 - file3.h5 file3.h5 dset link - -# 2.2 - file3.h5 file3.h5 dset type - -# 2.3 - file3.h5 file3.h5 group group - -# 2.4 - file3.h5 file3.h5 type type - -# 2.5 - file3.h5 file3.h5 link link - -# ############################################################################## -# # Class issues -# ############################################################################## - - -# 3.0 - file4.h5 file4.h5 string - -# 3.1 - file4.h5 file4.h5 bitfield - -# 3.2 - file4.h5 file4.h5 opaque - -# 3.3 - file4.h5 file4.h5 compound - -# 3.4 - file4.h5 file4.h5 ref - -# 3.5 - file4.h5 file4.h5 enum - -# 3.6 - file4.h5 file4.h5 vlen - -# 3.7 - file4.h5 file4.h5 array - -# 3.8 - file4.h5 file4.h5 integer float - -# ############################################################################## -# # Dimensions -# ############################################################################## - -# 4.0 - file5.h5 file5.h5 dset1 dset2 - -# 4.1 - file5.h5 file5.h5 dset3 dset4 - -# 4.2 - file5.h5 file5.h5 dset5 dset6 - - -# ############################################################################## -# # Dataset types -# ############################################################################## - -# 5.0 - file6.h5 file6.h5 dset0a dset0b - -# 5.1 - file6.h5 file6.h5 dset1a dset1b - -# 5.2 - file6.h5 file6.h5 dset2a dset2b - -# 5.3 - file6.h5 file6.h5 dset3a dset4b - -# 5.4 - file6.h5 file6.h5 dset4a dset4b - -# 5.5 - file6.h5 file6.h5 dset5a dset5b - -# 5.6 - file6.h5 file6.h5 dset6a dset6b - -# 5.7 - file6.h5 file6.h5 dset7a dset7b - -# 5.8 - file6.h5 file6.h5 dset8a dset8b - -# ############################################################################## -# # Error messages -# ############################################################################## - - -# 6.0: Check if the command line number of arguments is less than 3 - h5diff_test1.h5 - -# 6.1: Check for invalid options - h5diff_test1.h5 h5diff_test2.h5 -x - -# ############################################################################## -# # -d -# ############################################################################## - -# 6.2: no value - file1.h5 file2.h5 -d g1/dset3 g1/dset4 - -# 6.3: negative value - file1.h5 file2.h5 -d -4 g1/dset3 g1/dset4 - -# 6.4: zero - file1.h5 file2.h5 -d 0 g1/dset3 g1/dset4 - -# 6.5: non number - file1.h5 file2.h5 -d u g1/dset3 g1/dset4 - -# 6.6: hexadecimal - file1.h5 file2.h5 -d 0x1 g1/dset3 g1/dset4 - -# 6.7: string - file1.h5 file2.h5 -d "1" g1/dset3 g1/dset4 - -# 6.8: repeated option - file1.h5 file2.h5 -d 1 -d 2 g1/dset3 g1/dset4 - -# 6.9: number larger than biggest difference - file1.h5 file2.h5 -d 200 g1/dset3 g1/dset4 - -# 6.10: number smaller than smallest difference - file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4 - - -# ############################################################################## -# # -p -# ############################################################################## - - -# 6.11: no value - file1.h5 file2.h5 -p g1/dset3 g1/dset4 - -# 6.12: negative value - file1.h5 file2.h5 -p -4 g1/dset3 g1/dset4 - -# 6.13: zero - file1.h5 file2.h5 -p 0 g1/dset3 g1/dset4 - -# 6.14: non number - file1.h5 file2.h5 -p u g1/dset3 g1/dset4 - -# 6.15: hexadecimal - file1.h5 file2.h5 -p 0x1 g1/dset3 g1/dset4 - -# 6.16: string - file1.h5 file2.h5 -p "0.21" g1/dset3 g1/dset4 - -# 6.17: repeated option - file1.h5 file2.h5 -p 0.21 -p 0.22 g1/dset3 g1/dset4 - -# 6.18: number larger than biggest difference - file1.h5 file2.h5 -p 2 g1/dset3 g1/dset4 - -# 6.19: number smaller than smallest difference - file1.h5 file2.h5 -p 0.005 g1/dset3 g1/dset4 - - - -# ############################################################################## -# # -n -# ############################################################################## - - -# 6.20: no value - file1.h5 file2.h5 -n g1/dset3 g1/dset4 - -# 6.21: negative value - file1.h5 file2.h5 -n -4 g1/dset3 g1/dset4 - -# 6.22: zero - file1.h5 file2.h5 -n 0 g1/dset3 g1/dset4 - -# 6.23: non number - file1.h5 file2.h5 -n u g1/dset3 g1/dset4 - -# 6.24: hexadecimal - file1.h5 file2.h5 -n 0x1 g1/dset3 g1/dset4 - -# 6.25: string - file1.h5 file2.h5 -n "2" g1/dset3 g1/dset4 - -# 6.26: repeated option - file1.h5 file2.h5 -n 2 -n 3 g1/dset3 g1/dset4 - -# 6.27: number larger than biggest difference - file1.h5 file2.h5 -n 200 g1/dset3 g1/dset4 - -# 6.28: number smaller than smallest difference - file1.h5 file2.h5 -n 1 g1/dset3 g1/dset4 - -# ############################################################################## -# # non valid files -# ############################################################################## - - file1.h6 file2.h6 - -*/ - - -/*------------------------------------------------------------------------- - * Basic review tests - *------------------------------------------------------------------------- - */ -static -int do_test_1(const char *file1, const char *file2) -{ - - hid_t file1_id, file2_id; - hid_t group1_id, group2_id, group3_id; - herr_t status; - hsize_t dims[2] = { 3,2 }; - - /* Test */ - double data1[3][2] = {{1,1},{1,1},{1,1}}; - double data2[3][2] = {{1,1.1},{1.01,1.001},{1.0001,1.000000001}}; - double data3[3][2] = {{100,110},{100,100},{100,100}}; - double data4[3][2] = {{110,100},{90,80},{140,200}}; - -/*------------------------------------------------------------------------- - * Create two files - *------------------------------------------------------------------------- - */ - - file1_id = H5Fcreate (file1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - file2_id = H5Fcreate (file2, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - - /* Create groups */ - group1_id = H5Gcreate(file1_id, "g1", 0); - group2_id = H5Gcreate(file2_id, "g1", 0); - group3_id = H5Gcreate(file2_id, "g2", 0); - - write_dataset(group1_id,2,dims,"dset1",H5T_NATIVE_DOUBLE,data1); - write_dataset(group2_id,2,dims,"dset2",H5T_NATIVE_DOUBLE,data2); - write_dataset(group1_id,2,dims,"dset3",H5T_NATIVE_DOUBLE,data3); - write_dataset(group2_id,2,dims,"dset4",H5T_NATIVE_DOUBLE,data4); - write_dataset(group2_id,2,dims,"dset1",H5T_NATIVE_DOUBLE,data2); - -/*------------------------------------------------------------------------- - * Close - *------------------------------------------------------------------------- - */ - status = H5Gclose(group1_id); - status = H5Gclose(group2_id); - status = H5Gclose(group3_id); - status = H5Fclose(file1_id); - status = H5Fclose(file2_id); - return status; -} - -/*------------------------------------------------------------------------- - * Compare different types: H5G_DATASET, H5G_TYPE, H5G_GROUP, H5G_LINK - *------------------------------------------------------------------------- - */ -static -int do_test_2(const char *file1, const char UNUSED *file2) -{ - - hid_t file1_id; - hid_t group_id; - hid_t type_id; - herr_t status; - hsize_t dims[1]={1}; - /* Compound datatype */ - typedef struct s_t - { - int a; - float b; - } s_t; - -/*------------------------------------------------------------------------- - * Create one file - *------------------------------------------------------------------------- - */ - file1_id = H5Fcreate (file1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - -/*------------------------------------------------------------------------- - * H5G_DATASET - *------------------------------------------------------------------------- - */ - write_dataset(file1_id,1,dims,"dset",H5T_NATIVE_INT,0); - -/*------------------------------------------------------------------------- - * H5G_GROUP - *------------------------------------------------------------------------- - */ - group_id = H5Gcreate(file1_id, "group", 0); - status = H5Gclose(group_id); - -/*------------------------------------------------------------------------- - * H5G_TYPE - *------------------------------------------------------------------------- - */ - - /* Create a memory compound datatype */ - type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); - H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_INT); - H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_FLOAT); - /* Commit compound datatype and close it */ - H5Tcommit(file1_id, "type", type_id); - H5Tclose(type_id); - -/*------------------------------------------------------------------------- - * H5G_LINK - *------------------------------------------------------------------------- - */ - - status = H5Glink(file1_id, H5G_LINK_SOFT, "dset", "link"); - -/*------------------------------------------------------------------------- - * Close - *------------------------------------------------------------------------- - */ - status = H5Fclose(file1_id); - return status; -} - - - - -/*------------------------------------------------------------------------- - * Check for non supported classes. Supported classes are H5T_INTEGER and H5T_FLOAT - * Non supported classes are - * H5T_TIME, H5T_STRING, H5T_BITFIELD, H5T_OPAQUE, H5T_COMPOUND, H5T_REFERENCE, - * H5T_ENUM, H5T_VLEN, H5T_ARRAY - *------------------------------------------------------------------------- - */ -static -int do_test_3(const char *file1, const char UNUSED *file2) -{ - - hid_t file1_id; - hid_t dataset_id; - hid_t space_id; - hid_t type_id; - hsize_t dims[1]={1}; - herr_t status; - int val; - - /* Compound datatype */ - typedef struct s_t - { - int a; - float b; - } s_t; - - typedef enum - { - E_RED, - E_GREEN -} e_t; - -/*------------------------------------------------------------------------- - * Create a file - *------------------------------------------------------------------------- - */ - file1_id = H5Fcreate (file1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - -/*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ - space_id = H5Screate(H5S_SCALAR); - type_id = H5Tcopy(H5T_C_S1); - dataset_id = H5Dcreate(file1_id,"string",type_id,space_id,H5P_DEFAULT); - status = H5Dclose(dataset_id); - status = H5Sclose(space_id); - status = H5Tclose(type_id); - -/*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ - - type_id = H5Tcopy(H5T_STD_B8LE); - write_dataset(file1_id,1,dims,"bitfield",type_id,0); - status = H5Tclose(type_id); - - -/*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ - - type_id = H5Tcreate(H5T_OPAQUE, 1); - status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */ - write_dataset(file1_id,1,dims,"opaque",type_id,0); - status = H5Tclose(type_id); - -/*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ - - type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); - H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_INT); - H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_FLOAT); - write_dataset(file1_id,1,dims,"compound",type_id,0); - status = H5Tclose(type_id); - -/*------------------------------------------------------------------------- - * H5T_REFERENCE - *------------------------------------------------------------------------- - */ - write_dataset(file1_id,1,dims,"ref",H5T_STD_REF_OBJ,0); - -/*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ - type_id = H5Tcreate(H5T_ENUM, sizeof(e_t)); - H5Tenum_insert(type_id, "RED", (val = 0, &val)); - H5Tenum_insert(type_id, "GREEN", (val = 1, &val)); - write_dataset(file1_id,1,dims,"enum",type_id,0); - status = H5Tclose(type_id); - -/*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ - type_id = H5Tvlen_create(H5T_NATIVE_INT); - write_dataset(file1_id,1,dims,"vlen",type_id,0); - status = H5Tclose(type_id); - -/*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ - type_id = H5Tarray_create(H5T_NATIVE_INT,1,dims,NULL); - write_dataset(file1_id,1,dims,"array",type_id,0); - status = H5Tclose(type_id); - -/*------------------------------------------------------------------------- - * H5T_INTEGER vs H5T_FLOAT - *------------------------------------------------------------------------- - */ - - write_dataset(file1_id,1,dims,"integer",H5T_NATIVE_INT,0); - write_dataset(file1_id,1,dims,"float",H5T_NATIVE_FLOAT,0); - -/*------------------------------------------------------------------------- - * Close - *------------------------------------------------------------------------- - */ - status = H5Fclose(file1_id); - return status; -} - - -/*------------------------------------------------------------------------- - * Dimension issues - *------------------------------------------------------------------------- - */ -static -int do_test_4(const char *file1, const char UNUSED *file2) -{ - - hid_t file1_id; - hid_t dataset_id; - hid_t space_id; - hid_t plist_id; - herr_t status; - hsize_t dims1 [1]={7}; - hsize_t dims2 [4]={2,2,2,2}; - hsize_t dims21[4]={2,2,2,3}; - -/*------------------------------------------------------------------------- - * Create a file - *------------------------------------------------------------------------- - */ - file1_id = H5Fcreate (file1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - -/*------------------------------------------------------------------------- - * rank - *------------------------------------------------------------------------- - */ - write_dataset(file1_id,1,dims1,"dset1",H5T_NATIVE_INT,NULL); - write_dataset(file1_id,4,dims2,"dset2",H5T_NATIVE_INT,NULL); - -/*------------------------------------------------------------------------- - * current dimensions - *------------------------------------------------------------------------- - */ - write_dataset(file1_id,4,dims2,"dset3",H5T_NATIVE_INT,NULL); - write_dataset(file1_id,4,dims21,"dset4",H5T_NATIVE_INT,NULL); - -/*------------------------------------------------------------------------- - * Check for the same maximum dimensions. Give a warning if they are different - *------------------------------------------------------------------------- - */ - - space_id = H5Screate_simple(4,dims2,dims2); - dataset_id = H5Dcreate(file1_id,"dset5",H5T_NATIVE_INT,space_id,H5P_DEFAULT); - status = H5Dclose(dataset_id); - status = H5Sclose(space_id); - space_id = H5Screate_simple(4,dims2,dims21); - plist_id = H5Pcreate(H5P_DATASET_CREATE); - status = H5Pset_chunk(plist_id,4,dims2); - dataset_id = H5Dcreate(file1_id,"dset6",H5T_NATIVE_INT,space_id,plist_id); - status = H5Dclose(dataset_id); - status = H5Sclose(space_id); - -/*------------------------------------------------------------------------- - * Close - *------------------------------------------------------------------------- - */ - status = H5Fclose(file1_id); - return status; -} - - - - -/*------------------------------------------------------------------------- - * Datasets datatypes - *------------------------------------------------------------------------- - */ -static -int do_test_5(const char *file1, const char UNUSED *file2) -{ - - hid_t file1_id; - hsize_t dims[2]={3,2}; - herr_t status; - char buf1a[3][2] = {{1,1},{1,1},{1,1}}; - char buf1b[3][2] = {{1,1},{3,4},{5,6}}; - short buf2a[3][2] = {{1,1},{1,1},{1,1}}; - short buf2b[3][2] = {{1,1},{3,4},{5,6}}; - int buf3a[3][2] = {{1,1},{1,1},{1,1}}; - int buf3b[3][2] = {{1,1},{3,4},{5,6}}; - long buf4a[3][2] = {{1,1},{1,1},{1,1}}; - long buf4b[3][2] = {{1,1},{3,4},{5,6}}; - float buf5a[3][2] = {{1,1},{1,1},{1,1}}; - float buf5b[3][2] = {{1,1},{3,4},{5,6}}; - double buf6a[3][2] = {{1,1},{1,1},{1,1}}; - double buf6b[3][2] = {{1,1},{3,4},{5,6}}; - - /*unsigned/signed test - signed char -128 to 127 - unsigned char 0 to 255 - */ - char buf7a[3][2] = {{-1,-128},{-1,-1},{-1,-1}}; - unsigned char buf7b[3][2] = {{1,128},{1,1},{1,1}}; - - /* long_long test */ - long_long buf8a[3][2] = {{1,1},{1,1},{1,1}}; - long_long buf8b[3][2] = {{1,1},{3,4},{5,6}}; - unsigned long_long buf9a[3][2] = {{1,1},{1,1},{1,1}}; - unsigned long_long buf9b[3][2] = {{1,1},{3,4},{5,6}}; - - unsigned int buf10a[3][2] = {{UIMAX,1},{1,1},{1,1}}; - unsigned int buf10b[3][2] = {{UIMAX-1,1},{3,4},{5,6}}; - - -/*------------------------------------------------------------------------- - * Create a file - *------------------------------------------------------------------------- - */ - file1_id = H5Fcreate (file1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - -/*------------------------------------------------------------------------- - * Check for different storage order. Give a warning if they are different - *------------------------------------------------------------------------- - */ - - write_dataset(file1_id,2,dims,"dset0a",H5T_STD_I16LE,buf2a); - write_dataset(file1_id,2,dims,"dset0b",H5T_STD_I32LE,buf3b); - -/*------------------------------------------------------------------------- - * Check H5T_NATIVE_CHAR - *------------------------------------------------------------------------- - */ - write_dataset(file1_id,2,dims,"dset1a",H5T_NATIVE_CHAR,buf1a); - write_dataset(file1_id,2,dims,"dset1b",H5T_NATIVE_CHAR,buf1b); - -/*------------------------------------------------------------------------- - * Check H5T_NATIVE_SHORT - *------------------------------------------------------------------------- - */ - write_dataset(file1_id,2,dims,"dset2a",H5T_NATIVE_SHORT,buf2a); - write_dataset(file1_id,2,dims,"dset2b",H5T_NATIVE_SHORT,buf2b); - -/*------------------------------------------------------------------------- - * Check H5T_NATIVE_INT - *------------------------------------------------------------------------- - */ - write_dataset(file1_id,2,dims,"dset3a",H5T_NATIVE_INT,buf3a); - write_dataset(file1_id,2,dims,"dset3b",H5T_NATIVE_INT,buf3b); - -/*------------------------------------------------------------------------- - * Check H5T_NATIVE_LONG - *------------------------------------------------------------------------- - */ - write_dataset(file1_id,2,dims,"dset4a",H5T_NATIVE_LONG,buf4a); - write_dataset(file1_id,2,dims,"dset4b",H5T_NATIVE_LONG,buf4b); - -/*------------------------------------------------------------------------- - * Check H5T_NATIVE_FLOAT - *------------------------------------------------------------------------- - */ - write_dataset(file1_id,2,dims,"dset5a",H5T_NATIVE_FLOAT,buf5a); - write_dataset(file1_id,2,dims,"dset5b",H5T_NATIVE_FLOAT,buf5b); - -/*------------------------------------------------------------------------- - * Check H5T_NATIVE_DOUBLE - *------------------------------------------------------------------------- - */ - - write_dataset(file1_id,2,dims,"dset6a",H5T_NATIVE_DOUBLE,buf6a); - write_dataset(file1_id,2,dims,"dset6b",H5T_NATIVE_DOUBLE,buf6b); - -/*------------------------------------------------------------------------- - * H5T_NATIVE_CHAR and H5T_NATIVE_UCHAR - *------------------------------------------------------------------------- - */ - - write_dataset(file1_id,2,dims,"dset7a",H5T_NATIVE_CHAR,buf7a); - write_dataset(file1_id,2,dims,"dset7b",H5T_NATIVE_UCHAR,buf7b); - -/*------------------------------------------------------------------------- - * H5T_NATIVE_LLONG - *------------------------------------------------------------------------- - */ - - write_dataset(file1_id,2,dims,"dset8a",H5T_NATIVE_LLONG,buf8a); - write_dataset(file1_id,2,dims,"dset8b",H5T_NATIVE_LLONG,buf8b); - -/*------------------------------------------------------------------------- - * H5T_NATIVE_ULLONG - *------------------------------------------------------------------------- - */ - - write_dataset(file1_id,2,dims,"dset9a",H5T_NATIVE_ULLONG,buf9a); - write_dataset(file1_id,2,dims,"dset9b",H5T_NATIVE_ULLONG,buf9b); - -/*------------------------------------------------------------------------- - * H5T_NATIVE_INT - *------------------------------------------------------------------------- - */ - - write_dataset(file1_id,2,dims,"dset10a",H5T_NATIVE_UINT,buf10a); - write_dataset(file1_id,2,dims,"dset10b",H5T_NATIVE_UINT,buf10b); - - -/*------------------------------------------------------------------------- - * Close - *------------------------------------------------------------------------- - */ - status = H5Fclose(file1_id); - return status; -} - |