summaryrefslogtreecommitdiffstats
path: root/tools/h5import
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2016-10-27 15:04:42 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2016-10-27 15:04:42 (GMT)
commit5b562d9ce9b2945d0378b9c03e01f42923da80f4 (patch)
tree3fa67d9656f2b32330e3fe31996952f60f71cdb9 /tools/h5import
parentb34423f620b470e1c5dc38cdd3abbd5fe8adc4ec (diff)
downloadhdf5-5b562d9ce9b2945d0378b9c03e01f42923da80f4.zip
hdf5-5b562d9ce9b2945d0378b9c03e01f42923da80f4.tar.gz
hdf5-5b562d9ce9b2945d0378b9c03e01f42923da80f4.tar.bz2
Split tools into src and test - remove folders
Diffstat (limited to 'tools/h5import')
-rw-r--r--tools/h5import/CMakeLists.txt54
-rw-r--r--tools/h5import/CMakeTests.cmake465
-rw-r--r--tools/h5import/Makefile.am46
-rw-r--r--tools/h5import/h5import.c4393
-rw-r--r--tools/h5import/h5import.h198
-rw-r--r--tools/h5import/h5importtest.c371
-rw-r--r--tools/h5import/h5importtestutil.sh.in384
-rw-r--r--tools/h5import/testfiles/binfp64.conf13
-rw-r--r--tools/h5import/testfiles/binfp64.h5bin10760 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/binin16.conf12
-rw-r--r--tools/h5import/testfiles/binin16.h5bin10760 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/binin32.conf12
-rw-r--r--tools/h5import/testfiles/binin32.h5bin9472 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/binin8.conf16
-rw-r--r--tools/h5import/testfiles/binin8.h5bin10760 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/binin8w.conf9
-rw-r--r--tools/h5import/testfiles/binin8w.h5bin2852 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/binuin16.conf12
-rw-r--r--tools/h5import/testfiles/binuin16.h5bin10760 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/binuin32.conf12
-rw-r--r--tools/h5import/testfiles/binuin32.h5bin6384 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/dbinfp64.h5.txt2
-rw-r--r--tools/h5import/testfiles/dbinin16.h5.txt2
-rw-r--r--tools/h5import/testfiles/dbinin32.h5.txt2
-rw-r--r--tools/h5import/testfiles/dbinin8.h5.txt2
-rw-r--r--tools/h5import/testfiles/dbinin8w.h5.txt2
-rw-r--r--tools/h5import/testfiles/dbinuin16.h5.txt2
-rw-r--r--tools/h5import/testfiles/dbinuin32.h5.txt2
-rw-r--r--tools/h5import/testfiles/dtxtstr.h5.txt2
-rw-r--r--tools/h5import/testfiles/textpfe.conf12
-rw-r--r--tools/h5import/testfiles/textpfe.h5bin2064 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/textpfe64.txt2
-rw-r--r--tools/h5import/testfiles/txtfp32.conf10
-rw-r--r--tools/h5import/testfiles/txtfp32.h5bin4192 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/txtfp32.txt9
-rw-r--r--tools/h5import/testfiles/txtfp64.conf13
-rw-r--r--tools/h5import/testfiles/txtfp64.h5bin9784 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/txtfp64.txt19
-rw-r--r--tools/h5import/testfiles/txtin16.conf12
-rw-r--r--tools/h5import/testfiles/txtin16.h5bin9784 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/txtin16.txt15
-rw-r--r--tools/h5import/testfiles/txtin32.conf11
-rw-r--r--tools/h5import/testfiles/txtin32.h5bin4192 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/txtin32.txt15
-rw-r--r--tools/h5import/testfiles/txtin8.conf18
-rw-r--r--tools/h5import/testfiles/txtin8.h5bin9784 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/txtin8.txt15
-rw-r--r--tools/h5import/testfiles/txtstr.conf6
-rw-r--r--tools/h5import/testfiles/txtstr.h5bin10240 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/txtstr.txt2
-rw-r--r--tools/h5import/testfiles/txtuin16.conf12
-rw-r--r--tools/h5import/testfiles/txtuin16.h5bin10240 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/txtuin16.txt15
-rw-r--r--tools/h5import/testfiles/txtuin32.conf11
-rw-r--r--tools/h5import/testfiles/txtuin32.h5bin6240 -> 0 bytes
-rw-r--r--tools/h5import/testfiles/txtuin32.txt15
56 files changed, 0 insertions, 6225 deletions
diff --git a/tools/h5import/CMakeLists.txt b/tools/h5import/CMakeLists.txt
deleted file mode 100644
index 15c8d94..0000000
--- a/tools/h5import/CMakeLists.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-cmake_minimum_required (VERSION 3.1.0)
-PROJECT (HDF5_TOOLS_H5IMPORT)
-
-#-----------------------------------------------------------------------------
-# Setup include Directories
-#-----------------------------------------------------------------------------
-INCLUDE_DIRECTORIES (${HDF5_TOOLS_DIR}/lib)
-
-# --------------------------------------------------------------------
-# Add the h5import executables
-# --------------------------------------------------------------------
-add_executable (h5import ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/h5import.c)
-TARGET_NAMING (h5import STATIC)
-TARGET_C_PROPERTIES (h5import STATIC " " " ")
-target_link_libraries (h5import ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
-#set_target_properties (h5import PROPERTIES COMPILE_DEFINITIONS H5DEBUGIMPORT)
-set_target_properties (h5import PROPERTIES FOLDER tools)
-set_global_variable (HDF5_UTILS_TO_EXPORT "${HDF5_UTILS_TO_EXPORT};h5import")
-
-set (H5_DEP_EXECUTABLES h5import)
-
-if (BUILD_TESTING)
- # --------------------------------------------------------------------
- # Add the h5import executables
- # --------------------------------------------------------------------
- add_executable (h5importtest ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/h5importtest.c)
- TARGET_NAMING (h5importtest STATIC)
- TARGET_C_PROPERTIES (h5importtest STATIC " " " ")
- target_link_libraries (h5importtest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
- set_target_properties (h5importtest PROPERTIES FOLDER tools)
-
- include (CMakeTests.cmake)
-
-endif (BUILD_TESTING)
-
-##############################################################################
-##############################################################################
-### I N S T A L L A T I O N ###
-##############################################################################
-##############################################################################
-
-#-----------------------------------------------------------------------------
-# Rules for Installation of tools using make Install target
-#-----------------------------------------------------------------------------
-
-#INSTALL_PROGRAM_PDB (h5import ${HDF5_INSTALL_BIN_DIR} toolsapplications)
-
-install (
- TARGETS
- h5import
- EXPORT
- ${HDF5_EXPORTED_TARGETS}
- RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT toolsapplications
-)
diff --git a/tools/h5import/CMakeTests.cmake b/tools/h5import/CMakeTests.cmake
deleted file mode 100644
index 0fdf9dd..0000000
--- a/tools/h5import/CMakeTests.cmake
+++ /dev/null
@@ -1,465 +0,0 @@
-
-##############################################################################
-##############################################################################
-### T E S T I N G ###
-##############################################################################
-##############################################################################
-
- set (HDF5_REFERENCE_CONF_FILES
- binfp64.conf
- binin8.conf
- binin8w.conf
- binin16.conf
- binin32.conf
- binuin16.conf
- binuin32.conf
- txtfp32.conf
- txtfp64.conf
- txtin8.conf
- txtin16.conf
- txtin32.conf
- txtuin16.conf
- txtuin32.conf
- textpfe.conf
- txtstr.conf
- )
- set (HDF5_REFERENCE_TXT_FILES
- txtfp32.txt
- txtfp64.txt
- txtuin16.txt
- txtuin32.txt
- txtin8.txt
- txtin16.txt
- txtin32.txt
- textpfe64.txt
- txtstr.txt
- dbinfp64.h5.txt
- dbinin8.h5.txt
- dbinin8w.h5.txt
- dbinin16.h5.txt
- dbinin32.h5.txt
- dbinuin16.h5.txt
- dbinuin32.h5.txt
- dtxtstr.h5.txt
- )
- set (HDF5_REFERENCE_TEST_FILES
- binfp64.h5
- binin8.h5
- binin8w.h5
- binin16.h5
- binin32.h5
- binuin16.h5
- binuin32.h5
- txtfp32.h5
- txtfp64.h5
- txtin8.h5
- txtin16.h5
- txtin32.h5
- txtuin16.h5
- txtuin32.h5
- txtstr.h5
- textpfe.h5
- )
-
- file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
- foreach (conf_file ${HDF5_REFERENCE_CONF_FILES})
- HDFTEST_COPY_FILE("${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/testfiles/${conf_file}" "${PROJECT_BINARY_DIR}/testfiles/${conf_file}" "h5import_files")
- endforeach (conf_file ${HDF5_REFERENCE_CONF_FILES})
-
- foreach (txt_file ${HDF5_REFERENCE_TXT_FILES})
- HDFTEST_COPY_FILE("${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/testfiles/${txt_file}" "${PROJECT_BINARY_DIR}/testfiles/${txt_file}" "h5import_files")
- endforeach (txt_file ${HDF5_REFERENCE_TXT_FILES})
-
- foreach (h5_file ${HDF5_REFERENCE_TEST_FILES})
- HDFTEST_COPY_FILE("${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/testfiles/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/${h5_file}" "h5import_files")
- endforeach (h5_file ${HDF5_REFERENCE_TEST_FILES})
- add_custom_target(h5import_files ALL COMMENT "Copying files needed by h5import tests" DEPENDS ${h5import_files_list})
-
-##############################################################################
-##############################################################################
-### T H E T E S T S M A C R O S ###
-##############################################################################
-##############################################################################
- MACRO (ADD_H5_TEST testname importfile conffile testfile)
- # If using memchecker skip macro based tests
- if (HDF5_ENABLE_USING_MEMCHECKER)
- add_test (NAME H5IMPORT-${testname} COMMAND $<TARGET_FILE:h5import> ${importfile} -c ${conffile} -o ${testfile})
- if (NOT "${last_test}" STREQUAL "")
- set_tests_properties (H5IMPORT-${testname} PROPERTIES DEPENDS H5IMPORT-h5importtest)
- endif ()
- else (HDF5_ENABLE_USING_MEMCHECKER)
- add_test (
- NAME H5IMPORT-${testname}-clear-objects
- COMMAND ${CMAKE_COMMAND}
- -E remove
- ${testfile}
- )
- set_tests_properties (H5IMPORT-${testname}-clear-objects PROPERTIES DEPENDS H5IMPORT-h5importtest)
-
- add_test (NAME H5IMPORT-${testname} COMMAND $<TARGET_FILE:h5import> ${importfile} -c ${conffile} -o ${testfile})
- set_tests_properties (H5IMPORT-${testname} PROPERTIES DEPENDS H5IMPORT-${testname}-clear-objects)
-
- add_test (
- NAME H5IMPORT-${testname}-H5DMP
- COMMAND "${CMAKE_COMMAND}"
- -D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
- -D "TEST_ARGS:STRING=${testfile}"
- -D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
- -D "TEST_OUTPUT=${testfile}.new"
- -D "TEST_EXPECT=0"
- -D "TEST_FILTER=(^(HDF5)[^\n]*)"
- -D "TEST_SKIP_COMPARE=TRUE"
- -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
- )
- set_tests_properties (H5IMPORT-${testname}-H5DMP PROPERTIES DEPENDS H5IMPORT-${testname})
- add_test (
- NAME H5IMPORT-${testname}-H5DMP_CMP
- COMMAND "${CMAKE_COMMAND}"
- -D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
- -D "TEST_ARGS:STRING=testfiles/${testfile}"
- -D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
- -D "TEST_OUTPUT=${testfile}.out"
- -D "TEST_EXPECT=0"
- -D "TEST_FILTER=(^(HDF5)[^\n]*)"
- -D "TEST_REFERENCE=${testfile}.new"
- -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
- )
- set_tests_properties (H5IMPORT-${testname}-H5DMP_CMP PROPERTIES DEPENDS H5IMPORT-${testname}-H5DMP)
- endif (HDF5_ENABLE_USING_MEMCHECKER)
- ENDMACRO (ADD_H5_TEST testname importfile conffile testfile)
-
- MACRO (ADD_H5_DUMPTEST testname datasetname testfile)
- # If using memchecker skip tests
- if (NOT HDF5_ENABLE_USING_MEMCHECKER)
- add_test (
- NAME H5IMPORT-DUMP-${testname}-clear-objects
- COMMAND ${CMAKE_COMMAND}
- -E remove
- d${testfile}
- d${testfile}.bin
- )
- set_tests_properties (H5IMPORT-DUMP-${testname}-clear-objects PROPERTIES DEPENDS H5IMPORT-h5importtest)
-
- if ("${ARGN}" STREQUAL "BINARY")
- add_test (
- NAME H5IMPORT-DUMP-${testname}-H5DMP
- COMMAND "${CMAKE_COMMAND}"
- -D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
- -D "TEST_ARGS:STRING=-p;-d;${datasetname};-o;d${testfile}.bin;-b;testfiles/${testfile}"
- -D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
- -D "TEST_OUTPUT=d${testfile}.dmp"
- -D "TEST_EXPECT=0"
- -D "TEST_SKIP_COMPARE=TRUE"
- -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
- )
- else ("${ARGN}" STREQUAL "BINARY")
- add_test (
- NAME H5IMPORT-DUMP-${testname}-H5DMP
- COMMAND "${CMAKE_COMMAND}"
- -D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
- -D "TEST_ARGS:STRING=-p;-d;${datasetname};-o;d${testfile}.bin;-y;--width=1;testfiles/${testfile}"
- -D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
- -D "TEST_OUTPUT=d${testfile}.dmp"
- -D "TEST_EXPECT=0"
- -D "TEST_SKIP_COMPARE=TRUE"
- -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
- )
- endif ("${ARGN}" STREQUAL "BINARY")
- set_tests_properties (H5IMPORT-DUMP-${testname}-H5DMP PROPERTIES DEPENDS "H5IMPORT-DUMP-${testname}-clear-objects")
-
- add_test (
- NAME H5IMPORT-DUMP-${testname}
- COMMAND "${CMAKE_COMMAND}"
- -D "TEST_PROGRAM=$<TARGET_FILE:h5import>"
- -D "TEST_ARGS:STRING=d${testfile}.bin;-c;d${testfile}.dmp;-o;d${testfile}"
- -D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
- -D "TEST_OUTPUT=d${testfile}.imp"
- -D "TEST_EXPECT=0"
- -D "TEST_SKIP_COMPARE=TRUE"
- -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
- )
- set_tests_properties (H5IMPORT-DUMP-${testname} PROPERTIES DEPENDS "H5IMPORT-DUMP-${testname}-H5DMP")
-
- add_test (
- NAME H5IMPORT-DUMP-${testname}-H5DFF
- COMMAND "${CMAKE_COMMAND}"
- -D "TEST_PROGRAM=$<TARGET_FILE:h5diff>"
- -D "TEST_ARGS:STRING=-r;d${testfile};testfiles/${testfile};${datasetname};${datasetname}"
- -D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
- -D "TEST_OUTPUT=d${testfile}.dff"
- -D "TEST_EXPECT=0"
- -D "TEST_FILTER=(^(Warning)[^\n]*)"
- -D "TEST_REFERENCE=testfiles/d${testfile}.txt"
- -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
- )
- set_tests_properties (H5IMPORT-DUMP-${testname}-H5DFF PROPERTIES DEPENDS "H5IMPORT-DUMP-${testname}")
- endif (NOT HDF5_ENABLE_USING_MEMCHECKER)
- ENDMACRO (ADD_H5_DUMPTEST testname datasetname testfile)
-
- MACRO (ADD_H5_SKIP_DUMPTEST testname datasetname testfile)
- if (NOT HDF5_ENABLE_USING_MEMCHECKER)
- add_test (
- NAME H5IMPORT-DUMP-${testname}-SKIPPED
- COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${testname} ${datasetname} ${testfile} --- DEFLATE filter not available"
- )
- endif (NOT HDF5_ENABLE_USING_MEMCHECKER)
- ENDMACRO (ADD_H5_SKIP_DUMPTEST testname datasetname testfile)
-
- # --------------------------------------------------------------------
- # Determine if filter is available for h5diff
- # --------------------------------------------------------------------
- if (H5_HAVE_FILTER_DEFLATE)
- set (USE_FILTER_DEFLATE "true")
- endif (H5_HAVE_FILTER_DEFLATE)
-
-##############################################################################
-##############################################################################
-### T H E T E S T S ###
-##############################################################################
-##############################################################################
-
- if (HDF5_ENABLE_USING_MEMCHECKER)
- # Remove any output file left over from previous test run
- add_test (
- NAME H5IMPORT-clear-objects
- COMMAND ${CMAKE_COMMAND}
- -E remove
- binfp64.bin
- binin8.bin
- binin8w.bin
- binin16.bin
- binin32.bin
- binuin16.bin
- binuin32.bin
- txtin32.h5
- txtin32.h5.new
- txtin32.h5.new.err
- txtin32.h5.out
- txtin32.h5.out.err
- txtin16.h5
- txtin16.h5.new
- txtin16.h5.new.err
- txtin16.h5.out
- txtin16.h5.out.err
- txtin8.h5
- txtin8.h5.new
- txtin8.h5.new.err
- txtin8.h5.out
- txtin8.h5.out.err
- txtuin16.h5
- txtuin16.h5.new
- txtuin16.h5.new.err
- txtuin16.h5.out
- txtuin16.h5.out.err
- txtuin32.h5
- txtuin32.h5.new
- txtuin32.h5.new.err
- txtuin32.h5.out
- txtuin32.h5.out.err
- txtfp32.h5
- txtfp32.h5.new
- txtfp32.h5.new.err
- txtfp32.h5.out
- txtfp32.h5.out.err
- txtfp64.h5
- txtfp64.h5.new
- txtfp64.h5.new.err
- txtfp64.h5.out
- txtfp64.h5.out.err
- binfp64.h5
- binfp64.h5.new
- binfp64.h5.new.err
- binfp64.h5.out
- binfp64.h5.out.err
- binin8.h5
- binin8.h5.new
- binin8.h5.new.err
- binin8.h5.out
- binin8.h5.out.err
- binin8w.h5
- binin8w.h5.new
- binin8w.h5.new.err
- binin8w.h5.out
- binin8w.h5.out.err
- binin16.h5
- binin16.h5.new
- binin16.h5.new.err
- binin16.h5.out
- binin16.h5.out.err
- binin32.h5
- binin32.h5.new
- binin32.h5.new.err
- binin32.h5.out
- binin32.h5.out.err
- binuin16.h5
- binuin16.h5.new
- binuin16.h5.new.err
- binuin16.h5.out
- binuin16.h5.out.err
- binuin32.h5
- binuin32.h5.new
- binuin32.h5.new.err
- binuin32.h5.out
- binuin32.h5.out.err
- txtstr.h5
- txtstr.h5.new
- txtstr.h5.new.err
- txtstr.h5.out
- txtstr.h5.out.err
- textpfe.h5
- textpfe.h5.new
- textpfe.h5.new.err
- textpfe.h5.out
- textpfe.h5.out.err
- dbinfp64.h5
- dbinfp64.h5.bin
- dbinfp64.h5.imp
- dbinfp64.h5.imp.err
- dbinfp64.h5.dmp
- dbinfp64.h5.dmp.err
- dbinfp64.h5.dff
- dbinfp64.h5.dff.err
- dbinin8.h5
- dbinin8.h5.bin
- dbinin8.h5.imp
- dbinin8.h5.imp.err
- dbinin8.h5.dmp
- dbinin8.h5.dmp.err
- dbinin8.h5.dff
- dbinin8.h5.dff.err
- dbinin8w.h5
- dbinin8w.h5.bin
- dbinin8w.h5.imp
- dbinin8w.h5.imp.err
- dbinin8w.h5.dmp
- dbinin8w.h5.dmp.err
- dbinin8w.h5.dff
- dbinin8w.h5.dff.err
- dbinin16.h5
- dbinin16.h5.bin
- dbinin16.h5.imp
- dbinin16.h5.imp.err
- dbinin16.h5.dmp
- dbinin16.h5.dmp.err
- dbinin16.h5.dff
- dbinin16.h5.dff.err
- dbinin32.h5
- dbinin32.h5.bin
- dbinin32.h5.imp
- dbinin32.h5.imp.err
- dbinin32.h5.dmp
- dbinin32.h5.dmp.err
- dbinin32.h5.dff
- dbinin32.h5.dff.err
- dbinuin16.h5
- dbinuin16.h5.bin
- dbinuin16.h5.imp
- dbinuin16.h5.imp.err
- dbinuin16.h5.dmp
- dbinuin16.h5.dmp.err
- dbinuin16.h5.dff
- dbinuin16.h5.dff.err
- dbinuin32.h5
- dbinuin32.h5.bin
- dbinuin32.h5.imp
- dbinuin32.h5.imp.err
- dbinuin32.h5.dmp
- dbinuin32.h5.dmp.err
- dbinuin32.h5.dff
- dbinuin32.h5.dff.err
- dtxtstr.h5
- dtxtstr.h5.bin
- dtxtstr.h5.imp
- dtxtstr.h5.imp.err
- dtxtstr.h5.dmp
- dtxtstr.h5.dmp.err
- dtxtstr.h5.dff
- dtxtstr.h5.dff.err
- )
- set (last_test "H5IMPORT-clear-objects")
- endif (HDF5_ENABLE_USING_MEMCHECKER)
-
- add_test (
- NAME H5IMPORT-h5importtest-clear-objects
- COMMAND ${CMAKE_COMMAND}
- -E remove
- binfp64.bin
- binin8.bin
- binin8w.bin
- binin16.bin
- binin32.bin
- binuin16.bin
- binuin32.bin
- )
- if (NOT "${last_test}" STREQUAL "")
- set_tests_properties (H5IMPORT-h5importtest-clear-objects PROPERTIES DEPENDS ${last_test})
- endif (NOT "${last_test}" STREQUAL "")
- set (last_test "H5IMPORT-clear-objects")
-
- add_test (NAME H5IMPORT-h5importtest COMMAND $<TARGET_FILE:h5importtest>)
- set_tests_properties (H5IMPORT-h5importtest PROPERTIES DEPENDS H5IMPORT-h5importtest-clear-objects)
-
- # ----- TESTING "ASCII I32 rank 3 - Output BE " ;
- ADD_H5_TEST (ASCII_I32 testfiles/txtin32.txt testfiles/txtin32.conf txtin32.h5)
-
- # ----- TESTING "ASCII I16 rank 3 - Output LE - CHUNKED - extended"
- ADD_H5_TEST (ASCII_I16 testfiles/txtin16.txt testfiles/txtin16.conf txtin16.h5)
-
- # ----- TESTING "ASCII I8 - rank 3 - Output I8 LE-Chunked+Extended+Compressed "
- ADD_H5_TEST (ASCII_I8 testfiles/txtin8.txt testfiles/txtin8.conf txtin8.h5)
-
- # ----- TESTING "ASCII UI16 - rank 2 - Output LE+Chunked+Compressed "
- ADD_H5_TEST (ASCII_UI16 testfiles/txtuin16.txt testfiles/txtuin16.conf txtuin16.h5)
-
- # ----- TESTING "ASCII UI32 - rank 3 - Output BE"
- ADD_H5_TEST (ASCII_UI32 testfiles/txtuin32.txt testfiles/txtuin32.conf txtuin32.h5)
-
- # ----- TESTING "ASCII F32 - rank 3 - Output LE "
- ADD_H5_TEST (ASCII_F32 testfiles/txtfp32.txt testfiles/txtfp32.conf txtfp32.h5)
-
- # ----- TESTING "ASCII F64 - rank 3 - Output BE + CHUNKED+Extended+Compressed "
- ADD_H5_TEST (ASCII_F64 testfiles/txtfp64.txt testfiles/txtfp64.conf txtfp64.h5)
-
- # ----- TESTING "BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed "
- ADD_H5_TEST (BINARY_F64 binfp64.bin testfiles/binfp64.conf binfp64.h5)
- if (NOT USE_FILTER_DEFLATE)
- ADD_H5_SKIP_DUMPTEST (BINARY_F64 "/fp/bin/64-bit" binfp64.h5 BINARY)
- else (NOT USE_FILTER_DEFLATE)
- ADD_H5_DUMPTEST (BINARY_F64 "/fp/bin/64-bit" binfp64.h5 BINARY)
- endif (NOT USE_FILTER_DEFLATE)
-
- # ----- TESTING "BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed "
- ADD_H5_TEST (BINARY_I8 binin8.bin testfiles/binin8.conf binin8.h5)
- if (NOT USE_FILTER_DEFLATE)
- ADD_H5_SKIP_DUMPTEST (BINARY_I8 "/int/bin/8-bit" binin8.h5 BINARY)
- else (NOT USE_FILTER_DEFLATE)
- ADD_H5_DUMPTEST (BINARY_I8 "/int/bin/8-bit" binin8.h5 BINARY)
- endif (NOT USE_FILTER_DEFLATE)
-
- # ----- TESTING "BINARY I16 - rank 3 - Output order LE + CHUNKED + extended "
- ADD_H5_TEST (BINARY_I16 binin16.bin testfiles/binin16.conf binin16.h5)
- ADD_H5_DUMPTEST (BINARY_I16 "/int/bin/16-bit" binin16.h5 BINARY)
-
- # ----- TESTING "BINARY I32 - rank 3 - Output BE + CHUNKED "
- ADD_H5_TEST (BINARY_I32 binin32.bin testfiles/binin32.conf binin32.h5)
- ADD_H5_DUMPTEST (BINARY_I32 "/int/bin/32-bit" binin32.h5 BINARY)
-
- # ----- TESTING "BINARY UI16 - rank 3 - Output byte BE + CHUNKED "
- ADD_H5_TEST (BINARY_UI16 binuin16.bin testfiles/binuin16.conf binuin16.h5)
- ADD_H5_DUMPTEST (BINARY_UI16 "/int/buin/16-bit" binuin16.h5 BINARY)
-
- # ----- TESTING "BINARY UI32 - rank 3 - Output LE "
- ADD_H5_TEST (BINARY_UI32 binuin32.bin testfiles/binuin32.conf binuin32.h5)
- ADD_H5_DUMPTEST (BINARY_UI32 "/int/buin/32-bit" binuin32.h5 BINARY)
-
- # ----- TESTING "STR"
- ADD_H5_TEST (STR testfiles/txtstr.txt testfiles/txtstr.conf txtstr.h5)
- ADD_H5_DUMPTEST (STR "/mytext/data" txtstr.h5)
-
- # ----- TESTING "BINARY I8 CR LF EOF"
- ADD_H5_TEST (BINARY_I8_EOF binin8w.bin testfiles/binin8w.conf binin8w.h5)
- ADD_H5_DUMPTEST (BINARY_I8_EOF "/dataset0" binin8w.h5 BINARY)
-
- # ----- TESTING "ASCII F64 - rank 1 - INPUT-CLASS TEXTFPE "
- ADD_H5_TEST (ASCII_F64_R1 testfiles/textpfe64.txt testfiles/textpfe.conf textpfe.h5)
-
diff --git a/tools/h5import/Makefile.am b/tools/h5import/Makefile.am
deleted file mode 100644
index af60478..0000000
--- a/tools/h5import/Makefile.am
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Copyright by The HDF Group.
-# 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://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-# access to either file, you may request a copy from help@hdfgroup.org.
-##
-## Makefile.am
-## Run automake to generate a Makefile.in from this file.
-#
-# HDF5 Library Makefile(.in)
-#
-
-include $(top_srcdir)/config/commence.am
-
-# Include src and tools/lib directories
-AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
-
-# Test programs and scripts
-TEST_PROG=h5importtest
-TEST_SCRIPT=h5importtestutil.sh
-
-check_PROGRAMS=$(TEST_PROG)
-check_SCRIPT=h5importtestutil.sh
-SCRIPT_DEPEND=h5import$(EXEEXT)
-
-# Our main targets
-bin_PROGRAMS=h5import
-
-# Add h5import specific linker flags here
-h5import_LDFLAGS = $(LT_STATIC_EXEC) $(AM_LDFLAGS)
-
-# All programs depend on the main hdf5 library and the tools library
-LDADD=$(LIBH5TOOLS) $(LIBHDF5)
-
-# Temporary files from h5importtest
-CHECK_CLEANFILES+=*.bin
-
-include $(top_srcdir)/config/conclude.am
diff --git a/tools/h5import/h5import.c b/tools/h5import/h5import.c
deleted file mode 100644
index d1aab0c..0000000
--- a/tools/h5import/h5import.c
+++ /dev/null
@@ -1,4393 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by The HDF Group. *
- * 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://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
- * access to either file, you may request a copy from help@hdfgroup.org. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include "hdf5.h"
-#include "H5private.h"
-#include <stdio.h>
-#include <math.h>
-#include <string.h>
-#include <ctype.h>
-#include "h5import.h"
-#include "h5tools.h"
-#include "h5tools_utils.h"
-
-/* Name of tool */
-#define PROGRAMNAME "h5import"
-
-#ifdef H5_HAVE_WIN32_API
-#define READ_OPEN_FLAGS "rb"
-#else
-#define READ_OPEN_FLAGS "r"
-#endif
-
-/* Local function declarations */
-static int gtoken(char *s);
-static int process(struct Options *opt);
-static int processConfigurationFile(char *infile, struct Input *in);
-static int mapKeywordToIndex(char *key);
-static int parsePathInfo(struct path_info *path, char *strm);
-static int parseDimensions(struct Input *in, char *strm);
-static int getInputSize(struct Input *in, int ival);
-static int getInputClass(struct Input *in, char * strm);
-static int getInputClassType(struct Input *in, char * strm);
-static int InputClassStrToInt(char *temp);
-static int getRank(struct Input *in, FILE *strm);
-static int getDimensionSizes(struct Input *in, FILE *strm);
-static int getOutputSize(struct Input *in, FILE *strm);
-static int getOutputClass(struct Input *in, FILE *strm);
-static int OutputClassStrToInt(char *temp);
-static int getOutputArchitecture(struct Input *in, FILE *strm);
-static int OutputArchStrToInt(const char *temp);
-static int getOutputByteOrder(struct Input *in, FILE *strm);
-static int OutputByteOrderStrToInt(const char *temp);
-static int getChunkedDimensionSizes(struct Input *in, FILE *strm);
-static int getCompressionType(struct Input *in, FILE *strm);
-static int CompressionTypeStrToInt(char *temp);
-static int getCompressionParameter(struct Input *in, FILE *strm);
-static int getExternalFilename(struct Input *in, FILE *strm);
-static int getMaximumDimensionSizes(struct Input *in, FILE *strm);
-static int processDataFile(char *infile, struct Input *in, hid_t file_id);
-static int readIntegerData(FILE *strm, struct Input *in);
-static int readFloatData(FILE *strm, struct Input *in);
-static int allocateIntegerStorage(struct Input *in);
-static int allocateFloatStorage(struct Input *in);
-static int readUIntegerData(FILE *strm, struct Input *in);
-static int allocateUIntegerStorage(struct Input *in);
-static int validateConfigurationParameters(struct Input *in);
-static int processStrData(FILE *strm, struct Input *in, hid_t file_id);
-static int processStrHDFData(FILE *strm, struct Input *in, hid_t file_id);
-
-int main(int argc, char *argv[])
-{
- struct Options opt;
- int outfile_named = FALSE;
- int token;
- int i;
- int state = 0;
- struct Input *in = NULL;
-
- const char *err1 = "Invalid number of arguments: %d.\n";
- const char *err2 = "Error in state table.\n";
- const char *err3 = "No output file given.\n";
- const char *err4 = "Program aborted.\n";
- const char *err5 = "Invalid path %s.\n";
- const char *err6 = "Invalid dimensions - %s.\n";
- const char *err7 = "Invalid type of data - %s.\n";
- const char *err8 = "Invalid size of data - %s.\n";
- const char *err9 = "Cannot specify more than 30 input files in one call to h5import.\n";
-
- h5tools_setprogname(PROGRAMNAME);
- h5tools_setstatus(EXIT_SUCCESS);
-
- /* Initialize h5tools lib */
- h5tools_init();
-
- (void) HDsetvbuf(stderr, (char *) NULL, _IOLBF, 0);
- (void) HDsetvbuf(stdout, (char *) NULL, _IOLBF, 0);
-
- if (argv[1] && (HDstrcmp("-V", argv[1]) == 0)) {
- print_version(PROGRAMNAME);
- HDexit(EXIT_SUCCESS);
- }
-
- /*
- * validate the number of command line arguments
- */
- if (argc < 2) {
- (void) HDfprintf(stderr, err1, argc);
- usage(argv[0]);
- goto err;
- }
-
- /* Initialize the file structure to 0 */
- HDmemset(&opt, 0, sizeof(struct Options));
-
- /*
- * parse the command line
- */
- for (i = 1; i < argc; i++) {
- if ((token = gtoken(argv[i])) == ERR) {
- usage(argv[0]);
- goto err;
- }
-
- state = state_table[state][token];
-
- switch (state) {
-
- case 1: /* counting input files */
- if (opt.fcount < 29) {
- (void) HDstrcpy(opt.infiles[opt.fcount].datafile, argv[i]);
- in = &(opt.infiles[opt.fcount].in);
- opt.infiles[opt.fcount].config = 0;
- setDefaultValues(in, opt.fcount);
- opt.fcount++;
- }
- else {
- (void) HDfprintf(stderr, err9, argv[i]);
- goto err;
- }
-
- break;
-
- case 2: /* -c found; look for configfile */
- break;
-
- case 3: /* get configfile name */
- (void) HDstrcpy(opt.infiles[opt.fcount-1].configfile, argv[i]);
- opt.infiles[opt.fcount - 1].config = 1;
- break;
-
- case 4: /* -o found; look for outfile */
- break;
-
- case 5: /* get outfile found */
- (void) HDstrcpy(opt.outfile, argv[i]);
- outfile_named = TRUE;
- break;
-
- case 6: /* -h found; help, then exit */
- help(argv[0]);
- HDexit(EXIT_SUCCESS);
- break;
-
- case 7: /* -d found; look for dimensions */
- break;
-
- case 8: /* read dimensions */
- if (parseDimensions(in, argv[i]) == -1) {
- (void) HDfprintf(stderr, err6, argv[i]);
- goto err;
- }
- break;
-
- case 9: /* -p found; look for path name */
- break;
-
- case 10: /* read path name */
- if (parsePathInfo(&in->path, argv[i]) == -1) {
- (void) HDfprintf(stderr, err5, argv[i]);
- goto err;
- }
- break;
-
- case 11: /* -t found; look for data type */
- break;
-
- case 12: /* read data type */
- if (getInputClass(in, argv[i]) == -1) {
- (void) HDfprintf(stderr, err7, argv[i]);
- goto err;
- }
-
- if (in->inputClass == 0 || in->inputClass == 4)
- in->outputClass = 0;
- if (in->inputClass == 1 || in->inputClass == 2 || in->inputClass == 3)
- in->outputClass = 1;
- if (in->inputClass == 6 || in->inputClass == 7)
- in->outputClass = 2;
- break;
-
- case 13: /* -s found; look for data size */
- break;
-
- case 14: /* read data size */
- if (getInputSize(in, (int) HDstrtol(argv[i], NULL, BASE_10)) == -1) {
- (void) HDfprintf(stderr, err8, argv[i]);
- goto err;
- }
- /*set default value for output-size */
- in->outputSize = in->inputSize;
- break;
-
- case ERR: /* command syntax error */
- default:
- (void) HDfprintf(stderr, "%s", err2);
- usage(argv[0]);
- goto err;
- }
- }
-
- if (FALSE == outfile_named) {
- (void) HDfprintf(stderr, "%s", err3);
- usage(argv[0]);
- goto err;
- }
-
- if (process(&opt) == -1)
- goto err;
-
- for (i = 0; i < opt.fcount; i++) {
- in = &(opt.infiles[i].in);
- if (in->sizeOfDimension)
- HDfree(in->sizeOfDimension);
- if (in->sizeOfChunk)
- HDfree(in->sizeOfChunk);
- if (in->maxsizeOfDimension)
- HDfree(in->maxsizeOfDimension);
- if (in->externFilename)
- HDfree(in->externFilename);
- if (in->data)
- HDfree(in->data);
- }
-
- return (EXIT_SUCCESS);
-err:
- (void) HDfprintf(stderr, "%s", err4);
- for (i = 0; i < opt.fcount; i++) {
- in = &(opt.infiles[i].in);
- if (in->sizeOfDimension)
- HDfree(in->sizeOfDimension);
- if (in->sizeOfChunk)
- HDfree(in->sizeOfChunk);
- if (in->maxsizeOfDimension)
- HDfree(in->maxsizeOfDimension);
- if (in->externFilename)
- HDfree(in->externFilename);
- if (in->data)
- HDfree(in->data);
- }
- return (EXIT_FAILURE);
-}
-
-static int gtoken(char *s)
-{
- size_t len;
- int token = ERR;
-
- const char *err1 = "Illegal argument: %s.\n";
-
- /*
- * identify the token type
- */
- if (s[0] == '-') { /* option name (or negative number) */
- len = HDstrlen(&s[1]);
- switch (s[1]) {
- case 'o':
- if (!HDstrncmp("outfile", &s[1], len))
- token = OPT_o;
- break;
-
- case 'c':
- if (!HDstrncmp("config", &s[1], len))
- token = OPT_c;
- break;
-
- case 'h':
- if (!HDstrncmp("help", &s[1], len))
- token = OPT_h;
- break;
-
- case 'd':
- if (!HDstrncmp("dims", &s[1], len))
- token = OPT_d;
- break;
-
- case 'p':
- if (!HDstrncmp("path", &s[1], len))
- token = OPT_p;
- break;
-
- case 't':
- if (!HDstrncmp("type", &s[1], len))
- token = OPT_t;
- break;
-
- case 's':
- if (!HDstrncmp("size", &s[1], len))
- token = OPT_s;
- break;
- default:
- token = ERR; /* not a supported option tag */
- break;
- }
-
- if (token == ERR)
- (void) HDfprintf(stderr, err1, s);
- }
- else { /* filename */
- token = FILNAME;
- }
- return (token);
-}
-
-/*-------------------------------------------------------------------------
- * Function: processDataFile
- *
- * Purpose: allocate memory and read data file
- *
- * Return: 0, success, -1, error
- *
- * Programmer: pkmat
- *
- * Modifications: pvn
- * 7/23/2007. Added support for STR type, extra parameter FILE_ID
- *
- *-------------------------------------------------------------------------
- */
-
-static int processDataFile(char *infile, struct Input *in, hid_t file_id)
-{
- FILE *strm = NULL;
- const char *err1 = "Unable to open the input file %s for reading.\n";
- const char *err2 = "Error in allocating integer data storage.\n";
- const char *err3 = "Error in allocating floating-point data storage.\n";
- const char *err4 = "Error in reading integer data.\n";
- const char *err5 = "Error in reading floating-point data.\n";
- const char *err6 = "Error in allocating unsigned integer data storage.\n";
- const char *err7 = "Error in reading unsigned integer data.\n";
- const char *err10 = "Unrecognized input class type.\n";
- const char *err11 = "Error in reading string data.\n";
- int retval = -1;
-
- /*-------------------------------------------------------------------------
- * special case for opening binary classes in H5_HAVE_WIN32_API
- * "FP" denotes a floating point binary file,
- * "IN" denotes a signed integer binary file,
- * "UIN" denotes an unsigned integer binary file,
- *-------------------------------------------------------------------------
- */
- if (in->inputClass == 4 /* "IN" */|| in->inputClass == 3 /* "FP" */|| in->inputClass == 7 /* "UIN" */) {
-
- if ((strm = HDfopen(infile, READ_OPEN_FLAGS)) == NULL) {
- (void) HDfprintf(stderr, err1, infile);
- goto error;
- }
- }
- /*-------------------------------------------------------------------------
- * if the input class is not binary, just use "r"
- *-------------------------------------------------------------------------
- */
- else {
- if ((strm = HDfopen(infile, "r")) == NULL) {
- (void) HDfprintf(stderr, err1, infile);
- goto error;
- }
- }
-
- switch (in->inputClass) {
- case 0: /* TEXTIN */
- case 4: /* IN */
- if (allocateIntegerStorage(in) == -1) {
- (void) HDfprintf(stderr, err2, infile);
- goto error;
- }
-
- if (readIntegerData(strm, in) == -1) {
- (void) HDfprintf(stderr, err4, infile);
- goto error;
- }
- break;
-
- case 1: /* TEXTFP */
- case 2: /* TEXTFPE */
- case 3: /* FP */
- if (allocateFloatStorage(in) == -1) {
- (void) HDfprintf(stderr, err3, infile);
- goto error;
-
- }
-
- if (readFloatData(strm, in) == -1) {
- (void) HDfprintf(stderr, err5, infile);
- goto error;
- }
- break;
-
- case 5: /* STR */
- if (in->h5dumpInput) {
- if (processStrHDFData(strm, in, file_id) == -1) {
- (void) HDfprintf(stderr, err11, infile);
- goto error;
- }
- }
- else {
- if (processStrData(strm, in, file_id) == -1) {
- (void) HDfprintf(stderr, err11, infile);
- goto error;
- }
- }
-
- break;
-
- case 6: /* TEXTUIN */
- case 7: /* UIN */
- if (allocateUIntegerStorage(in) == -1) {
- (void) HDfprintf(stderr, err6, infile);
- goto error;
- }
- if (readUIntegerData(strm, in) == -1) {
- (void) HDfprintf(stderr, err7, infile);
- goto error;
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err10);
- goto error;
- }
-
- /* Set success return value */
- retval = 0;
-
-error:
- if(strm)
- HDfclose(strm);
- return(retval);
-}
-
-static int readIntegerData(FILE *strm, struct Input *in)
-{
- H5DT_INT8 *in08;
- H5DT_INT16 *in16;
- H5DT_INT16 temp;
- H5DT_INT32 *in32;
-#ifdef H5_SIZEOF_LONG_LONG
- H5DT_INT64 *in64;
- char buffer[256];
-#endif
- hsize_t len = 1;
- hsize_t i;
- int j;
-
- const char *err1 = "Unable to get integer value from file.\n";
- const char *err2 = "Unrecognized input class type.\n";
- const char *err3 = "Invalid input size.\n";
-
- for (j = 0; j < in->rank; j++)
- len *= in->sizeOfDimension[j];
-
- switch (in->inputSize) {
- case 8:
- switch (in->inputClass) {
- case 0: /* TEXTIN */
- in08 = (H5DT_INT8 *) in->data;
- for (i = 0; i < len; i++, in08++) {
- if (fscanf(strm, "%hd", &temp) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- (*in08) = (H5DT_INT8) temp;
- }
- break;
-
- case 4: /* IN */
- in08 = (H5DT_INT8 *) in->data;
- for (i = 0; i < len; i++, in08++) {
- if (HDfread((char *) in08, sizeof(H5DT_INT8), 1, strm) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
- case 16:
- in16 = (H5DT_INT16 *) in->data;
- switch (in->inputClass) {
- case 0: /* TEXTIN */
- for (i = 0; i < len; i++, in16++) {
- if (fscanf(strm, "%hd", in16) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- in16 = (H5DT_INT16 *) in->data;
- break;
-
- case 4: /* IN */
- for (i = 0; i < len; i++, in16++) {
- if (HDfread((char *) in16, sizeof(H5DT_INT16), 1, strm) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
- case 32:
- in32 = (H5DT_INT32 *) in->data;
- switch (in->inputClass) {
- case 0: /* TEXTIN */
- for (i = 0; i < len; i++, in32++) {
- if (fscanf(strm, "%d", in32) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- break;
-
- case 4: /* IN */
- for (i = 0; i < len; i++, in32++) {
- if (HDfread((char *) in32, sizeof(H5DT_INT32), 1, strm) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
-#ifdef H5_SIZEOF_LONG_LONG
- case 64:
- in64 = (H5DT_INT64 *) in->data;
- switch (in->inputClass) {
- case 0: /* TEXTIN */
- for (i = 0; i < len; i++, in64++) {
- if (fscanf(strm, "%s", buffer) < 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- *in64 = (H5DT_INT64) HDstrtoll(buffer, NULL, 10);
- }
- break;
-
- case 4: /* IN */
- for (i = 0; i < len; i++, in64++) {
- if (HDfread((char *) in64, sizeof(H5DT_INT64), 1, strm) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-#endif /* ifdef H5_SIZEOF_LONG_LONG */
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- break;
- }
- return (0);
-}
-
-static int readUIntegerData(FILE *strm, struct Input *in)
-{
- H5DT_UINT8 *in08;
- H5DT_UINT16 *in16;
- H5DT_UINT16 temp;
- H5DT_UINT32 *in32;
-#ifdef H5_SIZEOF_LONG_LONG
- H5DT_UINT64 *in64;
- char buffer[256];
-#endif
- hsize_t len = 1;
- hsize_t i;
- int j;
- const char *err1 = "Unable to get unsigned integer value from file.\n";
- const char *err2 = "Unrecognized input class type.\n";
- const char *err3 = "Invalid input size.\n";
-
- for (j = 0; j < in->rank; j++)
- len *= in->sizeOfDimension[j];
-
- switch (in->inputSize) {
- case 8:
- switch (in->inputClass) {
- case 6: /* TEXTUIN */
- in08 = (H5DT_UINT8 *) in->data;
- for (i = 0; i < len; i++, in08++) {
- if (fscanf(strm, "%hu", &temp) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- (*in08) = (H5DT_UINT8) temp;
- }
- break;
-
- case 7: /* UIN */
- in08 = (H5DT_UINT8 *) in->data;
- for (i = 0; i < len; i++, in08++) {
- if (HDfread((char *) in08, sizeof(H5DT_UINT8), 1, strm) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
- case 16:
- in16 = (H5DT_UINT16 *) in->data;
- switch (in->inputClass) {
- case 6: /* TEXTUIN */
- for (i = 0; i < len; i++, in16++) {
- if (fscanf(strm, "%hu", in16) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- break;
-
- case 7: /* UIN */
- for (i = 0; i < len; i++, in16++) {
- if (HDfread((char *) in16, sizeof(H5DT_UINT16), 1, strm) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
- case 32:
- in32 = (H5DT_UINT32 *) in->data;
- switch (in->inputClass) {
- case 6: /* TEXTUIN */
- for (i = 0; i < len; i++, in32++) {
- if (fscanf(strm, "%u", in32) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- break;
-
- case 7: /* UIN */
- for (i = 0; i < len; i++, in32++) {
- if (HDfread((char *) in32, sizeof(H5DT_UINT32), 1, strm) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
-#ifdef H5_SIZEOF_LONG_LONG
- case 64:
- in64 = (H5DT_UINT64 *) in->data;
- switch (in->inputClass) {
- case 6: /* TEXTUIN */
- for (i = 0; i < len; i++, in64++) {
- if (fscanf(strm, "%s", buffer) < 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- *in64 = (H5DT_UINT64) HDstrtoll(buffer, NULL, 10);
- }
- break;
-
- case 7: /* UIN */
- for (i = 0; i < len; i++, in64++) {
- if (HDfread((char *) in64, sizeof(H5DT_UINT64), 1, strm) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-#endif /* ifdef H5_SIZEOF_LONG_LONG */
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- break;
- }
- return (0);
-}
-
-static int readFloatData(FILE *strm, struct Input *in)
-{
- H5DT_FLOAT32 *fp32;
- H5DT_FLOAT64 *fp64;
-
- hsize_t len = 1;
- hsize_t i;
- int j;
- const char *err1 = "Unable to get integer value from file.\n";
- const char *err2 = "Unrecognized input class type.\n";
- const char *err3 = "Invalid input size type.\n";
-
- for (j = 0; j < in->rank; j++)
- len *= in->sizeOfDimension[j];
-
- switch (in->inputSize) {
- case 32:
- fp32 = (H5DT_FLOAT32 *) in->data;
- switch (in->inputClass) {
- case 1: /* TEXTFP */
- for (i = 0; i < len; i++, fp32++) {
- if (fscanf(strm, "%f", fp32) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
-
- fp32 = (H5DT_FLOAT32 *) in->data;
- break;
-
- /* same as TEXTFP */
- case 2: /*TEXTFPE */
-
- for (i = 0; i < len; i++, fp32++) {
- if (fscanf(strm, "%f", fp32) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
-
- fp32 = (H5DT_FLOAT32 *) in->data;
- break;
-
- case 3: /* FP */
- for (i = 0; i < len; i++, fp32++) {
- if (HDfread((char *) fp32, sizeof(H5DT_FLOAT32), 1, strm) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
- case 64:
- fp64 = (H5DT_FLOAT64 *) in->data;
- switch (in->inputClass) {
- case 1: /* TEXTFP */
- for (i = 0; i < len; i++, fp64++) {
- if (fscanf(strm, "%lf", fp64) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
-
- fp64 = (H5DT_FLOAT64 *) in->data;
- break;
-
- /* same as TEXTFP */
- case 2: /*TEXTFPE */
-
- for (i = 0; i < len; i++, fp64++) {
- if (fscanf(strm, "%lf", fp64) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
-
- fp64 = (H5DT_FLOAT64 *) in->data;
- break;
-
- case 3: /* FP */
- for (i = 0; i < len; i++, fp64++) {
- if (HDfread((char *) fp64, sizeof(H5DT_FLOAT64), 1, strm) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- break;
- }
- return (0);
-}
-
-/*-------------------------------------------------------------------------
- * Function: processStrData
- *
- * Purpose: read an ASCII file with string data and generate an HDF5 dataset
- * with a variable length type
- *
- * Return: 0, ok, -1 no
- *
- * Programmer: Pedro Vicente, pvn@hdfgroup.org
- *
- * Date: July, 26, 2007
- *
- *-------------------------------------------------------------------------
- */
-static int processStrData(FILE *strm, struct Input *in, hid_t file_id)
-{
- hid_t group_id;
- hid_t dset_id;
- hid_t space_id;
- hid_t mspace_id;
- hid_t type_id;
- hid_t handle;
- hsize_t dims[1];
- char str[1024];
- int c;
- int i = 0;
- int j;
- hsize_t nlines = 0;
- hsize_t line;
-
- /*-------------------------------------------------------------------------
- * get number of lines in the input file
- *-------------------------------------------------------------------------
- */
-
- while(EOF != (c = HDfgetc(strm)))
- if (c == 10) /* eol */
- nlines++;
-
- if (!nlines)
- return 0;
-
- /* number of records */
- dims[0] = nlines;
-
- /* rewind */
- HDfseek(strm, 0L, 0);
-
- /*-------------------------------------------------------------------------
- * read file again and generate an HDF5 dataset
- *-------------------------------------------------------------------------
- */
-
- if ((type_id = H5Tcopy(H5T_C_S1)) < 0)
- goto out;
-
- if (H5Tset_size(type_id, H5T_VARIABLE) < 0)
- goto out;
-
- /* disable error reporting */
- H5E_BEGIN_TRY
- {
- /* create parent groups */
- if (in->path.count > 1) {
- j = 0;
- handle = file_id;
- while (j < in->path.count - 1) {
- if ((group_id = H5Gopen2(handle, in->path.group[j], H5P_DEFAULT)) < 0) {
- group_id = H5Gcreate2(handle, in->path.group[j++], H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- for (; j < in->path.count - 1; j++)
- group_id = H5Gcreate2(group_id, in->path.group[j], H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- handle = group_id;
- break;
- }
- handle = group_id;
- j++;
- }
- }
- else {
- handle = file_id;
- j = 0;
- }
-
- /*enable error reporting */
- }
- H5E_END_TRY;
-
- if ((space_id = H5Screate_simple(1, dims, NULL)) < 0)
- goto out;
-
- if ((mspace_id = H5Screate(H5S_SCALAR)) < 0)
- goto out;
-
- if ((dset_id = H5Dcreate2(handle, in->path.group[j], type_id, space_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- goto out;
-
- line = 0;
-
- while(EOF != (c = HDfgetc(strm))) {
- str[i] = (char)c;
-
- i++;
-
- if (c == 10) { /* eol */
- char *str2 = str;
- hid_t fspace_id;
- hsize_t start[1];
- hsize_t count[1] = { 1 };
-
- str[i - 1] = '\0'; /* terminate string */
-
- if ((fspace_id = H5Dget_space(dset_id)) < 0)
- goto out;
-
- start[0] = line++;
-
- if (H5Sselect_hyperslab(fspace_id, H5S_SELECT_SET, start, NULL, count, NULL) < 0)
- goto out;
-
- if (H5Dwrite(dset_id, type_id, mspace_id, fspace_id, H5P_DEFAULT, &str2) < 0)
- goto out;
-
- if (H5Sclose(fspace_id) < 0)
- goto out;
-
- i = 0;
- str[0] = '\0';
-
- }
- }
-
- /* close */
- H5Dclose(dset_id);
- H5Sclose(space_id);
- H5Sclose(mspace_id);
- H5Tclose(type_id);
-
- return (0);
-
-out:
-
- return (-1);
-}
-
-/*-------------------------------------------------------------------------
- * Function: processStrData
- *
- * Purpose: read an ASCII file with string data and generate an HDF5 dataset
- * with a variable length type
- *
- * Return: 0, ok, -1 no
- *
- *-------------------------------------------------------------------------
- */
-static int processStrHDFData(FILE *strm, struct Input *in, hid_t file_id)
-{
- hid_t group_id = -1;
- hid_t dset_id = -1;
- hid_t space_id = -1;
- hid_t mspace_id = -1;
- hid_t type_id = -1;
- hid_t handle = -1;
- char *str1 = NULL;
- char *str2 = NULL;
- char *str3 = NULL;
- char str[1024] = "";
- int j;
- hsize_t line;
-
- /*-------------------------------------------------------------------------
- * read file and generate an HDF5 dataset
- *-------------------------------------------------------------------------
- */
-#ifdef H5DEBUGIMPORT
- printf("processStrHDFData DATATYPE STRING\n");
-#endif
-
- if ((type_id = H5Tcopy(H5T_C_S1)) < 0)
- goto out;
-
- if (H5Tset_size(type_id, H5T_VARIABLE) < 0)
- goto out;
-
- /* disable error reporting */
- H5E_BEGIN_TRY
- {
- /* create parent groups */
- if (in->path.count > 1) {
- j = 0;
- handle = file_id;
- while (j < in->path.count - 1) {
- if ((group_id = H5Gopen2(handle, in->path.group[j], H5P_DEFAULT)) < 0) {
- group_id = H5Gcreate2(handle, in->path.group[j++], H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- for (; j < in->path.count - 1; j++)
- group_id = H5Gcreate2(group_id, in->path.group[j], H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- handle = group_id;
- break;
- }
- handle = group_id;
- j++;
- }
- }
- else {
- handle = file_id;
- j = 0;
- }
-
- /*enable error reporting */
- }
- H5E_END_TRY;
-#ifdef H5DEBUGIMPORT
- printf("processStrHDFData DATATYPE STRING groups created\n");
-#endif
-
- if ((space_id = H5Screate_simple(in->rank, in->sizeOfDimension, NULL)) < 0)
- goto out;
-
- if ((mspace_id = H5Screate(H5S_SCALAR)) < 0)
- goto out;
-
- if ((dset_id = H5Dcreate2(handle, in->path.group[j], type_id, space_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- goto out;
-
-#ifdef H5DEBUGIMPORT
- printf("processStrHDFData DATATYPE STRING ready to process strings\n");
-#endif
- line = 0;
- j = 0;
-
- while (HDfgets(str,sizeof(str),strm)) {
- str1 = str;
- str2 = NULL;
- str3 = NULL;
-#ifdef H5DEBUGIMPORT
- printf("processStrHDFData DATATYPE STRING[%llu]={%s}\n", (unsigned long long)line, str1);
-#endif
- /* process string to remove the first and last quote char */
- str2 = strchr(str1, '"');
- if (str2 != NULL) {
-#ifdef H5DEBUGIMPORT
- printf("processStrHDFData DATATYPE STRING len:%d for {%s}\n", strlen(str2), str2);
-#endif
- str2++;
-#ifdef H5DEBUGIMPORT
- printf("processStrHDFData DATATYPE STRING len:%d for {%s}\n", strlen(str2), str2);
-#endif
- str3 = strrchr(str2, '"');
- if (str3 != NULL) {
-#ifdef H5DEBUGIMPORT
- printf("processStrHDFData DATATYPE STRING len:%d for {%s}\n", strlen(str3), str3);
-#endif
- *str3 = '\0';
-
-#ifdef H5DEBUGIMPORT
- printf("processStrHDFData DATATYPE STRING len:%d for {%s}\n", strlen(str2), str2);
-#endif
-
- if(strlen(str2) > 0) {
- hid_t fspace_id;
- hsize_t start[1];
- hsize_t count[1] = { 1 };
-
-#ifdef H5DEBUGIMPORT
- printf("processStrHDFData DATATYPE STRING[%llu] store %s\n", (unsigned long long)line, str2);
-#endif
- if ((fspace_id = H5Dget_space(dset_id)) < 0)
- goto out;
-
- start[0] = line++;
-
- if (H5Sselect_hyperslab(fspace_id, H5S_SELECT_SET, start, NULL, count, NULL) < 0)
- goto out;
-
- if (H5Dwrite(dset_id, type_id, mspace_id, fspace_id, H5P_DEFAULT, &str2) < 0)
- goto out;
-
- if (H5Sclose(fspace_id) < 0)
- goto out;
- }
- }
- }
- str[0] = '\0';
- j++;
- }
-#ifdef H5DEBUGIMPORT
- printf("processStrHDFData DATATYPE STRING eof reached\n");
-#endif
-
- /* close */
- H5Dclose(dset_id);
- H5Sclose(space_id);
- H5Sclose(mspace_id);
- H5Tclose(type_id);
-
- return (0);
-
-out:
-#ifdef H5DEBUGIMPORT
- printf("processStrHDFData DATATYPE STRING error exit\n");
-#endif
-/* disable error reporting */
-H5E_BEGIN_TRY
-{
- /* close */
- H5Dclose(dset_id);
- H5Sclose(space_id);
- H5Sclose(mspace_id);
- H5Tclose(type_id);
-}
-H5E_END_TRY;
-
- return (-1);
-}
-
-static int allocateIntegerStorage(struct Input *in)
-{
- hsize_t len = 1;
- int j;
- const char *err1 = "Unable to allocate dynamic memory.\n";
- const char *err2 = "Invalid storage size for integer input data.\n";
-
- for (j = 0; j < in->rank; j++)
- len *= in->sizeOfDimension[j];
-
- switch (in->inputSize) {
- case 8:
- if ((in->data = (VOIDP) HDmalloc((size_t) len * sizeof(H5DT_INT8))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- break;
-
- case 16:
- if ((in->data = (VOIDP) HDmalloc((size_t) len * sizeof(H5DT_INT16))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- break;
-
- case 32:
- if ((in->data = (VOIDP) HDmalloc((size_t) len * sizeof(H5DT_INT32))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- break;
-
- case 64:
- if ((in->data = (VOIDP) HDmalloc((size_t) len * sizeof(H5DT_INT64))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- break;
- }
- return (0);
-}
-
-static int allocateUIntegerStorage(struct Input *in)
-{
- hsize_t len = 1;
- const char *err1 = "Unable to allocate dynamic memory.\n";
- const char *err2 = "Invalid storage size for unsigned integer input data.\n";
- int j;
-
- for (j = 0; j < in->rank; j++)
- len *= in->sizeOfDimension[j];
-
- switch (in->inputSize) {
- case 8:
- if ((in->data = (VOIDP) HDmalloc((size_t) len * sizeof(H5DT_UINT8))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- break;
-
- case 16:
- if ((in->data = (VOIDP) HDmalloc((size_t) len * sizeof(H5DT_UINT16))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- break;
-
- case 32:
- if ((in->data = (VOIDP) HDmalloc((size_t) len * sizeof(H5DT_UINT32))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- break;
-
- case 64:
- if ((in->data = (VOIDP) HDmalloc((size_t) len * sizeof(H5DT_UINT64))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- break;
- }
- return (0);
-}
-
-static int allocateFloatStorage(struct Input *in)
-{
- hsize_t len = 1;
- int j;
- const char *err1 = "Unable to allocate dynamic memory.\n";
- const char *err2 = "Invalid storage size for float input data.\n";
-
- for (j = 0; j < in->rank; j++)
- len *= in->sizeOfDimension[j];
-
- switch (in->inputSize) {
- case 32:
- if ((in->data = (VOIDP) HDmalloc((size_t) len * sizeof(H5DT_FLOAT32))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- break;
-
- case 64:
- if ((in->data = (VOIDP) HDmalloc((size_t) len * sizeof(H5DT_FLOAT64))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- break;
- }
- return (0);
-}
-
-static int processConfigurationFile(char *infile, struct Input *in)
-{
- FILE *strm = NULL;
- char key[255];
- int kindex;
- char temp[255];
- int ival;
- int scanret;
- int retval = -1;
-
- const char *err1 = "Unable to open the configuration file: %s for reading.\n";
- const char *err2 = "Unknown keyword in configuration file: %s\n";
- const char *err3a = "PATH keyword appears twice in %s.\n";
- const char *err3b = "Error in parsing the path information from %s.\n";
- const char *err4a = "INPUT-CLASS keyword appears twice in %s.\n";
- const char *err4b = "Error in retrieving the input class from %s.\n";
- const char *err5a = "INPUT-SIZE keyword appears twice in %s.\n";
- const char *err5b = "Error in retrieving the input size from %s.\n";
- const char *err6a = "RANK keyword appears twice in %s.\n";
- const char *err6b = "Error in retrieving the rank from %s.\n";
- const char *err7a = "DIMENSION-SIZES keyword appears twice in %s.\n";
- const char *err7b = "DIMENSION-SIZES cannot appear before RANK is provided.\n";
- const char *err7c = "Error in retrieving the dimension sizes from %s.\n";
- const char *err8a = "OUTPUT-CLASS keyword appears twice in %s.\n";
- const char *err8b = "Error in retrieving the output class from %s.\n";
- const char *err9a = "OUTPUT-SIZE keyword appears twice in %s.\n";
- const char *err9b = "Error in retrieving the output size from %s.\n";
- const char *err10a = "OUTPUT-ARCHITECTURE keyword appears twice in %s.\n";
- const char *err10b = "Error in retrieving the output architecture from %s.\n";
- const char *err11a = "OUTPUT-BYTE-ORDER keyword appears twice in %s.\n";
- const char *err11b = "Error in retrieving the output byte order from %s.\n";
- const char *err12a = "CHUNKED-DIMENSION-SIZES keyword appears twice in %s.\n";
- const char *err12b = "CHUNKED-DIMENSION-SIZES cannot appear before DIMENSION-SIZES are provided.\n";
- const char *err12c = "Error in retrieving the chunked dimension sizes from %s.\n";
- const char *err13a = "COMPRESSION-TYPE keyword appears twice in %s.\n";
- const char *err13b = "Error in retrieving the compression type from %s.\n";
- const char *err14a = "COMPRESSION-PARAM keyword appears twice in %s.\n";
- const char *err14b = "Error in retrieving the compression parameter from %s.\n";
- const char *err15a = "EXTERNAL-STORAGE keyword appears twice in %s.\n";
- const char *err15b = "Error in retrieving the external storage paramters from %s.\n";
- const char *err16a = "MAXIMUM-DIMENSIONS keyword appears twice in %s.\n";
- const char *err16b = "MAXIMUM-DIMENSIONS cannot appear before DIMENSION-SIZES are provided.\n";
- const char *err16c = "Error in retrieving the maximum dimension sizes from %s.\n";
- const char *err17 = "Configuration parameters are invalid in %s.\n";
- const char *err18 = "Unable to get string value.\n";
- const char *err19 = "Unable to get integer value.\n";
-
- /* create vector to map which keywords have been found
- check vector after each keyword to check for violation
- at the end check vector to see if required fields have been provided
- process the output file according to the options
- */
-
- if ((strm = HDfopen(infile, "r")) == NULL) {
- (void) HDfprintf(stderr, err1, infile);
- goto error;
- }
-
- scanret = fscanf(strm, "%s", key);
- if((scanret == 1) && !HDstrcmp("HDF5", key)) {
-#ifdef H5DEBUGIMPORT
- int pndx;
- printf("\nh5dump file\n");
-#endif
- in->h5dumpInput = 1;
- scanret = fscanf(strm, "%s", temp); /* filename */
- scanret = fscanf(strm, "%s", temp); /* start bracket */
- scanret = fscanf(strm, "%s", key); /* DATASET */
- while (scanret == 1) {
- if(!HDstrcmp("DATASET", key)) { /* PATH */
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASET key\n");
-#endif
- if (in->configOptionVector[PATH] == 1) {
- (void) HDfprintf(stderr, err3a, infile);
- goto error;
- }
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASET %s found\n", temp);
-#endif
- if (parsePathInfo(&in->path, temp) == -1) {
- (void) HDfprintf(stderr, err3b, infile);
- goto error;
- }
- in->configOptionVector[PATH] = 1;
- scanret = fscanf(strm, "%s", temp); /* start bracket */
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASET %s found\n", temp);
-#endif
- } /* if(!HDstrcmp("DATASET", key)) PATH */
- else if(!HDstrcmp("DATATYPE", key)) { /* INPUT-CLASS */
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATATYPE key\n");
-#endif
- if (in->configOptionVector[INPUT_CLASS] == 1) {
- (void) HDfprintf(stderr, err4a, infile);
- goto error;
- }
-
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATATYPE %s found\n", temp);
-#endif
- if ((kindex = getInputClassType(in, temp)) == -1) {
- (void) HDfprintf(stderr, err4b, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATATYPE type %d inputClass\n", in->inputClass);
-#endif
-
- in->configOptionVector[INPUT_CLASS] = 1;
-
- /*set default value for output-class */
- if (in->configOptionVector[OUTPUT_CLASS] == 0) {
- if (in->inputClass == 0 || in->inputClass == 4)
- in->outputClass = 0;
- if (in->inputClass == 1 || in->inputClass == 2
- || in->inputClass == 3)
- in->outputClass = 1;
- if (in->inputClass == 6 || in->inputClass == 7)
- in->outputClass = 2;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATATYPE type %d outputClass\n", in->outputClass);
-#endif
-
- if(in->inputClass == 5) { /* STRING */
- int get_next_prop = 1;
- in->outputClass = -1;
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATATYPE STRING found\n");
-#endif
- if (fscanf(strm, "%s", temp) != 1) { /* start bracket */
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATATYPE STRING %s found\n", temp);
-#endif
- if (fscanf(strm, "%s", temp) != 1) { /* string properties */
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
- while (get_next_prop) {
- if(!HDstrcmp("STRSIZE", temp)) { /* STRSIZE */
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, "%s", err19);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATATYPE STRING STRSIZE %s found\n", temp);
-#endif
- if (HDstrcmp("H5T_VARIABLE;", temp)) {
- char *more = temp;
- ival = (int)HDstrtol(more, &more, 10);
- if (getInputSize(in, ival) == -1) {
- (void) HDfprintf(stderr, err5b, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATATYPE STRING %d InputSize\n", in->inputSize);
-#endif
- }
- }
- else if(!HDstrcmp("STRPAD", temp)) { /* STRPAD */
- if (fscanf(strm, "%s", temp) != 1) { /* STRPAD type */
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATATYPE STRING STRPAD %s found\n", temp);
-#endif
- }
- else if(!HDstrcmp("CSET", key)) { /* CSET */
- if (fscanf(strm, "%s", temp) != 1) { /* CSET type */
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATATYPE STRING CSET %s found\n", temp);
-#endif
-
- }
- else if(!HDstrcmp("CTYPE", temp)) { /* CTYPE */
- if (fscanf(strm, "%s", temp) != 1) { /* CTYPE type */
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATATYPE STRING CTYPE %s found\n", temp);
-#endif
- } /* if(!HDstrcmp("CSET", key)) */
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATATYPE STRING %s found\n", temp);
-#endif
- if(!HDstrcmp("}", temp)) { /* end bracket */
- get_next_prop = 0;
- }
- } /* while (get_next_prop) */
- } /* if(kindex == 5) STRING */
- } /* else if(!HDstrcmp("DATATYPE", key)) INPUT-CLASS */
- else if(!HDstrcmp("DATASPACE", key)) { /* RANK and DIMENSIONS */
- hsize_t temp_dims[MAX_NUM_DIMENSION];
-
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE key\n");
-#endif
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
- if(!HDstrcmp("SCALAR", temp)) { /* SCALAR */
- in->rank = 0;
- } /* if(!HDstrcmp("SCALAR", key)) */
- else if(!HDstrcmp("NULL", temp)) { /* NULL */
- (void) HDfprintf(stderr, err6b, infile);
- goto error;
- } /* else if(!HDstrcmp("NULL", key)) */
- else if(!HDstrcmp("SIMPLE", temp)) { /* SIMPLE */
- int icount = 0;
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE found\n");
-#endif
- if (fscanf(strm, "%s", temp) != 1) { /* start bracket */
- (void) HDfprintf(stderr, err6b, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE %s found\n", temp);
-#endif
- if (fscanf(strm, "%s", temp) != 1) { /* start paren */
- (void) HDfprintf(stderr, err6b, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE %s found\n", temp);
-#endif
- if(!HDstrcmp("(", temp)) { /* start paren */
- int get_next_dim = 1;
- int i = 0;
-
- if (fscanf(strm, "%s", temp) != 1) { /* Dimension with optional comma */
- (void) HDfprintf(stderr, err16c, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE %s found\n", temp);
-#endif
- while (get_next_dim) {
- char *more = temp;
- temp_dims[icount] = HDstrtoull(more, &more, 10);
- if (fscanf(strm, "%s", temp) != 1) { /* Dimension or end paren */
- (void) HDfprintf(stderr, err6b, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE %s found\n", temp);
-#endif
- if(!HDstrcmp(")", temp)) { /* end paren */
- in->rank = ++icount;
- in->configOptionVector[RANK] = 1;
- get_next_dim = 0;
- }
- else { /* Dimension */
- icount++;
- if (icount > MAX_NUM_DIMENSION) {
- (void) HDfprintf(stderr, "Invalid value for rank.\n");
- goto error;
- }
- }
- } /* while (get_next_dim) */
-
- if ((in->sizeOfDimension = (hsize_t *) HDmalloc ((size_t) in->rank * sizeof(hsize_t))) == NULL) {
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE %d rank\n", in->rank);
-#endif
- for (i = 0; i < in->rank; i++) {
- in->sizeOfDimension[i] = temp_dims[i];
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE dims:", in->rank);
- for (pndx = 0; pndx < in->rank; pndx++) {
- printf(" %d", in->sizeOfDimension[pndx]);
- }
- printf("\n");
-#endif
- in->configOptionVector[DIM] = 1;
- } /* if(!HDstrcmp("(", key)) start paren */
- else {
- (void) HDfprintf(stderr, err5b, infile);
- goto error;
- }
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE %s found\n", temp);
-#endif
- if(!HDstrcmp("/", temp)) { /* / max dims */
- if ((in->maxsizeOfDimension = (hsize_t *) HDmalloc ((size_t) in->rank * sizeof(hsize_t))) == NULL) {
- goto error;
- }
- if (fscanf(strm, "%s", temp) != 1) { /* start paren */
- (void) HDfprintf(stderr, err6b, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE %s found\n", temp);
-#endif
- if(!HDstrcmp("(", temp)) { /* start paren */
- int get_next_dim = 1;
- int i = 0;
-
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE process max dim values\n");
-#endif
- if (fscanf(strm, "%s", temp) != 1) { /* max dim with optional comma */
- (void) HDfprintf(stderr, err16c, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE %s found\n", temp);
-#endif
- while (get_next_dim) {
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE get max dim value\n");
-#endif
- if(!HDstrcmp("H5S_UNLIMITED", temp) || !HDstrcmp("H5S_UNLIMITED,", temp)) { /* unlimited */
- in->maxsizeOfDimension[i] = H5S_UNLIMITED;
- in->configOptionVector[EXTEND] = 1;
- }
- else {
- char *more = temp;
- in->maxsizeOfDimension[i] = HDstrtoull(more, &more, 10);
- }
- if (fscanf(strm, "%s", temp) != 1) { /* max dim or end paren */
- (void) HDfprintf(stderr, err16c, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE %s found\n", temp);
-#endif
- if(!HDstrcmp(")", temp)) { /* end paren */
- get_next_dim = 0;
- }
- else { /* comma */
- i++;
- if (i > MAX_NUM_DIMENSION) {
- (void) HDfprintf(stderr, "Invalid value for rank.\n");
- goto error;
- }
- }
- } /* while (get_next_dim) */
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE maxdims:", in->rank);
- for (pndx = 0; pndx < in->rank; pndx++) {
- printf(" %d", in->maxsizeOfDimension[pndx]);
- }
- printf("\n");
- printf("h5dump DATASPACE SIMPLE get max dim finished\n");
-#endif
- } /* if(!HDstrcmp("(", key)) start paren */
- else {
- (void) HDfprintf(stderr, err16c, infile);
- goto error;
- }
- scanret = fscanf(strm, "%s", temp); /* end bracket */
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATASPACE SIMPLE %s found\n", temp);
-#endif
- } /* if(!HDstrcmp("/", key)) max dims separator */
- } /* else if(!HDstrcmp("SIMPLE", key)) */
- else {
- (void) HDfprintf(stderr, err5b, infile);
- goto error;
- }
- } /* else if(!HDstrcmp("DATASPACE", key)) RANK and DIMENSIONS */
- else if(!HDstrcmp("STORAGE_LAYOUT", key)) { /* CHUNKED-DIMENSION-SIZES */
-#ifdef H5DEBUGIMPORT
- printf("h5dump STORAGE_LAYOUT key\n");
-#endif
- if (fscanf(strm, "%s", temp) != 1) { /* start bracket */
- (void) HDfprintf(stderr, err6b, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump STORAGE_LAYOUT %s found\n", temp);
-#endif
- if (fscanf(strm, "%s", temp) != 1) { /* CHUNKED */
- (void) HDfprintf(stderr, err6b, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump STORAGE_LAYOUT %s found\n", temp);
-#endif
- if(!HDstrcmp("CHUNKED", temp)) { /* CHUNKED */
- if ((in->sizeOfChunk = (hsize_t *) HDmalloc ((size_t) in->rank * sizeof(hsize_t))) == NULL) {
- (void) HDfprintf(stderr, "Unable to allocate dynamic memory.\n");
- goto error;
- }
- if (fscanf(strm, "%s", temp) != 1) { /* start paren */
- (void) HDfprintf(stderr, err6b, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump STORAGE_LAYOUT CHUNKED %s found\n", temp);
-#endif
- if(!HDstrcmp("(", temp)) { /* start paren */
- int get_next_dim = 1;
- int icount = 0;
-
- if (fscanf(strm, "%s", temp) != 1) { /* Dimension with optional comma */
- (void) HDfprintf(stderr, err16c, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump STORAGE_LAYOUT CHUNKED %s found\n", temp);
-#endif
- while (get_next_dim) {
- char *more = temp;
- in->sizeOfChunk[icount] = HDstrtoull(more, &more, 10);
- if (fscanf(strm, "%s", temp) != 1) { /* Dimension or end paren */
- (void) HDfprintf(stderr, err6b, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump STORAGE_LAYOUT CHUNKED %s found\n", temp);
-#endif
- if(!HDstrcmp(")", temp)) { /* end paren */
- in->configOptionVector[RANK] = 1;
- get_next_dim = 0;
- }
- else { /* Dimension */
- icount++;
- if (icount > MAX_NUM_DIMENSION) {
- (void) HDfprintf(stderr, "Invalid value for rank.\n");
- goto error;
- }
- }
- } /* while (get_next_dim) */
-#ifdef H5DEBUGIMPORT
- printf("h5dump STORAGE_LAYOUT CHUNKED dims:", in->rank);
- for (pndx = 0; pndx < in->rank; pndx++) {
- printf(" %d", in->sizeOfChunk[pndx]);
- }
- printf("\n");
-#endif
- in->configOptionVector[DIM] = 1;
- } /* if(!HDstrcmp("(", key)) start paren */
- else {
- (void) HDfprintf(stderr, err5b, infile);
- goto error;
- }
- if (fscanf(strm, "%s", temp) != 1) { /* SIZE */
- (void) HDfprintf(stderr, err6b, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump STORAGE_LAYOUT CHUNKED %s found\n", temp);
-#endif
- if(!HDstrcmp("SIZE", temp)) { /* SIZE */
- if (fscanf(strm, "%d", (&ival)) != 1) {
- (void) HDfprintf(stderr, "%s", err19);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump STORAGE_LAYOUT CHUNKED SIZE %d found\n", ival);
-#endif
- }
- while (HDstrcmp("}", temp)) {
- if (fscanf(strm, "%s", temp) != 1) { /* end bracket */
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump STORAGE_LAYOUT CHUNKED %s found\n", temp);
-#endif
- }
- in->configOptionVector[CHUNK] = 1;
- } /* if(!HDstrcmp("CHUNKED", key)) CHUNKED */
- } /* else if(!HDstrcmp("STORAGE_LAYOUT", key)) CHUNKED-DIMENSION-SIZES */
- else if(!HDstrcmp("FILTERS", key)) { /* FILTERS */
-#ifdef H5DEBUGIMPORT
- printf("h5dump FILTERS key\n");
-#endif
- if (fscanf(strm, "%s", temp) != 1) { /* start bracket */
- (void) HDfprintf(stderr, err6b, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump FILTERS %s found\n", temp);
-#endif
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, err6b, infile);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump FILTERS %s found\n", temp);
-#endif
- if(!HDstrcmp("COMPRESSION", temp)) { /* COMPRESSION */
-#ifdef H5DEBUGIMPORT
- printf("h5dump FILTERS COMPRESSION found\n");
-#endif
- if (fscanf(strm, "%s", temp) != 1) { /* DEFLATE */
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump FILTERS COMPRESSION %s found\n", temp);
-#endif
- if (fscanf(strm, "%s", temp) != 1) { /* bgin bracket */
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump FILTERS COMPRESSION %s found\n", temp);
-#endif
- if (fscanf(strm, "%s", temp) != 1) { /* LEVEL */
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump FILTERS COMPRESSION %s found\n", temp);
-#endif
- if (fscanf(strm, "%d", (&ival)) != 1) {
- (void) HDfprintf(stderr, "%s", err19);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump FILTERS COMPRESSION LEVEL %d found\n", ival);
-#endif
- in->compressionParam = ival;
- if (fscanf(strm, "%s", temp) != 1) { /* end bracket */
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump FILTERS COMPRESSION %s found\n", temp);
-#endif
- in->compressionType = 0; /* ONLY GZIP supported */
- in->configOptionVector[COMPRESS] = 1;
- }
- else if(!HDstrcmp("CONTIGUOUS", temp)) { /* CONTIGUOUS */
-#ifdef H5DEBUGIMPORT
- printf("h5dump FILTERS CONTIGUOUS found\n");
-#endif
- in->configOptionVector[COMPRESS] = 0;
- }
- else if(!HDstrcmp("NONE", temp)) { /* NONE */
-#ifdef H5DEBUGIMPORT
- printf("h5dump FILTERS NONE found\n");
-#endif
- in->configOptionVector[COMPRESS] = 0;
- }
- if (fscanf(strm, "%s", temp) != 1) { /* end bracket */
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump FILTERS %s found\n", temp);
-#endif
- }
- else if(!HDstrcmp("DATA", key)) { /* FINSHED */
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATA key\n");
-#endif
- scanret = 0;
- break;
- }
- scanret = fscanf(strm, "%s", key);
- }
-#ifdef H5DEBUGIMPORT
- printf("h5dump path");
- for (pndx = 0; pndx < in->path.count; pndx++) {
- printf(" : %s", in->path.group[pndx]);
- }
- printf("\n");
- printf("h5dump inputClass=%d\n", in->inputClass);
- printf("h5dump inputSize=%d\n", in->inputSize);
- printf("h5dump rank=%d\n", in->rank);
- printf("h5dump outputClass=%d\n", in->outputClass);
- printf("h5dump outputSize=%d\n", in->outputSize);
- printf("h5dump outputArchitecture=%d\n", in->outputArchitecture);
- printf("h5dump outputByteOrder=%d\n", in->outputByteOrder);
- printf("h5dump compressionType=%d\n", in->compressionType);
- printf("h5dump compressionParam=%d\n", in->compressionParam);
- printf("h5dump externFilename=%s\n", in->externFilename);
- printf("h5dump configOptionVector:\n");
- for (pndx = 0; pndx < NUM_KEYS; pndx++) {
- printf(" %s=%d\n", keytable[pndx], in->configOptionVector[pndx]);
- }
-#endif
- }
- else {
- while (scanret == 1) {
- if ((kindex = mapKeywordToIndex(key)) == -1) {
- (void) HDfprintf(stderr, err2, infile);
- goto error;
- }
- switch (kindex) {
- case 0: /* PATH */
- if (in->configOptionVector[PATH] == 1) {
- (void) HDfprintf(stderr, err3a, infile);
- goto error;
- }
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
- if (parsePathInfo(&in->path, temp) == -1) {
- (void) HDfprintf(stderr, err3b, infile);
- goto error;
- }
- in->configOptionVector[PATH] = 1;
- break;
-
- case 1: /* INPUT-CLASS */
- if (in->configOptionVector[INPUT_CLASS] == 1) {
- (void) HDfprintf(stderr, err4a, infile);
- goto error;
- }
-
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, "%s", err18);
- goto error;
- }
- if (getInputClass(in, temp) == -1) {
- (void) HDfprintf(stderr, err4b, infile);
- goto error;
- }
-
- in->configOptionVector[INPUT_CLASS] = 1;
-
- /*set default value for output-class */
- if (in->configOptionVector[OUTPUT_CLASS] == 0) {
- if (in->inputClass == 0 || in->inputClass == 4)
- in->outputClass = 0;
- if (in->inputClass == 1 || in->inputClass == 2
- || in->inputClass == 3)
- in->outputClass = 1;
- if (in->inputClass == 6 || in->inputClass == 7)
- in->outputClass = 2;
- }
- break;
-
- case 2: /* INPUT-SIZE */
- if (in->configOptionVector[INPUT_SIZE] == 1) {
- (void) HDfprintf(stderr, err5a, infile);
- goto error;
- }
- if (fscanf(strm, "%d", (&ival)) != 1) {
- (void) HDfprintf(stderr, "%s", err19);
- goto error;
- }
- if (getInputSize(in, ival) == -1) {
- (void) HDfprintf(stderr, err5b, infile);
- goto error;
- }
- in->configOptionVector[INPUT_SIZE] = 1;
-
- /*set default value for output-size */
- if (in->configOptionVector[OUTPUT_SIZE] == 0)
- in->outputSize = in->inputSize;
- break;
-
- case 3: /* RANK */
- if (in->configOptionVector[RANK] == 1) {
- (void) HDfprintf(stderr, err6a, infile);
- goto error;
- }
-
- if (getRank(in, strm) == -1) {
- (void) HDfprintf(stderr, err6b, infile);
- goto error;
- }
- in->configOptionVector[RANK] = 1;
- break;
-
- case 4: /* DIMENSION-SIZES */
- if (in->configOptionVector[DIM] == 1) {
- (void) HDfprintf(stderr, err7a, infile);
- goto error;
- }
-
- if (in->configOptionVector[RANK] == 0) {
- (void) HDfprintf(stderr, err7b, infile);
- goto error;
- }
- if (getDimensionSizes(in, strm) == -1) {
- (void) HDfprintf(stderr, err7c, infile);
- goto error;
- }
- in->configOptionVector[DIM] = 1;
- break;
-
- case 5: /* OUTPUT-CLASS */
- if (in->configOptionVector[OUTPUT_CLASS] == 1) {
- (void) HDfprintf(stderr, err8a, infile);
- goto error;
- }
-
- if (getOutputClass(in, strm) == -1) {
- (void) HDfprintf(stderr, err8b, infile);
- goto error;
- }
- in->configOptionVector[OUTPUT_CLASS] = 1;
- break;
-
- case 6: /* OUTPUT-SIZE */
- if (in->configOptionVector[OUTPUT_SIZE] == 1) {
- (void) HDfprintf(stderr, err9a, infile);
- goto error;
- }
-
- if (getOutputSize(in, strm) == -1) {
- (void) HDfprintf(stderr, err9b, infile);
- goto error;
- }
- in->configOptionVector[OUTPUT_SIZE] = 1;
- break;
-
- case 7: /* OUTPUT-ARCHITECTURE */
- if (in->configOptionVector[OUTPUT_ARCH] == 1) {
- (void) HDfprintf(stderr, err10a, infile);
- goto error;
- }
-
- if (getOutputArchitecture(in, strm) == -1) {
- (void) HDfprintf(stderr, err10b, infile);
- goto error;
- }
- in->configOptionVector[OUTPUT_ARCH] = 1;
- break;
-
- case 8: /* OUTPUT-BYTE-ORDER */
- if (in->configOptionVector[OUTPUT_B_ORDER] == 1) {
- (void) HDfprintf(stderr, err11a, infile);
- goto error;
- }
-
- if (getOutputByteOrder(in, strm) == -1) {
- (void) HDfprintf(stderr, err11b, infile);
- goto error;
- }
- in->configOptionVector[OUTPUT_B_ORDER] = 1;
- break;
-
- case 9: /* CHUNKED-DIMENSION-SIZES */
- if (in->configOptionVector[CHUNK] == 1) {
- (void) HDfprintf(stderr, err12a, infile);
- goto error;
- }
- /* cant appear before dimension sizes have been provided */
- if (in->configOptionVector[DIM] == 0) {
- (void) HDfprintf(stderr, err12b, infile);
- goto error;
- }
-
- if (getChunkedDimensionSizes(in, strm) == -1) {
- (void) HDfprintf(stderr, err12c, infile);
- goto error;
- }
- in->configOptionVector[CHUNK] = 1;
- break;
-
- case 10: /* COMPRESSION-TYPE */
- if (in->configOptionVector[COMPRESS] == 1) {
- (void) HDfprintf(stderr, err13a, infile);
- goto error;
- }
-
- if (getCompressionType(in, strm) == -1) {
- (void) HDfprintf(stderr, err13b, infile);
- goto error;
- }
- in->configOptionVector[COMPRESS] = 1;
-
- if (in->configOptionVector[COMPRESS_PARAM] == 0) {
- if (in->compressionType == 0)
- in->compressionParam = 6; /* default value if compressionType is GZIP */
- }
- break;
-
- case 11: /* COMPRESSION-PARAM */
- if (in->configOptionVector[COMPRESS_PARAM] == 1) {
- (void) HDfprintf(stderr, err14a, infile);
- goto error;
- }
-
- if (getCompressionParameter(in, strm) == -1) {
- (void) HDfprintf(stderr, err14b, infile);
- goto error;
- }
-
- in->configOptionVector[COMPRESS_PARAM] = 1;
-
- if (in->configOptionVector[COMPRESS] == 0)
- in->compressionType = 0;
-
- break;
-
- case 12: /* EXTERNAL-STORAGE */
- if (in->configOptionVector[EXTERNALSTORE] == 1) {
- (void) HDfprintf(stderr, err15a, infile);
- goto error;
- }
-
- if (getExternalFilename(in, strm) == -1) {
- (void) HDfprintf(stderr, err15b, infile);
- goto error;
- }
- in->configOptionVector[EXTERNALSTORE] = 1;
- break;
-
- case 13: /* MAXIMUM-DIMENSIONS */
- if (in->configOptionVector[EXTEND] == 1) {
- (void) HDfprintf(stderr, err16a, infile);
- goto error;
- }
- /* cant appear before dimension sizes have been provided */
- if (in->configOptionVector[DIM] == 0) {
- (void) HDfprintf(stderr, err16b, infile);
- goto error;
- }
- if (getMaximumDimensionSizes(in, strm) == -1) {
- (void) HDfprintf(stderr, err16c, infile);
- goto error;
- }
- in->configOptionVector[EXTEND] = 1;
- break;
-
- default:
- break;
- }
- scanret = fscanf(strm, "%s", key);
- }
- }
-
- /*
- check if keywords obtained are valid
- if yes, return 0 else error
- */
-
- if (validateConfigurationParameters(in) == -1) {
- (void) HDfprintf(stderr, err17, infile);
- goto error;
- }
-
- /* Set success return value */
- retval = 0;
-
-error:
- if(strm)
- HDfclose(strm);
- return(retval);
-}
-
-static int validateConfigurationParameters(struct Input *in)
-{
- const char *err1 = "One or more of the required fields (RANK, DIMENSION-SIZES) missing.\n";
- const char *err2 = "Cannot specify chunking or compression or extendible data sets with the external file option.\n";
- const char *err3 = "Cannot specify the compression or the extendible data sets without the chunking option.\n";
- const char *err4a = "OUTPUT-ARCHITECTURE cannot be STD if OUTPUT-CLASS is floating point (FP).\n";
- const char *err4b = "OUTPUT-ARCHITECTURE cannot be IEEE if OUTPUT-CLASS is integer (IN).\n";
- const char *err5 = "For OUTPUT-CLASS FP, valid values for OUTPUT-SIZE are (32, 64) .\n";
-#ifndef H5_SIZEOF_LONG_LONG
- const char *err6 = "No support for reading 64-bit integer (INPUT-CLASS: IN, TEXTIN, UIN, TEXTUIN files\n";
-#endif
-
- /* for class STR other parameters are ignored */
- if (in->inputClass == 5) /* STR */
- return (0);
-
- if ((in->configOptionVector[DIM] != 1) || (in->configOptionVector[RANK] != 1)) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- if (in->configOptionVector[EXTERNALSTORE] == 1) {
- if ((in->configOptionVector[COMPRESS] == 1) || (in->configOptionVector[CHUNK] == 1) || (in->configOptionVector[EXTEND] == 1)) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- }
-
- if ((in->configOptionVector[COMPRESS] == 1) || (in->configOptionVector[EXTEND] == 1)) {
- if (in->configOptionVector[CHUNK] != 1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- }
-
- /* Arch cant be STD if O/p class is FP */
- if (in->outputArchitecture == 1)
- if (in->outputClass == 1) {
- (void) HDfprintf(stderr, "%s", err4a);
- return (-1);
- }
-
- /* Arch cant be IEEE if O/p class is IN */
- if (in->outputArchitecture == 2)
- if (in->outputClass == 0) {
- (void) HDfprintf(stderr, "%s", err4b);
- return (-1);
- }
-
- if (in->outputClass == 1)
- if (in->outputSize != 32 && in->outputSize != 64) {
- (void) HDfprintf(stderr, "%s", err5);
- return (-1);
- }
-
-#ifndef H5_SIZEOF_LONG_LONG
- if (in->inputSize == 64 && (in->inputClass == 0 || in->inputClass == 4 || in->inputClass == 6 || in->inputClass == 7) ) {
- (void) HDfprintf(stderr, "%s", err6);
- return -1;
- }
-#endif
- return (0);
-}
-
-static int mapKeywordToIndex(char *key)
-{
- int i;
-
- for (i = 0; i < NUM_KEYS; i++)
- if (!HDstrcmp(keytable[i], key))
- return i;
- return -1;
-}
-
-static int parsePathInfo(struct path_info *path, char *temp)
-{
- const char delimiter[] = "/\"";
- char *token;
- int i = 0;
- const char *err1 = "Path string larger than MAX_PATH_NAME_LENGTH.\n";
-
- token = HDstrtok (temp, delimiter);
- if (HDstrlen(token) >= MAX_PATH_NAME_LENGTH) {
- (void) HDfprintf(stderr, err1);
- return (-1);
- }
- HDstrcpy(path->group[i++],token);
-
- while (1) {
- token = HDstrtok (NULL, delimiter);
- if (token == NULL)
- break;
- if (HDstrlen(token) >= MAX_PATH_NAME_LENGTH) {
- (void) HDfprintf(stderr, err1);
- return (-1);
- }
- HDstrcpy(path->group[i++],token);
- }
- path->count = i;
- return (0);
-}
-
-static int parseDimensions(struct Input *in, char *strm)
-{
- const char delimiter[] = ",";
- char temp[255];
- char *token;
- int i = 0;
- const char *err1 = "Unable to allocate dynamic memory.\n";
-
- HDstrncpy(temp, strm, sizeof(temp));
- temp[sizeof(temp) - 1] = '\0';
- HDstrtok (temp, delimiter);
-
- while (1) {
- token = HDstrtok (NULL, delimiter);
- if (token == NULL)
- break;
- i++;
- }
- in->rank = i + 1;
- if ((in->sizeOfDimension = (hsize_t *) HDmalloc ((size_t) in->rank * sizeof(hsize_t))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- i = 0;
- HDstrncpy(temp, strm, sizeof(temp));
- temp[sizeof(temp) - 1] = '\0';
- in->sizeOfDimension[i++]
- = HDstrtoull(HDstrtok (temp, delimiter), NULL, BASE_10);
-
- while (1) {
- token = HDstrtok (NULL, delimiter);
- if (token == NULL)
- break;
- in->sizeOfDimension[i++] = HDstrtoull(token, NULL, BASE_10);
- }
- return (0);
-}
-
-static int getOutputClass(struct Input *in, FILE *strm)
-{
- char temp[255];
- int kindex;
- const char *err1 = "Unable to get 'string' value.\n";
- const char *err2 = "Invalid value for output class.\n";
-
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- if ((kindex = OutputClassStrToInt(temp)) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
-
- in->outputClass = kindex;
- return (0);
-}
-
-static int OutputClassStrToInt(char *temp)
-{
- int i;
- char classKeywordTable[3][15] = { "IN", "FP", "UIN" };
- for (i = 0; i < 3; i++)
- if (!HDstrcmp(classKeywordTable[i], temp))
- return i;
-
- return -1;
-}
-/* same as getInputSize. But defined separately for extensibility */
-static int getOutputSize(struct Input *in, FILE *strm)
-{
- int ival;
- int i;
- int outputSizeValidValues[4] = { 8, 16, 32, 64 };
- const char *err1 = "Unable to get integer value.\n";
- const char *err2 = "Invalid value for output size.\n";
-
- if (fscanf(strm, "%d", (&ival)) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- for (i = 0; i < 4; i++)
- if (outputSizeValidValues[i] == ival) {
- in->outputSize = ival;
- return (0);
- }
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
-}
-
-static int getInputClass(struct Input *in, char * temp)
-{
- int kindex;
- const char *err1 = "Invalid value for input class.\n";
-
- if ((kindex = InputClassStrToInt(temp)) == -1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- in->inputClass = kindex;
- return (0);
-}
-
-static int getInputClassType(struct Input *in, char * buffer)
-{
- int kindex = -1;
- const char *err1 = "Invalid value for input class.\n";
- const char *err2 = "Invalid value for output architecture.\n";
- const char *err3 = "Invalid value for output byte-order.\n";
-
- if (!HDstrcmp(buffer, "H5T_STD_I8BE")) {
- in->inputSize = 8;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 4;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_I8LE")) {
- in->inputSize = 8;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 4;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_I16BE")) {
- in->inputSize = 16;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 4;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_I16LE")) {
- in->inputSize = 16;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 4;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_I32BE")) {
- in->inputSize = 32;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 4;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_I32LE")) {
- in->inputSize = 32;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 4;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_I64BE")) {
- in->inputSize = 64;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 4;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_I64LE")) {
- in->inputSize = 64;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 4;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_U8BE")) {
- in->inputSize = 8;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 7;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_U8LE")) {
- in->inputSize = 8;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 7;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_U16BE")) {
- in->inputSize = 16;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 7;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_U16LE")) {
- in->inputSize = 16;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 7;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_U32BE")) {
- in->inputSize = 32;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 7;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_U32LE")) {
- in->inputSize = 32;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 7;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_U64BE")) {
- in->inputSize = 64;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 7;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_U64LE")) {
- in->inputSize = 64;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 7;
- }
- else if (!HDstrcmp(buffer, "H5T_NATIVE_SCHAR")) {
- in->inputSize = 8;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("NATIVE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- kindex = 4;
- }
- else if (!HDstrcmp(buffer, "H5T_NATIVE_UCHAR")) {
- in->inputSize = 8;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("NATIVE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- kindex = 7;
- }
- else if (!HDstrcmp(buffer, "H5T_NATIVE_SHORT")) {
- in->inputSize = 16;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("NATIVE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- kindex = 4;
- }
- else if (!HDstrcmp(buffer, "H5T_NATIVE_USHORT")) {
- in->inputSize = 16;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("NATIVE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- kindex = 7;
- }
- else if (!HDstrcmp(buffer, "H5T_NATIVE_INT")) {
- in->inputSize = 32;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("NATIVE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- kindex = 4;
- }
- else if (!HDstrcmp(buffer, "H5T_NATIVE_UINT")) {
- in->inputSize = 32;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("NATIVE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- kindex = 7;
- }
- else if (!HDstrcmp(buffer, "H5T_NATIVE_LONG")) {
- in->inputSize = 32;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("NATIVE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- kindex = 4;
- }
- else if (!HDstrcmp(buffer, "H5T_NATIVE_ULONG")) {
- in->inputSize = 32;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("NATIVE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- kindex = 7;
- }
- else if (!HDstrcmp(buffer, "H5T_NATIVE_LLONG")) {
- in->inputSize = 64;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("NATIVE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- kindex = 4;
- }
- else if (!HDstrcmp(buffer, "H5T_NATIVE_ULLONG")) {
- in->inputSize = 64;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("NATIVE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- kindex = 7;
- }
- else if (!HDstrcmp(buffer, "H5T_IEEE_F32BE")) {
- in->inputSize = 32;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("IEEE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 3;
- }
- else if (!HDstrcmp(buffer, "H5T_IEEE_F32LE")) {
- in->inputSize = 32;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("IEEE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 3;
- }
- else if (!HDstrcmp(buffer, "H5T_IEEE_F64BE")) {
- in->inputSize = 64;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("IEEE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 3;
- }
- else if (!HDstrcmp(buffer, "H5T_IEEE_F64LE")) {
- in->inputSize = 64;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("IEEE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = 3;
- }
- else if (!HDstrcmp(buffer, "H5T_VAX_F32")) {
- in->inputSize = 32;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- kindex = 3;
- }
- else if (!HDstrcmp(buffer, "H5T_VAX_F64")) {
- in->inputSize = 64;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- kindex = 3;
- }
- else if (!HDstrcmp(buffer, "H5T_NATIVE_FLOAT")) {
- in->inputSize = 32;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("NATIVE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- kindex = 3;
- }
- else if (!HDstrcmp(buffer, "H5T_NATIVE_DOUBLE")) {
- in->inputSize = 64;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("NATIVE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- kindex = 3;
- }
-#if H5_SIZEOF_LONG_DOUBLE !=0
- else if (!HDstrcmp(buffer, "H5T_NATIVE_LDOUBLE")) {
- in->inputSize = H5_SIZEOF_LONG_DOUBLE;
- in->configOptionVector[INPUT_SIZE] = 1;
-
- if ((kindex = OutputArchStrToInt("NATIVE")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- kindex = 3;
- }
-#endif
- else if(!HDstrcmp(buffer, "H5T_TIME: not yet implemented")) {
- kindex = -1;
- }
- else if(!HDstrcmp(buffer, "H5T_STRING")) {
- kindex = 5;
- }
- /* case H5T_BITFIELD: */
- else if (!HDstrcmp(buffer, "H5T_STD_B8BE")) {
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = -1;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_B8LE")) {
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = -1;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_B16BE")) {
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = -1;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_B16LE")) {
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = -1;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_B32BE")) {
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = -1;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_B32LE")) {
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = -1;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_B64BE")) {
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("BE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = -1;
- }
- else if (!HDstrcmp(buffer, "H5T_STD_B64LE")) {
-
- if ((kindex = OutputArchStrToInt("STD")) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->outputArchitecture = kindex;
-
- if ((kindex = OutputByteOrderStrToInt("LE")) == -1) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- in->outputByteOrder = kindex;
-
- kindex = -1;
- }
- /* case H5T_OPAQUE: */
- else if(!HDstrcmp(buffer, "H5T_OPAQUE")) {
- kindex = -1;
- }
- /* case H5T_COMPOUND: */
- else if(!HDstrcmp(buffer, "H5T_COMPOUND")) {
- kindex = -1;
- }
- /* case H5T_REFERENCE: */
- else if(!HDstrcmp(buffer, "H5T_REFERENCE")) {
- kindex = -1;
- }
- /* case H5T_ENUM: */
- else if(!HDstrcmp(buffer, "H5T_ENUM")) {
- kindex = -1;
- }
- /* case H5T_VLEN: */
- else if(!HDstrcmp(buffer, "H5T_VLEN")) {
- kindex = -1;
- }
- /* case H5T_ARRAY: */
- else if(!HDstrcmp(buffer, "H5T_ARRAY")) {
- kindex = -1;
- }
-
- if (kindex == -1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- /*set default value for output-size */
- if (in->configOptionVector[OUTPUT_SIZE] == 0)
- in->outputSize = in->inputSize;
-#ifdef H5DEBUGIMPORT
- printf("h5dump DATATYPE STRING %d inputSize\n", in->inputSize);
- printf("h5dump DATATYPE STRING %d outputSize\n", in->outputSize);
-#endif
-
- in->inputClass = kindex;
- return (0);
-}
-
-static int InputClassStrToInt(char *temp)
-{
- int i;
- char classKeywordTable[8][15] = { "TEXTIN", "TEXTFP", "TEXTFPE", "FP", "IN", "STR", "TEXTUIN", "UIN" };
- for (i = 0; i < 8; i++)
- if (!HDstrcmp(classKeywordTable[i], temp))
- return i;
- return -1;
-}
-
-/* same as getOutputSize. But defined separately for extensibility */
-static int getInputSize(struct Input *in, int ival)
-{
- int i;
- int inputSizeValidValues[4] = { 8, 16, 32, 64 };
- const char *err1 = "Invalid value for input size.\n";
-
- for (i = 0; i < 4; i++)
- if (inputSizeValidValues[i] == ival) {
- in->inputSize = ival;
- return (0);
- }
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
-}
-
-static int getRank(struct Input *in, FILE *strm)
-{
- int ival;
-
- const char *err1 = "Unable to get integer value.\n";
- const char *err2 = "Invalid value for rank.\n";
-
- if (fscanf(strm, "%d", (&ival)) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- if (ival >= MIN_NUM_DIMENSION && ival <= MAX_NUM_DIMENSION) {
- in->rank = ival;
- return (0);
- }
-
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
-}
-
-/* same as getChunkedDimensionSizes. But defined separately for extensibility */
-static int getDimensionSizes(struct Input *in, FILE *strm)
-{
- unsigned long long ullval;
- int i = 0;
-
- const char *err1 = "Unable to allocate dynamic memory.\n";
- const char *err2 = "No. of dimensions for which dimension sizes provided is not equal to provided rank.\n";
-
- if ((in->sizeOfDimension = (hsize_t *) HDmalloc ((size_t) in->rank * sizeof(hsize_t))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- while (fscanf(strm, "%llu", (&ullval)) == 1)
- in->sizeOfDimension[i++] = ullval;
-
- if (in->rank != i) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- return (0);
-}
-/* same as getDimensionSizes. But defined separately for extensibility */
-static int getChunkedDimensionSizes(struct Input *in, FILE *strm)
-{
- unsigned long long ullval;
- int i = 0;
-
- const char *err1 = "Unable to allocate dynamic memory.\n";
- const char *err2 = "No. of dimensions for which chunked dimension sizes provided is not equal to provided rank.\n";
- const char *err3 = "The CHUNKED-DIMENSION-SIZES cannot exceed the sizes of DIMENSION-SIZES\n";
-
- if ((in->sizeOfChunk = (hsize_t *) HDmalloc ((size_t) in->rank * sizeof(hsize_t))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- while (fscanf(strm, "%llu", (&ullval)) == 1)
- in->sizeOfChunk[i++] = ullval;
-
- if (in->rank != i) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
-
- for (i = 0; i < in->rank; i++)
- if (in->sizeOfChunk[i] > in->sizeOfDimension[i]) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- return (0);
-}
-
-static int getMaximumDimensionSizes(struct Input *in, FILE *strm)
-{
- long long llval;
- int i = 0;
-
- const char *err1 = "Unable to allocate dynamic memory.\n";
- const char *err2 = "No. of dimensions for which maximum dimension sizes provided is not equal to provided rank.\n";
- const char *err3 = "The MAXIMUM-DIMENSIONS cannot be less than the sizes of DIMENSION-SIZES. Exception: can be -1 to indicate unlimited size\n";
-
- if ((in->maxsizeOfDimension = (hsize_t *) HDmalloc ((size_t) in->rank * sizeof(hsize_t))) == NULL) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- while (fscanf(strm, "%lld", (&llval)) == 1) {
- if (llval == -1)
- in->maxsizeOfDimension[i++] = H5S_UNLIMITED;
- else
- in->maxsizeOfDimension[i++] = (hsize_t)llval;
- }
-
- if (in->rank != i) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
-
- for (i = 0; i < in->rank; i++) {
- if (in->maxsizeOfDimension[i] != H5S_UNLIMITED)
- if (in->maxsizeOfDimension[i] < in->sizeOfDimension[i]) {
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- }
- return (0);
-}
-
-static int getOutputArchitecture(struct Input *in, FILE *strm)
-{
- char temp[255];
- int kindex;
- const char *err1 = "Unable to get 'string' value.\n";
- const char *err2 = "Invalid value for output architecture.\n";
-
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- if ((kindex = OutputArchStrToInt(temp)) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
-
- in->outputArchitecture = kindex;
- return (0);
-}
-
-static int OutputArchStrToInt(const char *temp)
-{
- int i;
- char outputArchKeywordTable[8][15] = { "NATIVE", "STD", "IEEE", "INTEL",
- "CRAY", "MIPS", "ALPHA", "UNIX" };
- for (i = 0; i < 8; i++)
- if (!HDstrcmp(outputArchKeywordTable[i], temp))
- return i;
- return -1;
-}
-
-static int getOutputByteOrder(struct Input *in, FILE *strm)
-{
- char temp[255];
- int kindex;
- const char *err1 = "Unable to get 'string' value.\n";
- const char *err2 = "Invalid value for output byte-order.\n";
-
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- if ((kindex = OutputByteOrderStrToInt(temp)) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
-
- in->outputByteOrder = kindex;
- return (0);
-}
-
-static int OutputByteOrderStrToInt(const char *temp)
-{
- int i;
- char outputByteOrderKeywordTable[2][15] = { "BE", "LE" };
- for (i = 0; i < 2; i++)
- if (!HDstrcmp(outputByteOrderKeywordTable[i], temp))
- return i;
- return -1;
-}
-
-static int getCompressionType(struct Input *in, FILE *strm)
-{
- char temp[255];
- int kindex;
- const char *err1 = "Unable to get 'string' value.\n";
- const char *err2 = "Invalid value for compression.\n";
-
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- if ((kindex = CompressionTypeStrToInt(temp)) == -1) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
-
- in->compressionType = kindex;
- return (0);
-
-}
-
-static int CompressionTypeStrToInt(char *temp)
-{
- /* currently supports only GZIP */
- /* can be extended by adding fields to the table */
-
- int i;
- char CompressionTypeKeywordTable[1][15] = { "GZIP" };
- for (i = 0; i < 1; i++)
- if (!HDstrcmp(CompressionTypeKeywordTable[i], temp))
- return i;
- return -1;
-}
-
-static int getCompressionParameter(struct Input *in, FILE *strm)
-{
- /* currently supports only GZIP */
- /* can be extended by adding more values to COMPRESSION-TYPE and */
- /* handling the paramters here by adding more cases */
-
- int ival;
- const char *err1 = "Unable to get integer value.\n";
- const char *err2 = "Invalid value for compression paramter.\n";
- const char *err3 = "Unsupported Compression Type.\n";
-
- switch (in->compressionType) {
- case 0: /* GZIP */
- if (fscanf(strm, "%d", (&ival)) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- if (ival < 0 || ival > 9) {
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- in->compressionParam = ival;
- return (0);
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
-}
-
-static int getExternalFilename(struct Input *in, FILE *strm)
-{
- char temp[255];
- const char *err1 = "Unable to get 'string' value.\n";
-
- if (fscanf(strm, "%s", temp) != 1) {
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
-
- in->externFilename = (char *) HDmalloc ((size_t) (HDstrlen(temp)) * sizeof(char));
- (void) HDstrcpy(in->externFilename, temp);
- return (0);
-}
-
-void setDefaultValues(struct Input *in, int count)
-{
- int i;
- char temp[255];
- char num[255];
-
- in->h5dumpInput = 0;
- in->inputClass = 3; /* FP */
- in->inputSize = 32;
- in->outputClass = 1; /* FP */
- in->outputSize = 32;
- in->rank = 0;
- in->path.count = 1;
-
- HDstrcpy(temp, "dataset");
- sprintf(num, "%d", count);
- HDstrcat(temp, num);
- HDstrcpy(in->path.group[0], temp);
-
- in->outputArchitecture = 0; /* NATIVE */
- in->outputByteOrder = -1; /* use default */
- in->compressionType = 0; /* GZIP */
- for (i = 0; i < NUM_KEYS; i++)
- in->configOptionVector[i] = 0;
-}
-
-hid_t createOutputDataType(struct Input *in)
-{
- hid_t new_type = (-1);
- const char *err1 = "Invalid value for output class.\n";
- const char *err2 = "Invalid value for output size.\n";
- const char *err3 = "Invalid value for output byte order.\n";
- const char *err4 = "Invalid value for output architecture.\n";
- const char *err5 = "STD not supported for float.\n";
- const char *err6 = "IEEE not supported for INT.\n";
-
- switch (in->outputClass) {
- case 0:
- switch (in->outputArchitecture) {
- case 0: /* NATIVE */
- switch (in->outputSize) {
- case 8:
- new_type = H5Tcopy(H5T_NATIVE_CHAR);
- break;
-
- case 16:
- new_type = H5Tcopy(H5T_NATIVE_SHORT);
- break;
-
- case 32:
- new_type = H5Tcopy(H5T_NATIVE_INT);
- break;
-
- case 64:
- new_type = H5Tcopy(H5T_NATIVE_LLONG);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- switch (in->outputByteOrder) {
- case -1: /* default */
- break;
- case 0:
- H5Tset_order(new_type, H5T_ORDER_BE);
- break;
-
- case 1:
- H5Tset_order(new_type, H5T_ORDER_LE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- break;
-
- case 1: /* STD */
- switch (in->outputSize) {
- case 8:
- switch (in->outputByteOrder) {
- case -1:
- case 0:
- new_type = H5Tcopy(H5T_STD_I8BE);
- break;
-
- case 1:
- new_type = H5Tcopy(H5T_STD_I8LE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- break;
-
- case 16:
- switch (in->outputByteOrder) {
- case -1:
- case 0:
- new_type = H5Tcopy(H5T_STD_I16BE);
- break;
-
- case 1:
- new_type = H5Tcopy(H5T_STD_I16LE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- break;
-
- case 32:
- switch (in->outputByteOrder) {
- case -1:
- case 0:
- new_type = H5Tcopy(H5T_STD_I32BE);
- break;
-
- case 1:
- new_type = H5Tcopy(H5T_STD_I32LE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- break;
-
- case 64:
- switch (in->outputByteOrder) {
- case -1:
- case 0:
- new_type = H5Tcopy(H5T_STD_I64BE);
- break;
-
- case 1:
- new_type = H5Tcopy(H5T_STD_I64LE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err4);
- return (-1);
- }
- break;
-
- case 1:
- switch (in->outputArchitecture) {
- case 0:
- switch (in->outputSize) {
- case 32:
- new_type = H5Tcopy(H5T_NATIVE_FLOAT);
- break;
-
- case 64:
- new_type = H5Tcopy(H5T_NATIVE_DOUBLE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- switch (in->outputByteOrder) {
- case -1: /* DEFAULT */
- break;
- case 0:
- H5Tset_order(new_type, H5T_ORDER_BE);
- break;
-
- case 1:
- H5Tset_order(new_type, H5T_ORDER_LE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- break;
-
- case 1:
- (void) HDfprintf(stderr, "%s", err5);
- return (-1);
-
- case 2:
- switch (in->outputSize) {
- case 32:
- switch (in->outputByteOrder) {
- case -1:
- case 0:
- new_type = H5Tcopy(H5T_IEEE_F32BE);
- break;
-
- case 1:
- new_type = H5Tcopy(H5T_IEEE_F32LE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- break;
-
- case 64:
- switch (in->outputByteOrder) {
- case -1:
- case 0:
- new_type = H5Tcopy(H5T_IEEE_F64BE);
- break;
-
- case 1:
- new_type = H5Tcopy(H5T_IEEE_F64LE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err4);
- return (-1);
- }
- break;
-
- case 2:
- switch (in->outputArchitecture) {
- case 0:
- switch (in->outputSize) {
- case 8:
- new_type = H5Tcopy(H5T_NATIVE_UCHAR);
- break;
-
- case 16:
- new_type = H5Tcopy(H5T_NATIVE_USHORT);
- break;
-
- case 32:
- new_type = H5Tcopy(H5T_NATIVE_UINT);
- break;
-
- case 64:
- new_type = H5Tcopy(H5T_NATIVE_ULLONG);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- switch (in->outputByteOrder) {
- case -1: /* Default */
- break;
- case 0:
- H5Tset_order(new_type, H5T_ORDER_BE);
- break;
-
- case 1:
- H5Tset_order(new_type, H5T_ORDER_LE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- break;
-
- case 1:
- switch (in->outputSize) {
- case 8:
- switch (in->outputByteOrder) {
- case -1:
- case 0:
- new_type = H5Tcopy(H5T_STD_U8BE);
- break;
-
- case 1:
- new_type = H5Tcopy(H5T_STD_U8LE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- break;
-
- case 16:
- switch (in->outputByteOrder) {
- case -1:
- case 0:
- new_type = H5Tcopy(H5T_STD_U16BE);
- break;
-
- case 1:
- new_type = H5Tcopy(H5T_STD_U16LE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- break;
-
- case 32:
- switch (in->outputByteOrder) {
- case -1:
- case 0:
- new_type = H5Tcopy(H5T_STD_U32BE);
- break;
-
- case 1:
- new_type = H5Tcopy(H5T_STD_U32LE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- break;
-
- case 64:
- switch (in->outputByteOrder) {
- case -1:
- case 0:
- new_type = H5Tcopy(H5T_STD_U64BE);
- break;
-
- case 1:
- new_type = H5Tcopy(H5T_STD_U64LE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err3);
- return (-1);
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
- case 2:
- (void) HDfprintf(stderr, "%s", err6);
- return (-1);
-
- default:
- (void) HDfprintf(stderr, "%s", err4);
- return (-1);
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- return new_type;
-}
-
-hid_t createInputDataType(struct Input *in)
-{
- hid_t new_type = (-1);
- const char *err1 = "Invalid value for input class.\n";
- const char *err2 = "Invalid value for output size.\n";
-
- switch (in->inputClass) {
- case 0:
- case 4:
- switch (in->inputSize) {
- case 8:
- new_type = H5Tcopy(H5T_NATIVE_CHAR);
- break;
-
- case 16:
- new_type = H5Tcopy(H5T_NATIVE_SHORT);
- break;
-
- case 32:
- new_type = H5Tcopy(H5T_NATIVE_INT);
- break;
-
- case 64:
- new_type = H5Tcopy(H5T_NATIVE_LLONG);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
- case 1:
- case 2:
- case 3:
- switch (in->inputSize) {
- case 32:
- new_type = H5Tcopy(H5T_NATIVE_FLOAT);
- break;
-
- case 64:
- new_type = H5Tcopy(H5T_NATIVE_DOUBLE);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
- case 5:
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- break;
-
- case 6:
- case 7:
- switch (in->inputSize) {
- case 8:
- new_type = H5Tcopy(H5T_NATIVE_UCHAR);
- break;
-
- case 16:
- new_type = H5Tcopy(H5T_NATIVE_USHORT);
- break;
-
- case 32:
- new_type = H5Tcopy(H5T_NATIVE_UINT);
- break;
-
- case 64:
- new_type = H5Tcopy(H5T_NATIVE_ULLONG);
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err2);
- return (-1);
- }
- break;
-
- default:
- (void) HDfprintf(stderr, "%s", err1);
- return (-1);
- }
- return new_type;
-}
-
-static int process(struct Options *opt)
-{
- struct Input *in;
- FILE *extfile;
- hid_t file_id;
- hid_t group_id;
- hid_t handle;
- hid_t dataset;
- hid_t dataspace = (-1);
- hid_t intype;
- hid_t outtype;
- hid_t proplist;
- hsize_t numOfElements = 1;
- int j;
- int k;
-
- const char *err1 = "Error creating HDF output file: %s.\n";
- const char *err2 = "Error in processing the configuration file: %s.\n";
- const char *err3 = "Error in reading the input file: %s.\n";
- const char *err4 = "Error in creating or opening external file.\n";
- const char *err5 = "Error in creating the output data set. Dataset with the same name may exist at the specified path\n";
- const char *err6 = "Error in writing the output data set.\n";
-
- H5E_BEGIN_TRY
- {
- if ((file_id = H5Fopen(opt->outfile, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) {
- if ((file_id = H5Fcreate(opt->outfile, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) == FAIL) {
- (void) HDfprintf(stderr, err1, opt->outfile);
- return (-1);
- }
- }
- }
- H5E_END_TRY;
-
- for (k = 0; k < opt->fcount; k++) {
- in = &(opt->infiles[k].in);
- if (opt->infiles[k].config == 1) {
- if (processConfigurationFile(opt->infiles[k].configfile, in) == -1) {
- (void) HDfprintf(stderr, err2, opt->infiles[k].configfile);
- return (-1);
- }
- }
-
- if (processDataFile(opt->infiles[k].datafile, in, file_id) == -1) {
- (void) HDfprintf(stderr, err3, opt->infiles[k].datafile);
- return (-1);
- }
-
- if (in->inputClass != 5) { /* STR */
- for (j = 0; j < in->rank; j++)
- numOfElements *= in->sizeOfDimension[j];
-
- /* disable error reporting */
- H5E_BEGIN_TRY
- {
- /* create parent groups */
- if (in->path.count > 1) {
- j = 0;
- handle = file_id;
- while (j < in->path.count - 1) {
- if ((group_id = H5Gopen2(handle, in->path.group[j], H5P_DEFAULT)) < 0) {
- group_id = H5Gcreate2(handle, in->path.group[j++], H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- for (; j < in->path.count - 1; j++)
- group_id = H5Gcreate2(group_id, in->path.group[j], H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- handle = group_id;
- break;
- }
- handle = group_id;
- j++;
- }
- }
- else {
- handle = file_id;
- j = 0;
- }
-
- /*enable error reporting */
- }
- H5E_END_TRY;
-
- /*create data type */
- intype = createInputDataType(in);
- outtype = createOutputDataType(in);
-#ifdef H5DEBUGIMPORT
- printf("process intype %d outtype %d\n", intype, outtype);
-#endif
-
- /* create property list */
- proplist = H5Pcreate(H5P_DATASET_CREATE);
- if (in->configOptionVector[CHUNK] == 1) {
- H5Pset_layout(proplist, H5D_CHUNKED);
- /* not reqd chunking is implied if set_chunk is used */
- H5Pset_chunk(proplist, in->rank, in->sizeOfChunk);
- }
-
- if (in->configOptionVector[COMPRESS] == 1) {
- H5Pset_deflate(proplist, (unsigned) in->compressionParam);
- }
-
- if (in->configOptionVector[EXTERNALSTORE] == 1) {
- /* creating the external file if it doesnt exist */
- if ((extfile = HDfopen(in->externFilename, "ab")) == NULL) {
- (void) HDfprintf(stderr, "%s", err4);
- H5Pclose(proplist);
- H5Sclose(dataspace);
- H5Fclose(file_id);
- return (-1);
- }
- HDfclose(extfile);
- H5Pset_external(proplist, in->externFilename, (off_t)0, numOfElements * (hsize_t)in->inputSize / 8);
- }
-
- /* create dataspace */
- if (in->configOptionVector[EXTEND] == 1)
- dataspace = H5Screate_simple(in->rank, in->sizeOfDimension, in->maxsizeOfDimension);
- else
- dataspace = H5Screate_simple(in->rank, in->sizeOfDimension, NULL);
-
- /* disable error reporting */
- H5E_BEGIN_TRY
- {
- /* create data set */
- if ((dataset = H5Dcreate2(handle, in->path.group[j], outtype, dataspace, H5P_DEFAULT, proplist, H5P_DEFAULT)) < 0) {
- (void) HDfprintf(stderr, "%s", err5);
- H5Pclose(proplist);
- H5Sclose(dataspace);
- H5Fclose(file_id);
- return (-1);
- }
-
- /*enable error reporting */
- }
- H5E_END_TRY;
-
- /* write dataset */
- if (H5Dwrite(dataset, intype, H5S_ALL, H5S_ALL, H5P_DEFAULT, (VOIDP) in->data) < 0) {
- (void) HDfprintf(stderr, "%s", err6);
- H5Dclose(dataset);
- H5Pclose(proplist);
- H5Sclose(dataspace);
- H5Fclose(file_id);
- return (-1);
- }
-
- H5Dclose(dataset);
- H5Pclose(proplist);
- H5Sclose(dataspace);
- }
-
- } /* STR */
-
- H5Fclose(file_id);
- return (0);
-}
-
-/*
- * Name:
- * help
- *
- * Purpose:
- * Print a helpful summary of command usage and features.
- */
-
-void help(char *name)
-{
- (void) HDfprintf(stdout, "Name:\n\n");
- (void) HDfprintf(stdout, "\t%s\n\n", name);
- (void) HDfprintf(stdout, "\t TOOL NAME:\n");
- (void) HDfprintf(stdout, "\t %s\n", name);
- (void) HDfprintf(stdout, "\t SYNTAX:\n");
- (void) HDfprintf(stdout, "\t %s -h[elp], OR\n", name);
- (void) HDfprintf(stdout,
- "\t %s <infile> -c[onfig] <configfile> [<infile> -c[config] <configfile>...]", name);
- (void) HDfprintf(stdout, "\t\t\t\t -o[utfile] <outfile>\n\n");
- (void) HDfprintf(stdout, "\t PURPOSE:\n");
- (void) HDfprintf(stdout,
- "\t To convert data stored in one or more ASCII or binary files\n");
- (void) HDfprintf(stdout,
- "\t into one or more datasets (in accordance with the \n");
- (void) HDfprintf(stdout,
- "\t user-specified type and storage properties) in an existing \n");
- (void) HDfprintf(stdout, "\t or new HDF5 file.\n\n");
- (void) HDfprintf(stdout, "\t DESCRIPTION:\n");
- (void) HDfprintf(stdout,
- "\t The primary objective of the utility is to convert floating\n");
- (void) HDfprintf(stdout,
- "\t point or integer data stored in ASCII text or binary form \n");
- (void) HDfprintf(stdout,
- "\t into a data-set according to the type and storage properties\n");
- (void) HDfprintf(stdout,
- "\t specified by the user. The utility can also accept ASCII\n");
- (void) HDfprintf(stdout,
- "\t text files and store the contents in a compact form as an\n");
- (void) HDfprintf(stdout, "\t array of one-dimensional strings.\n\n");
- (void) HDfprintf(stdout,
- "\t The input data to be written as a data-set can be provided\n");
- (void) HDfprintf(stdout, "\t to the utility in one of the following forms:\n");
- (void) HDfprintf(stdout,
- "\t 1. ASCII text file with numeric data (floating point or \n");
- (void) HDfprintf(stdout, "\t integer data). \n");
- (void) HDfprintf(stdout,
- "\t 2. Binary file with native floating point data (32-bit or \n");
- (void) HDfprintf(stdout, "\t 64-bit) \n");
- (void) HDfprintf(stdout,
- "\t 3. Binary file with native integer (signed or unsigned)\n");
- (void) HDfprintf(stdout, "\t data (8-bit or 16-bit or 32-bit or 64-bit). \n");
- (void) HDfprintf(stdout,
- "\t 4. ASCII text file containing strings (text data).\n");
- (void) HDfprintf(stdout, "\t \n");
- (void) HDfprintf(stdout,
- "\t Every input file is associated with a configuration file \n");
- (void) HDfprintf(stdout,
- "\t also provided as an input to the utility. (See Section \n");
- (void) HDfprintf(stdout,
- "\t \"CONFIGURATION FILE\" to know how it is to be organized).\n");
- (void) HDfprintf(stdout,
- "\t The class, size and dimensions of the input data is \n");
- (void) HDfprintf(stdout,
- "\t specified in this configuration file. A point to note is\n");
- (void) HDfprintf(stdout,
- "\t that the floating point data in the ASCII text file may be\n");
- (void) HDfprintf(stdout,
- "\t organized in the fixed floating form (for example 323.56)\n");
- (void) HDfprintf(stdout,
- "\t or in a scientific notation (for example 3.23E+02). A \n");
- (void) HDfprintf(stdout,
- "\t different input-class specification is to be used for both\n");
- (void) HDfprintf(stdout, "\t forms.\n\n");
- (void) HDfprintf(stdout,
- "\t The utility extracts the input data from the input file \n");
- (void) HDfprintf(stdout,
- "\t according to the specified parameters and saves it into \n");
- (void) HDfprintf(stdout, "\t an H5 dataset. \n\n");
- (void) HDfprintf(stdout,
- "\t The user can specify output type and storage properties in \n");
- (void) HDfprintf(stdout,
- "\t the configuration file. The user is required to specify the \n");
- (void) HDfprintf(stdout,
- "\t path of the dataset. If the groups in the path leading to \n");
- (void) HDfprintf(stdout,
- "\t the data-set do not exist, the groups will be created by the\n");
- (void) HDfprintf(stdout,
- "\t utility. If no group is specified, the dataset will be\n");
- (void) HDfprintf(stdout, "\t created under the root group.\n\n");
- (void) HDfprintf(stdout,
- "\t In addition to the name, the user is also required to \n");
- (void) HDfprintf(stdout,
- "\t provide the class and size of output data to be written to \n");
- (void) HDfprintf(stdout,
- "\t the dataset and may optionally specify the output-architecture,\n");
- (void) HDfprintf(stdout,
- "\t and the output-byte-order. If output-architecture is not \n");
- (void) HDfprintf(stdout,
- "\t specified the default is NATIVE. Output-byte-orders are fixed\n");
- (void) HDfprintf(stdout,
- "\t for some architectures and may be specified only if output-\n");
- (void) HDfprintf(stdout, "\t architecture is IEEE, UNIX or STD.\n\n");
- (void) HDfprintf(stdout,
- "\t Also, layout and other storage properties such as \n");
- (void) HDfprintf(stdout,
- "\t compression, external storage and extendible data-sets may be\n");
- (void) HDfprintf(stdout,
- "\t optionally specified. The layout and storage properties \n");
- (void) HDfprintf(stdout,
- "\t denote how raw data is to be organized on the disk. If these \n");
- (void) HDfprintf(stdout,
- "\t options are not specified the default is Contiguous layout \n");
- (void) HDfprintf(stdout, "\t and storage.\n\n");
- (void) HDfprintf(stdout,
- "\t The dataset can be organized in any of the following ways:\n");
- (void) HDfprintf(stdout, "\t 1. Contiguous.\n");
- (void) HDfprintf(stdout, "\t 2. Chunked.\n");
- (void) HDfprintf(stdout,
- "\t 3. External Storage File (has to be contiguous)\n");
- (void) HDfprintf(stdout,
- "\t 4. Extendible data sets (has to be chunked)\n");
- (void) HDfprintf(stdout, "\t 5. Compressed. (has to be chunked)\n");
- (void) HDfprintf(stdout,
- "\t 6. Compressed & Extendible (has to be chunked)\n\n");
- (void) HDfprintf(stdout,
- "\t If the user wants to store raw data in a non-HDF file then \n");
- (void) HDfprintf(stdout,
- "\t the external storage file option is to be used and the name \n");
- (void) HDfprintf(stdout, "\t of the file is to be specified. \n\n");
- (void) HDfprintf(stdout,
- "\t If the user wants the dimensions of the data-set to be\n");
- (void) HDfprintf(stdout,
- "\t unlimited, the extendible data set option can be chosen. \n\n");
- (void) HDfprintf(stdout,
- "\t The user may also specify the type of compression and the \n");
- (void) HDfprintf(stdout,
- "\t level to which the data set must be compresses by setting \n");
- (void) HDfprintf(stdout, "\t the compressed option.\n\n");
- (void) HDfprintf(stdout, "\t SYNOPSIS:\n");
- (void) HDfprintf(stdout, "\t h5import -h[elp], OR\n");
- (void) HDfprintf( stdout,
- "\t h5import <infile> -c[onfig] <configfile> \
- [<infile> -c[config] <confile2>...] -o[utfile] <outfile>\n\n");
- (void) HDfprintf(stdout, "\t -h[elp]:\n");
- (void) HDfprintf(stdout,
- "\t Prints this summary of usage, and exits.\n\n");
- (void) HDfprintf(stdout, "\t <infile(s)>:\n");
- (void) HDfprintf(stdout,
- "\t Name of the Input file(s), containing a \n");
- (void) HDfprintf(stdout,
- "\t single n-dimensional floating point or integer array \n");
- (void) HDfprintf(stdout,
- "\t in either ASCII text, native floating point(32-bit \n");
- (void) HDfprintf(stdout,
- "\t or 64-bit) or native integer(8-bit or 16-bit or \n");
- (void) HDfprintf(stdout,
- "\t 32-bit or 64-bit). Data to be specified in the order\n");
- (void) HDfprintf(stdout, "\t of fastest changing dimensions first.\n\n");
- (void) HDfprintf(stdout, "\t -c[config] <configfile>:\n");
- (void) HDfprintf(stdout,
- "\t Every input file should be associated with a \n");
- (void) HDfprintf(stdout,
- "\t configuration file and this is done by the -c option.\n");
- (void) HDfprintf(stdout,
- "\t <configfile> is the name of the configuration file.\n");
- (void) HDfprintf(stdout, "\t (See Section \"CONFIGURATION FILE\")\n\n");
- (void) HDfprintf(stdout, "\t -o[utfile] <outfile>:\n");
- (void) HDfprintf(stdout,
- "\t Name of the HDF5 output file. Data from one or more \n");
- (void) HDfprintf(stdout,
- "\t input files are stored as one or more data sets in \n");
- (void) HDfprintf(stdout,
- "\t <outfile>. The output file may be an existing file or \n");
- (void) HDfprintf(stdout,
- "\t it maybe new in which case it will be created.\n\n\n");
- (void) HDfprintf(stdout, "\t CONFIGURATION FILE:\n");
- (void) HDfprintf(stdout,
- "\t The configuration file is an ASCII text file and must be \n");
- (void) HDfprintf(stdout,
- "\t the ddl formatted file (without data values) produced by h5dump \n");
- (void) HDfprintf(stdout,
- "\t when used with the options '-o outfilename -b' of a single dataset (-d) \n");
- (void) HDfprintf(stdout,
- "\t OR organized as \"CONFIG-KEYWORD VALUE\" pairs, one pair on each \n");
- (void) HDfprintf(stdout, "\t line.\n\n");
- (void) HDfprintf(stdout,
- "\t The configuration file may have the following keywords each \n");
- (void) HDfprintf(stdout, "\t followed by an acceptable value.\n\n");
- (void) HDfprintf(stdout, "\t Required KEYWORDS:\n");
- (void) HDfprintf(stdout, "\t PATH\n");
- (void) HDfprintf(stdout, "\t INPUT-CLASS\n");
- (void) HDfprintf(stdout, "\t INPUT-SIZE\n");
- (void) HDfprintf(stdout, "\t RANK\n");
- (void) HDfprintf(stdout, "\t DIMENSION-SIZES\n");
- (void) HDfprintf(stdout, "\t OUTPUT-CLASS\n");
- (void) HDfprintf(stdout, "\t OUTPUT-SIZE\n\n");
- (void) HDfprintf(stdout, "\t Optional KEYWORDS:\n");
- (void) HDfprintf(stdout, "\t OUTPUT-ARCHITECTURE\n");
- (void) HDfprintf(stdout, "\t OUTPUT-BYTE-ORDER\n");
- (void) HDfprintf(stdout, "\t CHUNKED-DIMENSION-SIZES\n");
- (void) HDfprintf(stdout, "\t COMPRESSION-TYPE\n");
- (void) HDfprintf(stdout, "\t COMPRESSION-PARAM\n");
- (void) HDfprintf(stdout, "\t EXTERNAL-STORAGE\n");
- (void) HDfprintf(stdout, "\t MAXIMUM-DIMENSIONS\n\n\n");
- (void) HDfprintf(stdout, "\t Values for keywords:\n");
- (void) HDfprintf(stdout, "\t PATH:\n");
- (void) HDfprintf(stdout, "\t Strings separated by spaces to represent\n");
- (void) HDfprintf(stdout, "\t the path of the data-set. If the groups in\n");
- (void) HDfprintf(stdout,
- "\t the path do not exist, they will be created. \n");
- (void) HDfprintf(stdout, "\t For example,\n");
- (void) HDfprintf(stdout, "\t PATH grp1/grp2/dataset1\n");
- (void) HDfprintf(stdout, "\t PATH: keyword\n");
- (void) HDfprintf(stdout, "\t grp1: group under the root. If\n");
- (void) HDfprintf(stdout, "\t non-existent will be created.\n");
- (void) HDfprintf(stdout, "\t grp2: group under grp1. If \n");
- (void) HDfprintf(stdout, "\t non-existent will be created \n");
- (void) HDfprintf(stdout, "\t under grp1.\n");
- (void) HDfprintf(stdout, "\t dataset1: the name of the data-set \n");
- (void) HDfprintf(stdout, "\t to be created.\n\n");
- (void) HDfprintf(stdout, "\t INPUT-CLASS:\n");
- (void) HDfprintf(stdout, "\t String denoting the type of input data.\n");
- (void) HDfprintf(stdout, "\t (\"TEXTIN\", \"TEXTFP\", \"FP\", \"IN\", \n");
- (void) HDfprintf(stdout, "\t \"STR\", \"TEXTUIN\", \"UIN\"). \n");
- (void) HDfprintf(stdout,
- "\t INPUT-CLASS \"TEXTIN\" denotes an ASCII text \n");
- (void) HDfprintf(stdout,
- "\t file with signed integer data in ASCII form,\n");
- (void) HDfprintf(stdout,
- "\t INPUT-CLASS \"TEXTUIN\" denotes an ASCII text \n");
- (void) HDfprintf(stdout,
- "\t file with unsigned integer data in ASCII form,\n");
- (void) HDfprintf(stdout,
- "\t \"TEXTFP\" denotes an ASCII text file containing\n");
- (void) HDfprintf(stdout, "\t floating point data in the fixed notation\n");
- (void) HDfprintf(stdout, "\t (325.34),\n");
- (void) HDfprintf(stdout,
- "\t \"FP\" denotes a floating point binary file,\n");
- (void) HDfprintf(stdout,
- "\t \"IN\" denotes a signed integer binary file,\n");
- (void) HDfprintf(stdout,
- "\t \"UIN\" denotes an unsigned integer binary file,\n");
- (void) HDfprintf(stdout, "\t & \"STR\" denotes an ASCII text file the \n");
- (void) HDfprintf(stdout,
- "\t contents of which should be stored as an 1-D \n");
- (void) HDfprintf(stdout, "\t array of strings.\n");
- (void) HDfprintf(stdout, "\t If INPUT-CLASS is \"STR\", then RANK, \n");
- (void) HDfprintf(stdout,
- "\t DIMENSION-SIZES, OUTPUT-CLASS, OUTPUT-SIZE, \n");
- (void) HDfprintf(stdout, "\t OUTPUT-ARCHITECTURE and OUTPUT-BYTE-ORDER \n");
- (void) HDfprintf(stdout, "\t will be ignored.\n\n\n");
- (void) HDfprintf(stdout, "\t INPUT-SIZE:\n");
- (void) HDfprintf(stdout,
- "\t Integer denoting the size of the input data \n");
- (void) HDfprintf(stdout, "\t (8, 16, 32, 64). \n\n");
- (void) HDfprintf(stdout, "\t For floating point,\n");
- (void) HDfprintf(stdout, "\t INPUT-SIZE can be 32 or 64.\n");
- (void) HDfprintf(stdout, "\t For integers (signed and unsigned)\n");
- (void) HDfprintf(stdout, "\t INPUT-SIZE can be 8, 16, 32 or 64.\n\n");
- (void) HDfprintf(stdout, "\t RANK:\n");
- (void) HDfprintf(stdout,
- "\t Integer denoting the number of dimensions.\n\n");
- (void) HDfprintf(stdout, "\t DIMENSION-SIZES:\n");
- (void) HDfprintf(stdout,
- "\t Integers separated by spaces to denote the \n");
- (void) HDfprintf(stdout, "\t dimension sizes for the no. of dimensions \n");
- (void) HDfprintf(stdout, "\t determined by rank.\n\n");
- (void) HDfprintf(stdout, "\t OUTPUT-CLASS:\n");
- (void) HDfprintf(stdout,
- "\t String dentoting data type of the dataset to \n");
- (void) HDfprintf(stdout, "\t be written (\"IN\",\"FP\", \"UIN\")\n\n");
- (void) HDfprintf(stdout, "\t OUTPUT-SIZE:\n");
- (void) HDfprintf(stdout,
- "\t Integer denoting the size of the data in the \n");
- (void) HDfprintf(stdout, "\t output dataset to be written.\n");
- (void) HDfprintf(stdout,
- "\t If OUTPUT-CLASS is \"FP\", OUTPUT-SIZE can be \n");
- (void) HDfprintf(stdout, "\t 32 or 64.\n");
- (void) HDfprintf(stdout,
- "\t If OUTPUT-CLASS is \"IN\" or \"UIN\", OUTPUT-SIZE\n");
- (void) HDfprintf(stdout, "\t can be 8, 16, 32 or 64.\n\n");
- (void) HDfprintf(stdout, "\t OUTPUT-ARCHITECTURE:\n");
- (void) HDfprintf(stdout, "\t STRING denoting the type of output \n");
- (void) HDfprintf(stdout,
- "\t architecture. Can accept the following values\n");
- (void) HDfprintf(stdout, "\t STD\n");
- (void) HDfprintf(stdout, "\t IEEE\n");
- (void) HDfprintf(stdout, "\t INTEL\n");
- (void) HDfprintf(stdout, "\t CRAY\n");
- (void) HDfprintf(stdout, "\t MIPS\n");
- (void) HDfprintf(stdout, "\t ALPHA\n");
- (void) HDfprintf(stdout, "\t NATIVE (default)\n");
- (void) HDfprintf(stdout, "\t UNIX\n\n");
- (void) HDfprintf(stdout, "\t OUTPUT-BYTE-ORDER:\n");
- (void) HDfprintf(stdout,
- "\t String denoting the output-byte-order. Ignored\n");
- (void) HDfprintf(stdout,
- "\t if the OUTPUT-ARCHITECTURE is not specified or\n");
- (void) HDfprintf(stdout, "\t if it is IEEE, UNIX or STD. Can accept the \n");
- (void) HDfprintf(stdout, "\t following values.\n");
- (void) HDfprintf(stdout, "\t BE (default)\n");
- (void) HDfprintf(stdout, "\t LE\n\n");
- (void) HDfprintf(stdout, "\t CHUNKED-DIMENSION-SIZES:\n");
- (void) HDfprintf(stdout, "\t Integers separated by spaces to denote the \n");
- (void) HDfprintf(stdout,
- "\t dimension sizes of the chunk for the no. of \n");
- (void) HDfprintf(stdout,
- "\t dimensions determined by rank. Required field\n");
- (void) HDfprintf(stdout,
- "\t to denote that the dataset will be stored with\n");
- (void) HDfprintf(stdout,
- "\t chunked storage. If this field is absent the\n");
- (void) HDfprintf(stdout,
- "\t dataset will be stored with contiguous storage.\n\n");
- (void) HDfprintf(stdout, "\t COMPRESSION-TYPE:\n");
- (void) HDfprintf(stdout,
- "\t String denoting the type of compression to be\n");
- (void) HDfprintf(stdout, "\t used with the chunked storage. Requires the\n");
- (void) HDfprintf(stdout,
- "\t CHUNKED-DIMENSION-SIZES to be specified. The only \n");
- (void) HDfprintf(stdout,
- "\t currently supported compression method is GZIP. \n");
- (void) HDfprintf(stdout, "\t Will accept the following value\n");
- (void) HDfprintf(stdout, "\t GZIP\n\n");
- (void) HDfprintf(stdout, "\t COMPRESSION-PARAM:\n");
- (void) HDfprintf(stdout,
- "\t Integer used to denote compression level and \n");
- (void) HDfprintf(stdout, "\t this option is to be always specified when \n");
- (void) HDfprintf(stdout,
- "\t the COMPRESSION-TYPE option is specified. The\n");
- (void) HDfprintf(stdout, "\t values are applicable only to GZIP \n");
- (void) HDfprintf(stdout, "\t compression.\n");
- (void) HDfprintf(stdout, "\t Value 1-9: The level of Compression. \n");
- (void) HDfprintf(stdout, "\t 1 will result in the fastest \n");
- (void) HDfprintf(stdout, "\t compression while 9 will result in \n");
- (void) HDfprintf(stdout, "\t the best compression ratio. The default\n");
- (void) HDfprintf(stdout, "\t level of compression is 6.\n\n");
- (void) HDfprintf(stdout, "\t EXTERNAL-STORAGE:\n");
- (void) HDfprintf(stdout,
- "\t String to denote the name of the non-HDF5 file \n");
- (void) HDfprintf(stdout,
- "\t to store data to. Cannot be used if CHUNKED-\n");
- (void) HDfprintf(stdout,
- "\t DIMENSIONS or COMPRESSION-TYPE or EXTENDIBLE-\n");
- (void) HDfprintf(stdout, "\t DATASET is specified.\n");
- (void) HDfprintf(stdout, "\t Value <external-filename>: the name of the \n");
- (void) HDfprintf(stdout, "\t external file as a string to be used.\n\n");
- (void) HDfprintf(stdout, "\t MAXIMUM-DIMENSIONS:\n");
- (void) HDfprintf(stdout, "\t Integers separated by spaces to denote the \n");
- (void) HDfprintf(stdout, "\t maximum dimension sizes of all the \n");
- (void) HDfprintf(stdout, "\t dimensions determined by rank. Requires the\n");
- (void) HDfprintf(stdout,
- "\t CHUNKED-DIMENSION-SIZES to be specified. A value of \n");
- (void) HDfprintf(stdout, "\t -1 for any dimension implies UNLIMITED \n");
- (void) HDfprintf(stdout,
- "\t DIMENSION size for that particular dimension.\n\n");
- (void) HDfprintf(stdout, "\t EXAMPLES:\n");
- (void) HDfprintf(stdout, "\t 1. Configuration File may look like:\n\n");
- (void) HDfprintf(stdout, "\t PATH work h5 pkamat First-set\n");
- (void) HDfprintf(stdout, "\t INPUT-CLASS TEXTFP\n");
- (void) HDfprintf(stdout, "\t RANK 3\n");
- (void) HDfprintf(stdout, "\t DIMENSION-SIZES 5 2 4\n");
- (void) HDfprintf(stdout, "\t OUTPUT-CLASS FP\n");
- (void) HDfprintf(stdout, "\t OUTPUT-SIZE 64\n");
- (void) HDfprintf(stdout, "\t OUTPUT-ARCHITECTURE IEEE\n");
- (void) HDfprintf(stdout, "\t OUTPUT-BYTE-ORDER LE\n");
- (void) HDfprintf(stdout, "\t CHUNKED-DIMENSION-SIZES 2 2 2 \n\n");
- (void) HDfprintf(stdout,
- "\t The above configuration will accept a floating point array \n");
- (void) HDfprintf(stdout,
- "\t (5 x 2 x 4) in an ASCII file with the rank and dimension sizes \n");
- (void) HDfprintf(stdout,
- "\t specified and will save it in a chunked data-set (of pattern \n");
- (void) HDfprintf(stdout,
- "\t 2 X 2 X 2) of 64-bit floating point in the little-endian order \n");
- (void) HDfprintf(stdout,
- "\t and IEEE architecture. The dataset will be stored at\n");
- (void) HDfprintf(stdout, "\t \"/work/h5/pkamat/First-set\"\n\n");
- (void) HDfprintf(stdout, "\t 2. Another configuration could be:\n\n");
- (void) HDfprintf(stdout, "\t PATH Second-set\n");
- (void) HDfprintf(stdout, "\t INPUT-CLASS IN \n");
- (void) HDfprintf(stdout, "\t RANK 5\n");
- (void) HDfprintf(stdout, "\t DIMENSION-SIZES 6 3 5 2 4\n");
- (void) HDfprintf(stdout, "\t OUTPUT-CLASS IN\n");
- (void) HDfprintf(stdout, "\t OUTPUT-SIZE 32\n");
- (void) HDfprintf(stdout, "\t CHUNKED-DIMENSION-SIZES 2 2 2 2 2\n");
- (void) HDfprintf(stdout, "\t EXTENDIBLE-DATASET 1 3 \n");
- (void) HDfprintf(stdout, "\t COMPRESSION-TYPE GZIP\n");
- (void) HDfprintf(stdout, "\t COMPRESSION-PARAM 7\n\n\n");
- (void) HDfprintf(stdout,
- "\t The above configuration will accept an integer array \n");
- (void) HDfprintf(stdout,
- "\t (6 X 3 X 5 x 2 x 4) in a binary file with the rank and \n");
- (void) HDfprintf(stdout,
- "\t dimension sizes specified and will save it in a chunked data-set\n");
- (void) HDfprintf(stdout,
- "\t (of pattern 2 X 2 X 2 X 2 X 2) of 32-bit floating point in \n");
- (void) HDfprintf(stdout,
- "\t native format (as output-architecture is not specified). The \n");
- (void) HDfprintf(stdout,
- "\t first and the third dimension will be defined as unlimited. The \n");
- (void) HDfprintf(stdout,
- "\t data-set will be compressed using GZIP and a compression level \n");
- (void) HDfprintf(stdout, "\t of 7.\n");
- (void) HDfprintf(stdout,
- "\t The dataset will be stored at \"/Second-set\"\n\n");
- return;
-}
-
-void usage(char *name)
-{
- (void) HDfprintf(stdout, "\nUsage:\t%s -h[elp], OR\n", name);
- (void) HDfprintf(stdout,
- "\t%s <infile> -c[onfig] <configfile> \
- [<infile> -c[config] <configfile>...] -o[utfile] <outfile> \n\n", name);
- return;
-}
-
diff --git a/tools/h5import/h5import.h b/tools/h5import/h5import.h
deleted file mode 100644
index c242483..0000000
--- a/tools/h5import/h5import.h
+++ /dev/null
@@ -1,198 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by The HDF Group. *
- * 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://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
- * access to either file, you may request a copy from help@hdfgroup.org. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-/*
- *
- * Data and structure definitions for h5import
- *
- */
-
-#ifndef H5IMPORT_H__
-#define H5IMPORT_H__
-
-/*
- * state table tokens
- */
-#define FILNAME 0
-/* filename */
-#define OPT_o 1
-/* output filename */
-#define OPT_c 2 /* configuration filename */
-#define OPT_h 3 /* request for explanation */
-#define OPT_d 4 /* dimensions */
-#define OPT_p 5 /* pathname */
-#define OPT_t 6 /* data type */
-#define OPT_s 7 /* data size */
-#define ERR 20 /* invalid token */
-
-#define MAX_GROUPS_IN_PATH 20
-#define MAX_PATH_NAME_LENGTH 255
-#define NUM_KEYS 14
-#define MIN_NUM_DIMENSION 1
-#define MAX_NUM_DIMENSION 32
-#define BASE_10 10
-
-#define PATH 0
-#define INPUT_CLASS 1
-#define INPUT_SIZE 2
-#define RANK 3
-#define DIM 4
-#define OUTPUT_CLASS 5
-#define OUTPUT_SIZE 6
-#define OUTPUT_ARCH 7
-#define OUTPUT_B_ORDER 8
-#define CHUNK 9
-#define COMPRESS 10
-#define COMPRESS_PARAM 11
-#define EXTERNALSTORE 12
-#define EXTEND 13
-
-/* data types */
-#define H5DT_INT8 signed char
-#define H5DT_INT16 short
-#define H5DT_INT32 int
-#define H5DT_FLOAT32 float
-#define H5DT_FLOAT64 double
-#define VOIDP void*
-#define H5DT_UINT8 unsigned char
-#define H5DT_UINT16 unsigned short
-#define H5DT_UINT32 unsigned int
-#define H5DT_INT64 long long
-#define H5DT_UINT64 unsigned H5DT_INT64
-
-struct path_info
-{
- char group[MAX_GROUPS_IN_PATH][MAX_PATH_NAME_LENGTH];
- int count;
-};
-
-struct Input
-{
- int h5dumpInput;
- struct path_info path;
- int inputClass;
- int inputSize;
- int rank;
- hsize_t* sizeOfDimension;
- int outputClass;
- int outputSize;
- int outputArchitecture;
- int outputByteOrder;
- hsize_t* sizeOfChunk;
- hsize_t* maxsizeOfDimension;
- int compressionType;
- int compressionParam;
- char *externFilename;
- VOIDP data;
- int configOptionVector[NUM_KEYS];
-};
-
-struct infilesformat
-{
- char datafile[255];
- char configfile[255];
- struct Input in;
- int config; /* Configfile present? No - 0. Yes - 1 */
-};
-
-struct Options
-{
- struct infilesformat infiles[30]; /* structure to hold the list of input file names. Limited to 30*/
- char outfile[256]; /* output file name */
- int fcount; /* number of input files */
-};
-
-char keytable[NUM_KEYS][30] = {
- "PATH",
- "INPUT-CLASS",
- "INPUT-SIZE",
- "RANK",
- "DIMENSION-SIZES",
- "OUTPUT-CLASS",
- "OUTPUT-SIZE",
- "OUTPUT-ARCHITECTURE",
- "OUTPUT-BYTE-ORDER",
- "CHUNKED-DIMENSION-SIZES",
- "COMPRESSION-TYPE",
- "COMPRESSION-PARAM",
- "EXTERNAL-STORAGE",
- "MAXIMUM-DIMENSIONS"
-};
-
-static int state_table[15][8] =
-{
- /* token ordering: FILNAME OPT_o OPT_c OPT_h OPT_d OPT_p OPT_t OPT_s */
-
- /* state 0: start */
- {1, ERR, ERR, 6, ERR, ERR, ERR, ERR},
-
- /* state 1: input files */
- {ERR, ERR, 2, ERR, 7, ERR, ERR, ERR},
-
- /* state 2: -c[onfigfile] */
- {3, ERR, ERR, ERR, ERR, ERR, ERR, ERR},
-
- /* state 3: configfile */
- {1, 4, ERR, ERR, ERR, ERR, ERR, ERR},
-
- /* state 4: -o[utfile] */
- {5, ERR, ERR, ERR, ERR, ERR, ERR, ERR},
-
- /* state 5: outfile */
- {ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR},
-
- /* state 6: -h[elp] */
- {ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR},
-
- /* state 7: -d[ims] */
- {8, ERR, ERR, ERR, ERR, ERR, ERR, ERR},
-
- /* state 8: dimensions */
- {1, 4, ERR, ERR, ERR, 9, 11, 13},
-
- /* state 9: -p[ath] */
- {10, ERR, ERR, ERR, ERR, ERR, ERR, ERR},
-
- /* state 10: path name */
- {1, 4, ERR, ERR, ERR, ERR, 11, 13},
-
- /* state 11: -t[ype] */
- {12, ERR, ERR, ERR, ERR, ERR, ERR, ERR},
-
- /* state 12: data type */
- {1, 4, ERR, ERR, ERR, ERR, ERR, 13},
-
- /* state 13: -s[ize] */
- {14, ERR, ERR, ERR, ERR, ERR, ERR, ERR},
-
- /* state 14: data size */
- {1, 4, ERR, ERR, ERR, ERR, ERR, ERR}
-
-};
-
-/*
- *
- * Function declarations for h5import
- *
- */
-void usage(char *);
-void setDefaultValues(struct Input *in, int count);
-void help(char *);
-
-hid_t createOutputDataType(struct Input *in);
-hid_t createInputDataType(struct Input *in);
-
-#endif /* H5IMPORT_H__ */
-
diff --git a/tools/h5import/h5importtest.c b/tools/h5import/h5importtest.c
deleted file mode 100644
index 38fd75b..0000000
--- a/tools/h5import/h5importtest.c
+++ /dev/null
@@ -1,371 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by The HDF Group. *
- * 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://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
- * access to either file, you may request a copy from help@hdfgroup.org. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include <stdio.h>
-#include "H5private.h"
-
-#ifdef H5_HAVE_WIN32_API
-#define OPEN_FLAGS "wb"
-#else
-#define OPEN_FLAGS "w"
-#endif
-
-/*
- * Name:
- * h5importtest
- *
- * Description:
- * This program creates that can be
- * used to test the h5import program.
- *
- */
-
-int
-main(void)
-{
- int nrow = 3, ncol = 4, npln = 5;
- int i, j, k;
- FILE *sp;
-
- float row4[3], col4[4], pln4[5];
- float rowo4 = 11.0F, colo4 = 21.0F, plno4 = 51.0F;
- float rowi4 = 1.0F, coli4 = 2.0F, plni4 = 5.0F;
-
- int b32i3[5][3][4];
- int row4i[3], col4i[4], pln4i[5];
- int rowo4i = 11 , colo4i = 21 , plno4i = 51 ;
- int rowi4i = 1 , coli4i = 2 , plni4i = 5 ;
-
-#ifdef H5_SIZEOF_LONG_LONG
- long long row4i64[3], col4i64[4], pln4i64[5];
- long long rowo4i64 = (long long)11 , colo4i64 = (long long)21 , plno4i64 = (long long)51 ;
- long long rowi4i64 = (long long)1 , coli4i64 = (long long)2 , plni4i64 = (long long)5 ;
-#endif
-
- short b16i3[5][3][4];
- short row4i16[3], col4i16[4], pln4i16[5];
- short rowo4i16 = (short)11 , colo4i16 = (short)21 , plno4i16 = (short)51 ;
- short rowi4i16 = (short)1 , coli4i16 = (short)2 , plni4i16 = (short)5 ;
-
- char b8i3[5][3][4];
- char row4i8[3], col4i8[4], pln4i8[5];
- char rowo4i8 = (char)11 , colo4i8 = (char)21 , plno4i8 = (char)51 ;
- char rowi4i8 = (char)1 , coli4i8 = (char)2 , plni4i8 = (char)5 ;
-
- double b64r3[5][3][4];
- double row8[3], col8[4], pln8[5];
- double rowo8 = 11.0F, colo8 = 21.0F, plno8 = 51.0F;
- double rowi8 = 1.0F, coli8 = 2.0F, plni8 = 5.0F;
-
-
- /*
- * initialize the row, column, and plane vectors
- *
- * row values start at 11 and increment by 1 => 11, 12, 13
- * column values start at 21 and increment by 2 => 21, 23, 25, 27
- * plane values start at 51 and increment by 5 => 51, 56, 61, 66, 71
- */
-
-
- /*
- * build array elements - rank 2
- *
- * element value = sum of row value and col values
- */
-
- row4[0] = rowo4;
- col4[0] = colo4;
- pln4[0] = plno4;
-
- row8[0] = rowo8;
- col8[0] = colo8;
- pln8[0] = plno8;
-
- row4i[0] = rowo4i;
- col4i[0] = colo4i;
- pln4i[0] = plno4i;
-
-#ifdef H5_SIZEOF_LONG_LONG
- row4i64[0] = rowo4i64;
- col4i64[0] = colo4i64;
- pln4i64[0] = plno4i64;
-#endif
-
- row4i16[0] = rowo4i16;
- col4i16[0] = colo4i16;
- pln4i16[0] = plno4i16;
-
- row4i8[0] = rowo4i8;
- col4i8[0] = colo4i8;
- pln4i8[0] = plno4i8;
-
- for (i = 1; i < nrow; i++)
- {
- row4[i] = row4[i - 1] + rowi4;
- row8[i] = row8[i - 1] + rowi8;
- row4i[i] = row4i[i - 1] + rowi4i;
-#ifdef H5_SIZEOF_LONG_LONG
- row4i64[i] = row4i64[i - 1] + rowi4i64;
-#endif
- row4i16[i] = (short)(row4i16[i - 1] + rowi4i16);
- row4i8[i] = (char)(row4i8[i - 1] + rowi4i8);
- }
-
- for (j = 1; j < ncol; j++)
- {
- col4[j] = col4[j - 1] + coli4;
- col8[j] = col8[j - 1] + coli8;
- col4i[j] = col4i[j - 1] + coli4i;
-#ifdef H5_SIZEOF_LONG_LONG
- col4i64[j] = col4i64[j - 1] + coli4i64;
-#endif
- col4i16[j] = (short)(col4i16[j - 1] + coli4i16);
- col4i8[j] = (char)(col4i8[j - 1] + coli4i8);
- }
- for (k = 1; k < npln; k++)
- {
- pln4[k] = pln4[k - 1] + plni4;
- pln8[k] = pln8[k - 1] + plni8;
- pln4i[k] = pln4i[k - 1] + plni4i;
-#ifdef H5_SIZEOF_LONG_LONG
- pln4i64[k] = pln4i64[k - 1] + plni4i64;
-#endif
- pln4i16[k] = (short)(pln4i16[k - 1] + plni4i16);
- pln4i8[k] = (char)(pln4i8[k - 1] + plni4i8);
- }
-
- /*
- * build array elements - rank 3
- *
- * element value = sum of row value, col, and plane values
- */
-
- for (i = 0; i < nrow; i++)
- for (j = 0; j < ncol; j++)
- for (k = 0; k < npln; k++) {
- b64r3[k][i][j] = row8[i] + col8[j] + pln8[k];
- b32i3[k][i][j] = row4i[i] + col4i[j] + pln4i[k];
- b16i3[k][i][j] = (short)(row4i16[i] + col4i16[j] + pln4i16[k]);
- b8i3[k][i][j] = (char)(row4i8[i] + col4i8[j] + pln4i8[k]);
- }
-
-
-
-#ifndef UNICOS
-
-#ifdef REBUILDTEXTFILES
- /*-------------------------------------------------------------------------
- * TOOLTEST txtin8.txt -c $srcdir/testfiles/txtin8.conf -o txtin8.h5
- *-------------------------------------------------------------------------
- */
-
- sp = HDfopen("txtin8.txt", "w");
- for (k = 0; k < npln; k++)
- {
- for (i = 0; i < nrow; i++)
- {
- for (j = 0; j < ncol; j++)
- (void) fprintf(sp, "%10u", b8i3[k][i][j]);
- (void) fprintf(sp, "\n");
- }
- }
- (void) HDfclose(sp);
-
- /*-------------------------------------------------------------------------
- * TOOLTEST txtin16.txt -c $srcdir/testfiles/txtin16.conf -o txtin16.h5
- *-------------------------------------------------------------------------
- */
-
- sp = HDfopen("txtin16.txt", "w");
- for (k = 0; k < npln; k++)
- {
- for (i = 0; i < nrow; i++)
- {
- for (j = 0; j < ncol; j++)
- (void) fprintf(sp, "%10u", b16i3[k][i][j]);
- (void) fprintf(sp, "\n");
- }
- }
- (void) HDfclose(sp);
-
- /*-------------------------------------------------------------------------
- * TOOLTEST txtin32.txt -c $srcdir/testfiles/textin32.conf -o textin32.h5
- *-------------------------------------------------------------------------
- */
-
- sp = HDfopen("txtin32.txt", "w");
- for (k = 0; k < npln; k++)
- {
- for (i = 0; i < nrow; i++)
- {
- for (j = 0; j < ncol; j++)
- (void) fprintf(sp, "%10d", b32i3[k][i][j]);
- (void) fprintf(sp, "\n");
- }
- }
- (void) HDfclose(sp);
-#endif
-
- /*-------------------------------------------------------------------------
- * TOOLTEST binin32.bin -c $srcdir/testfiles/binin32.conf -o binin32.h5
- *-------------------------------------------------------------------------
- */
-
- sp = HDfopen("binin32.bin", OPEN_FLAGS);
- for (k = 0; k < npln; k++)
- {
- for (i = 0; i < nrow; i++)
- {
- for (j = 0; j < ncol; j++)
- {
- (void) HDfwrite((char *) &b32i3[k][i][j], sizeof(int), 1, sp);
- }
- }
- }
- (void) HDfclose(sp);
-
- /*-------------------------------------------------------------------------
- * TOOLTEST binuin32.bin -c $srcdir/testfiles/binuin32.conf -o binuin32.h5
- *-------------------------------------------------------------------------
- */
-
- sp = HDfopen("binuin32.bin", OPEN_FLAGS);
- for (k = 0; k < npln; k++)
- {
- for (i = 0; i < nrow; i++)
- {
- for (j = 0; j < ncol; j++)
- {
- (void) HDfwrite((char *) &b32i3[k][i][j], sizeof(unsigned int), 1, sp);
- }
- }
- }
- (void) HDfclose(sp);
-
-
-
-
- /*-------------------------------------------------------------------------
- * TOOLTEST binin16.bin -c $srcdir/testfiles/binin16.conf -o binin16.h5
- *-------------------------------------------------------------------------
- */
-
- sp = HDfopen("binin16.bin", OPEN_FLAGS);
- for (k = 0; k < npln; k++)
- {
- for (i = 0; i < nrow; i++)
- {
- for (j = 0; j < ncol; j++)
- {
- (void) HDfwrite((char *) &b16i3[k][i][j], sizeof(short), 1, sp);
- }
- }
- }
- (void) HDfclose(sp);
-
- /*-------------------------------------------------------------------------
- * TOOLTEST binuin16.bin -c $srcdir/testfiles/binuin16.conf -o binuin16.h5
- *-------------------------------------------------------------------------
- */
- sp = HDfopen("binuin16.bin", OPEN_FLAGS);
- for (k = 0; k < npln; k++)
- {
- for (i = 0; i < nrow; i++)
- {
- for (j = 0; j < ncol; j++)
- {
- (void) HDfwrite((char *) &b16i3[k][i][j], sizeof(unsigned short), 1, sp);
- }
- }
- }
- (void) HDfclose(sp);
-
-
-
- /*-------------------------------------------------------------------------
- * TOOLTEST binin8.bin -c $srcdir/testfiles/binin8.conf -o binin8.h5
- *-------------------------------------------------------------------------
- */
-
- sp = HDfopen("binin8.bin", OPEN_FLAGS);
- for (k = 0; k < npln; k++)
- {
- for (i = 0; i < nrow; i++)
- {
- for (j = 0; j < ncol; j++)
- {
- (void) HDfwrite((char *) &b8i3[k][i][j], sizeof(char), 1, sp);
- }
- }
- }
- (void) HDfclose(sp);
-
-#endif /* UNICOS */
-
-
-
-
- /*-------------------------------------------------------------------------
- * TOOLTEST binfp64.bin -c $srcdir/testfiles/binfp64.conf -o binfp64.h5
- *-------------------------------------------------------------------------
- */
-
- /*
- * binary 64-bit file - rank 2 & 3
- */
-
- sp = HDfopen("binfp64.bin", OPEN_FLAGS);
- for (k = 0; k < npln; k++)
- {
- for (i = 0; i < nrow; i++)
- {
- for (j = 0; j < ncol; j++)
- {
- (void) HDfwrite((char *) &b64r3[k][i][j], sizeof(double), 1, sp);
- }
- }
- }
- (void) HDfclose(sp);
-
-
-
- /*-------------------------------------------------------------------------
- * TOOLTEST binin8w.bin -c $srcdir/testfiles/binin8w.conf -o binin8w.h5
- *-------------------------------------------------------------------------
- */
-
- {
- /* test CR+LF (13,10) and EOF (26) in windows */
- char bin8w[4] = {13,10,26,0};
-
- sp = HDfopen("binin8w.bin", OPEN_FLAGS);
- for (i = 0; i < 4; i++)
- {
- char c = bin8w[i];
- if ( HDfwrite( &c, sizeof(char), 1, sp) != 1 )
- printf("error writing file\n");
- }
- HDfclose(sp);
-
-
- }
-
-
-
-
-
- return (EXIT_SUCCESS);
-}
-
diff --git a/tools/h5import/h5importtestutil.sh.in b/tools/h5import/h5importtestutil.sh.in
deleted file mode 100644
index 08e0c3f..0000000
--- a/tools/h5import/h5importtestutil.sh.in
+++ /dev/null
@@ -1,384 +0,0 @@
-#!/bin/sh
-#
-# Copyright by The HDF Group.
-# 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://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-# access to either file, you may request a copy from help@hdfgroup.org.
-#
-# Tests for the h5import tool
-
-srcdir=@srcdir@
-
-# Determine which filters are available
-USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@"
-
-TESTNAME=h5import
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-DUMPER=../h5dump/h5dump # The tool name
-DUMPER_BIN=`pwd`/$DUMPER # The path of the tool binary
-
-H5DIFF=../h5diff/h5diff # The h5diff tool name
-H5DIFF_BIN=`pwd`/$H5DIFF # The path of the h5diff tool binary
-
-H5IMPORT=h5import # The h5import tool name
-H5IMPORT_BIN=`pwd`/$H5IMPORT # The path of the h5import tool binary
-
-RM='rm -rf'
-CP='cp'
-DIRNAME='dirname'
-LS='ls'
-AWK='awk'
-
-# initialize errors variable
-nerrors=0
-
-# source dirs
-SRC_TOOLS="$srcdir/.."
-SRC_TOOLS_TESTFILES="$SRC_TOOLS/testfiles"
-
-# testfiles source dirs for tools
-SRC_H5LS_TESTFILES="$SRC_TOOLS_TESTFILES"
-SRC_H5DUMP_TESTFILES="$SRC_TOOLS_TESTFILES"
-SRC_H5DIFF_TESTFILES="$SRC_TOOLS/h5diff/testfiles"
-SRC_H5COPY_TESTFILES="$SRC_TOOLS/h5copy/testfiles"
-SRC_H5REPACK_TESTFILES="$SRC_TOOLS/h5repack/testfiles"
-SRC_H5JAM_TESTFILES="$SRC_TOOLS/h5jam/testfiles"
-SRC_H5STAT_TESTFILES="$SRC_TOOLS/h5stat/testfiles"
-SRC_H5IMPORT_TESTFILES="$SRC_TOOLS/h5import/testfiles"
-
-TESTDIR=./testfiles
-test -d $TESTDIR || mkdir $TESTDIR
-
-######################################################################
-# test files
-# --------------------------------------------------------------------
-# All the test files copy from source directory to test directory
-# NOTE: Keep this framework to add/remove test files.
-# Any test files from other tools can be used in this framework.
-# This list are also used for checking exist.
-# Comment '#' without space can be used.
-# --------------------------------------------------------------------
-LIST_HDF5_TEST_FILES="
-$SRC_H5IMPORT_TESTFILES/binfp64.h5
-$SRC_H5IMPORT_TESTFILES/binin8.h5
-$SRC_H5IMPORT_TESTFILES/binin8w.h5
-$SRC_H5IMPORT_TESTFILES/binin16.h5
-$SRC_H5IMPORT_TESTFILES/binin32.h5
-$SRC_H5IMPORT_TESTFILES/binuin16.h5
-$SRC_H5IMPORT_TESTFILES/binuin32.h5
-$SRC_H5IMPORT_TESTFILES/txtfp32.h5
-$SRC_H5IMPORT_TESTFILES/txtfp64.h5
-$SRC_H5IMPORT_TESTFILES/txtin8.h5
-$SRC_H5IMPORT_TESTFILES/txtin16.h5
-$SRC_H5IMPORT_TESTFILES/txtin32.h5
-$SRC_H5IMPORT_TESTFILES/txtuin16.h5
-$SRC_H5IMPORT_TESTFILES/txtuin32.h5
-$SRC_H5IMPORT_TESTFILES/txtstr.h5
-$SRC_H5IMPORT_TESTFILES/textpfe.h5
-"
-
-LIST_OTHER_TEST_FILES="
-$SRC_H5IMPORT_TESTFILES/binfp64.conf
-$SRC_H5IMPORT_TESTFILES/binin8.conf
-$SRC_H5IMPORT_TESTFILES/binin8w.conf
-$SRC_H5IMPORT_TESTFILES/binin16.conf
-$SRC_H5IMPORT_TESTFILES/binin32.conf
-$SRC_H5IMPORT_TESTFILES/binuin16.conf
-$SRC_H5IMPORT_TESTFILES/binuin32.conf
-$SRC_H5IMPORT_TESTFILES/txtfp32.conf
-$SRC_H5IMPORT_TESTFILES/txtfp64.conf
-$SRC_H5IMPORT_TESTFILES/txtin8.conf
-$SRC_H5IMPORT_TESTFILES/txtin16.conf
-$SRC_H5IMPORT_TESTFILES/txtin32.conf
-$SRC_H5IMPORT_TESTFILES/txtuin16.conf
-$SRC_H5IMPORT_TESTFILES/txtuin32.conf
-$SRC_H5IMPORT_TESTFILES/textpfe.conf
-$SRC_H5IMPORT_TESTFILES/txtstr.conf
-$SRC_H5IMPORT_TESTFILES/txtfp32.txt
-$SRC_H5IMPORT_TESTFILES/txtfp64.txt
-$SRC_H5IMPORT_TESTFILES/txtuin16.txt
-$SRC_H5IMPORT_TESTFILES/txtuin32.txt
-$SRC_H5IMPORT_TESTFILES/txtin8.txt
-$SRC_H5IMPORT_TESTFILES/txtin16.txt
-$SRC_H5IMPORT_TESTFILES/txtin32.txt
-$SRC_H5IMPORT_TESTFILES/textpfe64.txt
-$SRC_H5IMPORT_TESTFILES/txtstr.txt
-$SRC_H5IMPORT_TESTFILES/dbinfp64.h5.txt
-$SRC_H5IMPORT_TESTFILES/dbinin8.h5.txt
-$SRC_H5IMPORT_TESTFILES/dbinin8w.h5.txt
-$SRC_H5IMPORT_TESTFILES/dbinin16.h5.txt
-$SRC_H5IMPORT_TESTFILES/dbinin32.h5.txt
-$SRC_H5IMPORT_TESTFILES/dbinuin16.h5.txt
-$SRC_H5IMPORT_TESTFILES/dbinuin32.h5.txt
-$SRC_H5IMPORT_TESTFILES/dtxtstr.h5.txt
-"
-
-#
-# copy test files and expected output files from source dirs to test dir
-#
-COPY_TESTFILES="$LIST_HDF5_TEST_FILES $LIST_OTHER_TEST_FILES"
-
-COPY_TESTFILES_TO_TESTDIR()
-{
- # copy test files. Used -f to make sure get a new copy
- for tstfile in $COPY_TESTFILES
- do
- # ignore '#' comment
- echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
- RET=$?
- if [ $RET -eq 1 ]; then
- # skip cp if srcdir is same as destdir
- # this occurs when build/test performed in source dir and
- # make cp fail
- SDIR=`$DIRNAME $tstfile`
- INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
- INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
- if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
- $CP -f $tstfile $TESTDIR
- if [ $? -ne 0 ]; then
- echo "Error: FAILED to copy $tstfile ."
-
- # Comment out this to CREATE expected file
- exit $EXIT_FAILURE
- fi
- fi
- fi
- done
-}
-
-CLEAN_TESTFILES_AND_TESTDIR()
-{
- # skip rm if srcdir is same as destdir
- # this occurs when build/test performed in source dir and
- # make cp fail
- SDIR=$SRC_H5IMPORT_TESTFILES
- INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
- INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
- if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
- $RM $TESTDIR
- fi
-}
-
-# Print a line-line message left justified in a field of 70 characters
-# beginning with the word "Testing".
-#
-TESTING() {
- SPACES=" "
- echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
-}
-
-# Print a "SKIP" message
-SKIP() {
- TESTING $TESTNAME $@
- echo " -SKIP-"
-}
-
-TOOLTEST()
-{
-err=0
-$RUNSERIAL $H5IMPORT_BIN $*
-$RUNSERIAL $DUMPER_BIN $5 >log2
-
-cd tmp_testfiles
-$RUNSERIAL $DUMPER_BIN $5 >log1
-cd ..
-
-cmp -s tmp_testfiles/log1 log2 || err=1
-rm -f log2 tmp_testfiles/log1
-if [ $err -eq 1 ]; then
-nerrors="` expr $nerrors + 1 `";
- echo "*FAILED*"
-else
- echo " PASSED"
-fi
-}
-
-# Use h5dump output as input to h5import for binary numbers
-# Use h5diff to verify results
-TOOLTEST2()
-{
-err=0
-$RUNSERIAL $DUMPER_BIN -p -d $1 -o d$2.bin -b tmp_testfiles/$2 > d$2.dmp
-$RUNSERIAL $H5IMPORT_BIN d$2.bin -c d$2.dmp -o d$2 > d$2.imp
-$RUNSERIAL $H5DIFF_BIN -v d$2 tmp_testfiles/$2 $1 $1 > log2
-$CP -f $SRC_H5IMPORT_TESTFILES/d$2.txt log1
-
-cmp -s log1 log2 || err=1
-rm -f log1 log2
-if [ $err -eq 1 ]; then
-nerrors="` expr $nerrors + 1 `";
- echo "*FAILED*"
-else
- echo " PASSED"
-fi
-}
-
-# Same as TOOLTEST2 except for strings
-# Use h5dump output as input to h5import for strings
-# Use h5diff to verify results
-TOOLTEST3()
-{
-err=0
-$RUNSERIAL $DUMPER_BIN -p -d $1 -o d$2.bin -y --width=1 tmp_testfiles/$2 > d$2.dmp
-$RUNSERIAL $H5IMPORT_BIN d$2.bin -c d$2.dmp -o d$2 > d$2.imp
-$RUNSERIAL $H5DIFF_BIN -v d$2 tmp_testfiles/$2 $1 $1 > log2
-$CP -f $SRC_H5IMPORT_TESTFILES/d$2.txt log1
-
-cmp -s log1 log2 || err=1
-rm -f log1 log2
-if [ $err -eq 1 ]; then
-nerrors="` expr $nerrors + 1 `";
- echo "*FAILED*"
-else
- echo " PASSED"
-fi
-}
-
-# Same as TOOLTEST3 except for h5diff uses report mode without warnings
-# Use h5dump output as input to h5import for strings
-# Use h5diff to verify results
-TOOLTEST4()
-{
-err=0
-$RUNSERIAL $DUMPER_BIN -p -d $1 -o d$2.bin -y --width=1 tmp_testfiles/$2 > d$2.dmp
-$RUNSERIAL $H5IMPORT_BIN d$2.bin -c d$2.dmp -o d$2 > d$2.imp
-$RUNSERIAL $H5DIFF_BIN -r d$2 tmp_testfiles/$2 $1 $1 > log2
-$CP -f $SRC_H5IMPORT_TESTFILES/d$2.txt log1
-
-
-cmp -s log1 log2 || err=1
-rm -f log1 log2
-if [ $err -eq 1 ]; then
-nerrors="` expr $nerrors + 1 `";
- echo "*FAILED*"
-else
- echo " PASSED"
-fi
-}
-
-echo ""
-echo "=============================="
-echo "H5IMPORT tests started"
-echo "=============================="
-
-#echo "** Testing h5import ***"
-
-rm -f output.h5 log1 tx* b* *.dat
-
-# prepare for test
-COPY_TESTFILES_TO_TESTDIR
-
-mkdir tmp_testfiles
-$CP $TESTDIR/*.h5 ./tmp_testfiles/
-
-$RUNSERIAL ./h5importtest
-
-################################################
-### T H E T E S T S
-################################################
-
-TESTING "ASCII I32 rank 3 - Output BE " ;
-TOOLTEST $TESTDIR/txtin32.txt -c $TESTDIR/txtin32.conf -o txtin32.h5
-
-TESTING "ASCII I16 rank 3 - Output LE - CHUNKED - extended"
-TOOLTEST $TESTDIR/txtin16.txt -c $TESTDIR/txtin16.conf -o txtin16.h5
-
-TESTING "ASCII I8 - rank 3 - Output I8 LE-Chunked+Extended+Compressed "
-TOOLTEST $TESTDIR/txtin8.txt -c $TESTDIR/txtin8.conf -o txtin8.h5
-
-
-TESTING "ASCII UI16 - rank 2 - Output LE+Chunked+Compressed "
-TOOLTEST $TESTDIR/txtuin16.txt -c $TESTDIR/txtuin16.conf -o txtuin16.h5
-
-TESTING "ASCII UI32 - rank 3 - Output BE"
-TOOLTEST $TESTDIR/txtuin32.txt -c $TESTDIR/txtuin32.conf -o txtuin32.h5
-
-
-TESTING "ASCII F32 - rank 3 - Output LE "
-TOOLTEST $TESTDIR/txtfp32.txt -c $TESTDIR/txtfp32.conf -o txtfp32.h5
-
-TESTING "ASCII F64 - rank 3 - Output BE + CHUNKED+Extended+Compressed "
-TOOLTEST $TESTDIR/txtfp64.txt -c $TESTDIR/txtfp64.conf -o txtfp64.h5
-
-
-TESTING "BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed "
-TOOLTEST binfp64.bin -c $TESTDIR/binfp64.conf -o binfp64.h5
-TESTING "H5DUMP-BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed "
-if test $USE_FILTER_DEFLATE != "yes"; then
- SKIP "/fp/bin/64-bit" binfp64.h5
-else
- TOOLTEST2 "/fp/bin/64-bit" binfp64.h5
-fi
-
-
-TESTING "BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed "
-TOOLTEST binin8.bin -c $TESTDIR/binin8.conf -o binin8.h5
-TESTING "H5DUMP-BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed "
-if test $USE_FILTER_DEFLATE != "yes"; then
- SKIP "/int/bin/8-bit" binin8.h5
-else
- TOOLTEST2 "/int/bin/8-bit" binin8.h5
-fi
-
-TESTING "BINARY I16 - rank 3 - Output order LE + CHUNKED + extended "
-TOOLTEST binin16.bin -c $TESTDIR/binin16.conf -o binin16.h5
-TESTING "H5DUMP-BINARY I16 - rank 3 - Output order LE + CHUNKED + extended "
-TOOLTEST2 "/int/bin/16-bit" binin16.h5
-
-TESTING "BINARY I32 - rank 3 - Output BE + CHUNKED "
-TOOLTEST binin32.bin -c $TESTDIR/binin32.conf -o binin32.h5
-TESTING "H5DUMP-BINARY I32 - rank 3 - Output BE + CHUNKED "
-TOOLTEST2 "/int/bin/32-bit" binin32.h5
-
-
-TESTING "BINARY UI16 - rank 3 - Output byte BE + CHUNKED "
-TOOLTEST binuin16.bin -c $TESTDIR/binuin16.conf -o binuin16.h5
-TESTING "H5DUMP-BINARY UI16 - rank 3 - Output byte BE + CHUNKED "
-TOOLTEST2 "/int/buin/16-bit" binuin16.h5
-
-TESTING "BINARY UI32 - rank 3 - Output LE + CHUNKED "
-TOOLTEST binuin32.bin -c $TESTDIR/binuin32.conf -o binuin32.h5
-TESTING "H5DUMP-BINARY UI32 - rank 3 - Output LE + CHUNKED "
-TOOLTEST2 "/int/buin/32-bit" binuin32.h5
-
-
-TESTING "STR"
-TOOLTEST $TESTDIR/txtstr.txt -c $TESTDIR/txtstr.conf -o txtstr.h5
-TESTING "H5DUMP-STR"
-TOOLTEST4 "/mytext/data" txtstr.h5
-
-
-TESTING "BINARY I8 CR LF EOF"
-TOOLTEST binin8w.bin -c $TESTDIR/binin8w.conf -o binin8w.h5
-TESTING "H5DUMP-BINARY I8 CR LF EOF"
-TOOLTEST2 "/dataset0" binin8w.h5
-
-TESTING "ASCII F64 - rank 1 - INPUT-CLASS TEXTFPE "
-TOOLTEST $TESTDIR/textpfe64.txt -c $TESTDIR/textpfe.conf -o textpfe.h5
-
-
-rm -f txtin32.txt txtin16.txt txtin8.txt txtuin32.txt txtuin16.txt *.bin *.dmp *.imp *.h5
-rm -rf tmp_testfiles
-
-# Clean up temporary files/directories
-CLEAN_TESTFILES_AND_TESTDIR
-
-#
-# Check errors result
-if test $nerrors -eq 0 ; then
- echo "All $TESTNAME tests passed."
- exit $EXIT_SUCCESS
-else
- echo "$TESTNAME tests failed with $nerrors errors."
- exit $EXIT_FAILURE
-fi
diff --git a/tools/h5import/testfiles/binfp64.conf b/tools/h5import/testfiles/binfp64.conf
deleted file mode 100644
index 6b4c361..0000000
--- a/tools/h5import/testfiles/binfp64.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-PATH /fp/bin/64-bit
-INPUT-CLASS FP
-INPUT-SIZE 64
-RANK 3
-DIMENSION-SIZES 5 3 4
-OUTPUT-ARCHITECTURE IEEE
-OUTPUT-BYTE-ORDER LE
-CHUNKED-DIMENSION-SIZES 2 2 2
-COMPRESSION-PARAM 8
-MAXIMUM-DIMENSIONS -1 6 7
-
-
-
diff --git a/tools/h5import/testfiles/binfp64.h5 b/tools/h5import/testfiles/binfp64.h5
deleted file mode 100644
index 80e3a8a..0000000
--- a/tools/h5import/testfiles/binfp64.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/binin16.conf b/tools/h5import/testfiles/binin16.conf
deleted file mode 100644
index 06869cb..0000000
--- a/tools/h5import/testfiles/binin16.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-PATH /int/bin/16-bit
-INPUT-CLASS IN
-INPUT-SIZE 16
-RANK 3
-DIMENSION-SIZES 2 3 4
-CHUNKED-DIMENSION-SIZES 2 2 2
-MAXIMUM-DIMENSIONS -1 -1 8
-OUTPUT-ARCHITECTURE STD
-OUTPUT-BYTE-ORDER LE
-
-
-
diff --git a/tools/h5import/testfiles/binin16.h5 b/tools/h5import/testfiles/binin16.h5
deleted file mode 100644
index 0825bbc..0000000
--- a/tools/h5import/testfiles/binin16.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/binin32.conf b/tools/h5import/testfiles/binin32.conf
deleted file mode 100644
index 11996ef..0000000
--- a/tools/h5import/testfiles/binin32.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-PATH /int/bin/32-bit
-INPUT-CLASS IN
-INPUT-SIZE 32
-RANK 3
-DIMENSION-SIZES 5 3 4
-OUTPUT-ARCHITECTURE STD
-OUTPUT-BYTE-ORDER BE
-CHUNKED-DIMENSION-SIZES 1 2 1
-
-
-
-
diff --git a/tools/h5import/testfiles/binin32.h5 b/tools/h5import/testfiles/binin32.h5
deleted file mode 100644
index fd8faa9..0000000
--- a/tools/h5import/testfiles/binin32.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/binin8.conf b/tools/h5import/testfiles/binin8.conf
deleted file mode 100644
index 1edd80a..0000000
--- a/tools/h5import/testfiles/binin8.conf
+++ /dev/null
@@ -1,16 +0,0 @@
-PATH /int/bin/8-bit
-INPUT-CLASS IN
-INPUT-SIZE 8
-OUTPUT-CLASS IN
-OUTPUT-SIZE 16
-RANK 3
-OUTPUT-ARCHITECTURE STD
-OUTPUT-BYTE-ORDER LE
-DIMENSION-SIZES 5 3 4
-CHUNKED-DIMENSION-SIZES 2 2 2
-MAXIMUM-DIMENSIONS -1 -1 -1
-COMPRESSION-PARAM 3
-
-
-
-
diff --git a/tools/h5import/testfiles/binin8.h5 b/tools/h5import/testfiles/binin8.h5
deleted file mode 100644
index a1d1a37..0000000
--- a/tools/h5import/testfiles/binin8.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/binin8w.conf b/tools/h5import/testfiles/binin8w.conf
deleted file mode 100644
index fccb4ac..0000000
--- a/tools/h5import/testfiles/binin8w.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-
-INPUT-CLASS IN
-INPUT-SIZE 8
-RANK 1
-DIMENSION-SIZES 4
-OUTPUT-BYTE-ORDER LE
-OUTPUT-CLASS IN
-OUTPUT-SIZE 8
-OUTPUT-ARCHITECTURE STD
diff --git a/tools/h5import/testfiles/binin8w.h5 b/tools/h5import/testfiles/binin8w.h5
deleted file mode 100644
index 64acaed..0000000
--- a/tools/h5import/testfiles/binin8w.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/binuin16.conf b/tools/h5import/testfiles/binuin16.conf
deleted file mode 100644
index a4603df..0000000
--- a/tools/h5import/testfiles/binuin16.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-PATH /int/buin/16-bit
-INPUT-CLASS UIN
-INPUT-SIZE 16
-RANK 3
-DIMENSION-SIZES 2 3 4
-CHUNKED-DIMENSION-SIZES 2 2 2
-MAXIMUM-DIMENSIONS -1 -1 8
-OUTPUT-ARCHITECTURE STD
-OUTPUT-BYTE-ORDER BE
-
-
-
diff --git a/tools/h5import/testfiles/binuin16.h5 b/tools/h5import/testfiles/binuin16.h5
deleted file mode 100644
index c486c89..0000000
--- a/tools/h5import/testfiles/binuin16.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/binuin32.conf b/tools/h5import/testfiles/binuin32.conf
deleted file mode 100644
index a649e97..0000000
--- a/tools/h5import/testfiles/binuin32.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-PATH /int/buin/32-bit
-INPUT-CLASS UIN
-INPUT-SIZE 32
-RANK 3
-DIMENSION-SIZES 5 3 4
-OUTPUT-ARCHITECTURE STD
-OUTPUT-BYTE-ORDER LE
-
-
-
-
-
diff --git a/tools/h5import/testfiles/binuin32.h5 b/tools/h5import/testfiles/binuin32.h5
deleted file mode 100644
index 41699d7..0000000
--- a/tools/h5import/testfiles/binuin32.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/dbinfp64.h5.txt b/tools/h5import/testfiles/dbinfp64.h5.txt
deleted file mode 100644
index fb88984..0000000
--- a/tools/h5import/testfiles/dbinfp64.h5.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-dataset: </fp/bin/64-bit> and </fp/bin/64-bit>
-0 differences found
diff --git a/tools/h5import/testfiles/dbinin16.h5.txt b/tools/h5import/testfiles/dbinin16.h5.txt
deleted file mode 100644
index b94781e..0000000
--- a/tools/h5import/testfiles/dbinin16.h5.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-dataset: </int/bin/16-bit> and </int/bin/16-bit>
-0 differences found
diff --git a/tools/h5import/testfiles/dbinin32.h5.txt b/tools/h5import/testfiles/dbinin32.h5.txt
deleted file mode 100644
index a35cd79..0000000
--- a/tools/h5import/testfiles/dbinin32.h5.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-dataset: </int/bin/32-bit> and </int/bin/32-bit>
-0 differences found
diff --git a/tools/h5import/testfiles/dbinin8.h5.txt b/tools/h5import/testfiles/dbinin8.h5.txt
deleted file mode 100644
index bbc6c67..0000000
--- a/tools/h5import/testfiles/dbinin8.h5.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-dataset: </int/bin/8-bit> and </int/bin/8-bit>
-0 differences found
diff --git a/tools/h5import/testfiles/dbinin8w.h5.txt b/tools/h5import/testfiles/dbinin8w.h5.txt
deleted file mode 100644
index 28d43d2..0000000
--- a/tools/h5import/testfiles/dbinin8w.h5.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-dataset: </dataset0> and </dataset0>
-0 differences found
diff --git a/tools/h5import/testfiles/dbinuin16.h5.txt b/tools/h5import/testfiles/dbinuin16.h5.txt
deleted file mode 100644
index ecad7a0..0000000
--- a/tools/h5import/testfiles/dbinuin16.h5.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-dataset: </int/buin/16-bit> and </int/buin/16-bit>
-0 differences found
diff --git a/tools/h5import/testfiles/dbinuin32.h5.txt b/tools/h5import/testfiles/dbinuin32.h5.txt
deleted file mode 100644
index cc1d9f3..0000000
--- a/tools/h5import/testfiles/dbinuin32.h5.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-dataset: </int/buin/32-bit> and </int/buin/32-bit>
-0 differences found
diff --git a/tools/h5import/testfiles/dtxtstr.h5.txt b/tools/h5import/testfiles/dtxtstr.h5.txt
deleted file mode 100644
index 2170300..0000000
--- a/tools/h5import/testfiles/dtxtstr.h5.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-dataset: </mytext/data> and </mytext/data>
-0 differences found
diff --git a/tools/h5import/testfiles/textpfe.conf b/tools/h5import/testfiles/textpfe.conf
deleted file mode 100644
index 6404d5f..0000000
--- a/tools/h5import/testfiles/textpfe.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-PATH /test
-INPUT-CLASS TEXTFPE
-INPUT-SIZE 64
-RANK 1
-DIMENSION-SIZES 2
-OUTPUT-CLASS FP
-OUTPUT-BYTE-ORDER LE
-OUTPUT-SIZE 64
-
-
-
-
diff --git a/tools/h5import/testfiles/textpfe.h5 b/tools/h5import/testfiles/textpfe.h5
deleted file mode 100644
index 213051d..0000000
--- a/tools/h5import/testfiles/textpfe.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/textpfe64.txt b/tools/h5import/testfiles/textpfe64.txt
deleted file mode 100644
index f6dd7f4..0000000
--- a/tools/h5import/testfiles/textpfe64.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-6.02E+24
-3.14159265E+00
diff --git a/tools/h5import/testfiles/txtfp32.conf b/tools/h5import/testfiles/txtfp32.conf
deleted file mode 100644
index 9696a7f..0000000
--- a/tools/h5import/testfiles/txtfp32.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-PATH /fp/32-bit
-INPUT-CLASS TEXTFP
-INPUT-SIZE 32
-RANK 3
-DIMENSION-SIZES 2 4 3
-OUTPUT-ARCHITECTURE IEEE
-OUTPUT-BYTE-ORDER LE
-
-
-
diff --git a/tools/h5import/testfiles/txtfp32.h5 b/tools/h5import/testfiles/txtfp32.h5
deleted file mode 100644
index f74e003..0000000
--- a/tools/h5import/testfiles/txtfp32.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/txtfp32.txt b/tools/h5import/testfiles/txtfp32.txt
deleted file mode 100644
index 142c94f..0000000
--- a/tools/h5import/testfiles/txtfp32.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-12.3 14.2 15.56
-26.782 27.22 28.44
-29.33 20.11 11.45
-22.31 23.3332 24.343
-
-16.134 19.34 0.17
-4.5 8.9 91.8
-34.7 0.32 0.076
-22.2 88.31 77.83 \ No newline at end of file
diff --git a/tools/h5import/testfiles/txtfp64.conf b/tools/h5import/testfiles/txtfp64.conf
deleted file mode 100644
index fbab6a6..0000000
--- a/tools/h5import/testfiles/txtfp64.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-PATH /fp/64-bit
-INPUT-CLASS TEXTFP
-INPUT-SIZE 64
-RANK 3
-DIMENSION-SIZES 4 4 3
-OUTPUT-ARCHITECTURE IEEE
-OUTPUT-BYTE-ORDER BE
-CHUNKED-DIMENSION-SIZES 2 2 2
-COMPRESSION-PARAM 8
-MAXIMUM-DIMENSIONS -1 6 7
-
-
-
diff --git a/tools/h5import/testfiles/txtfp64.h5 b/tools/h5import/testfiles/txtfp64.h5
deleted file mode 100644
index b6ba4f5..0000000
--- a/tools/h5import/testfiles/txtfp64.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/txtfp64.txt b/tools/h5import/testfiles/txtfp64.txt
deleted file mode 100644
index 6c83dc3..0000000
--- a/tools/h5import/testfiles/txtfp64.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-12.3 14.2 15.56
-26.782 27.22 28.44
-29.33 20.11 11.45
-22.31 23.3332 24.343
-
-16.134 19.34 0.17
-4.5 8.9 91.8
-34.7 0.32 0.076
-22.2 88.31 77.83
-
-216.134 139.34 101.17
-24.5 82.9 291.8
-334.7 0.232 10.076
-222.2 88.31 77.83
-
-122.3 114.2 125.56
-226.782 27.222 128.44
-341.7 30.132 0.1076
-4.51 181.9 911.8
diff --git a/tools/h5import/testfiles/txtin16.conf b/tools/h5import/testfiles/txtin16.conf
deleted file mode 100644
index d2d11c3..0000000
--- a/tools/h5import/testfiles/txtin16.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-PATH /int/16-bit
-INPUT-CLASS TEXTIN
-INPUT-SIZE 16
-RANK 3
-DIMENSION-SIZES 2 4 3
-OUTPUT-BYTE-ORDER LE
-CHUNKED-DIMENSION-SIZES 2 2 2
-MAXIMUM-DIMENSIONS -1 -1 8
-OUTPUT-ARCHITECTURE STD
-
-
-
diff --git a/tools/h5import/testfiles/txtin16.h5 b/tools/h5import/testfiles/txtin16.h5
deleted file mode 100644
index dc6c1ea..0000000
--- a/tools/h5import/testfiles/txtin16.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/txtin16.txt b/tools/h5import/testfiles/txtin16.txt
deleted file mode 100644
index 0688e9b..0000000
--- a/tools/h5import/testfiles/txtin16.txt
+++ /dev/null
@@ -1,15 +0,0 @@
- 83 85 87 89
- 84 86 88 90
- 85 87 89 91
- 88 90 92 94
- 89 91 93 95
- 90 92 94 96
- 93 95 97 99
- 94 96 98 100
- 95 97 99 101
- 98 100 102 104
- 99 101 103 105
- 100 102 104 106
- 103 105 107 109
- 104 106 108 110
- 105 107 109 111
diff --git a/tools/h5import/testfiles/txtin32.conf b/tools/h5import/testfiles/txtin32.conf
deleted file mode 100644
index ca4802a..0000000
--- a/tools/h5import/testfiles/txtin32.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-PATH /int/32-bit
-INPUT-CLASS TEXTIN
-INPUT-SIZE 32
-RANK 3
-DIMENSION-SIZES 2 4 3
-OUTPUT-ARCHITECTURE STD
-OUTPUT-BYTE-ORDER BE
-
-
-
-
diff --git a/tools/h5import/testfiles/txtin32.h5 b/tools/h5import/testfiles/txtin32.h5
deleted file mode 100644
index 350333c..0000000
--- a/tools/h5import/testfiles/txtin32.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/txtin32.txt b/tools/h5import/testfiles/txtin32.txt
deleted file mode 100644
index 0688e9b..0000000
--- a/tools/h5import/testfiles/txtin32.txt
+++ /dev/null
@@ -1,15 +0,0 @@
- 83 85 87 89
- 84 86 88 90
- 85 87 89 91
- 88 90 92 94
- 89 91 93 95
- 90 92 94 96
- 93 95 97 99
- 94 96 98 100
- 95 97 99 101
- 98 100 102 104
- 99 101 103 105
- 100 102 104 106
- 103 105 107 109
- 104 106 108 110
- 105 107 109 111
diff --git a/tools/h5import/testfiles/txtin8.conf b/tools/h5import/testfiles/txtin8.conf
deleted file mode 100644
index 9dbfd2b..0000000
--- a/tools/h5import/testfiles/txtin8.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-PATH /int/8-bit
-INPUT-CLASS TEXTIN
-INPUT-SIZE 8
-OUTPUT-CLASS IN
-OUTPUT-SIZE 8
-OUTPUT-BYTE-ORDER LE
-OUTPUT-ARCHITECTURE STD
-RANK 3
-DIMENSION-SIZES 2 4 3
-CHUNKED-DIMENSION-SIZES 2 2 2
-MAXIMUM-DIMENSIONS -1 -1 -1
-COMPRESSION-PARAM 3
-COMPRESSION-TYPE GZIP
-
-
-
-
-
diff --git a/tools/h5import/testfiles/txtin8.h5 b/tools/h5import/testfiles/txtin8.h5
deleted file mode 100644
index 42e7727..0000000
--- a/tools/h5import/testfiles/txtin8.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/txtin8.txt b/tools/h5import/testfiles/txtin8.txt
deleted file mode 100644
index 0688e9b..0000000
--- a/tools/h5import/testfiles/txtin8.txt
+++ /dev/null
@@ -1,15 +0,0 @@
- 83 85 87 89
- 84 86 88 90
- 85 87 89 91
- 88 90 92 94
- 89 91 93 95
- 90 92 94 96
- 93 95 97 99
- 94 96 98 100
- 95 97 99 101
- 98 100 102 104
- 99 101 103 105
- 100 102 104 106
- 103 105 107 109
- 104 106 108 110
- 105 107 109 111
diff --git a/tools/h5import/testfiles/txtstr.conf b/tools/h5import/testfiles/txtstr.conf
deleted file mode 100644
index 85079e0..0000000
--- a/tools/h5import/testfiles/txtstr.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-PATH /mytext/data
-INPUT-CLASS STR
-
-
-
-
diff --git a/tools/h5import/testfiles/txtstr.h5 b/tools/h5import/testfiles/txtstr.h5
deleted file mode 100644
index ceb0810..0000000
--- a/tools/h5import/testfiles/txtstr.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/txtstr.txt b/tools/h5import/testfiles/txtstr.txt
deleted file mode 100644
index 25be0a6..0000000
--- a/tools/h5import/testfiles/txtstr.txt
+++ /dev/null
@@ -1,2 +0,0 @@
- hello world
- hello world again
diff --git a/tools/h5import/testfiles/txtuin16.conf b/tools/h5import/testfiles/txtuin16.conf
deleted file mode 100644
index 753e6e8..0000000
--- a/tools/h5import/testfiles/txtuin16.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-PATH /int/uint/16-bit
-INPUT-CLASS TEXTUIN
-INPUT-SIZE 16
-RANK 2
-DIMENSION-SIZES 4 3
-COMPRESSION-PARAM 2
-CHUNKED-DIMENSION-SIZES 2 2
-OUTPUT-ARCHITECTURE STD
-OUTPUT-BYTE-ORDER LE
-
-
-
diff --git a/tools/h5import/testfiles/txtuin16.h5 b/tools/h5import/testfiles/txtuin16.h5
deleted file mode 100644
index 9ee166a..0000000
--- a/tools/h5import/testfiles/txtuin16.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/txtuin16.txt b/tools/h5import/testfiles/txtuin16.txt
deleted file mode 100644
index 0688e9b..0000000
--- a/tools/h5import/testfiles/txtuin16.txt
+++ /dev/null
@@ -1,15 +0,0 @@
- 83 85 87 89
- 84 86 88 90
- 85 87 89 91
- 88 90 92 94
- 89 91 93 95
- 90 92 94 96
- 93 95 97 99
- 94 96 98 100
- 95 97 99 101
- 98 100 102 104
- 99 101 103 105
- 100 102 104 106
- 103 105 107 109
- 104 106 108 110
- 105 107 109 111
diff --git a/tools/h5import/testfiles/txtuin32.conf b/tools/h5import/testfiles/txtuin32.conf
deleted file mode 100644
index d61e1a1..0000000
--- a/tools/h5import/testfiles/txtuin32.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-PATH /int/uint/32-bit
-INPUT-CLASS TEXTUIN
-INPUT-SIZE 32
-RANK 3
-DIMENSION-SIZES 2 4 3
-OUTPUT-ARCHITECTURE STD
-OUTPUT-BYTE-ORDER BE
-
-
-
-
diff --git a/tools/h5import/testfiles/txtuin32.h5 b/tools/h5import/testfiles/txtuin32.h5
deleted file mode 100644
index 1a4dda5..0000000
--- a/tools/h5import/testfiles/txtuin32.h5
+++ /dev/null
Binary files differ
diff --git a/tools/h5import/testfiles/txtuin32.txt b/tools/h5import/testfiles/txtuin32.txt
deleted file mode 100644
index 0688e9b..0000000
--- a/tools/h5import/testfiles/txtuin32.txt
+++ /dev/null
@@ -1,15 +0,0 @@
- 83 85 87 89
- 84 86 88 90
- 85 87 89 91
- 88 90 92 94
- 89 91 93 95
- 90 92 94 96
- 93 95 97 99
- 94 96 98 100
- 95 97 99 101
- 98 100 102 104
- 99 101 103 105
- 100 102 104 106
- 103 105 107 109
- 104 106 108 110
- 105 107 109 111