diff options
Diffstat (limited to 'tools/h5import')
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 Binary files differdeleted file mode 100644 index 80e3a8a..0000000 --- a/tools/h5import/testfiles/binfp64.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index 0825bbc..0000000 --- a/tools/h5import/testfiles/binin16.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index fd8faa9..0000000 --- a/tools/h5import/testfiles/binin32.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index a1d1a37..0000000 --- a/tools/h5import/testfiles/binin8.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index 64acaed..0000000 --- a/tools/h5import/testfiles/binin8w.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index c486c89..0000000 --- a/tools/h5import/testfiles/binuin16.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index 41699d7..0000000 --- a/tools/h5import/testfiles/binuin32.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index 213051d..0000000 --- a/tools/h5import/testfiles/textpfe.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index f74e003..0000000 --- a/tools/h5import/testfiles/txtfp32.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index b6ba4f5..0000000 --- a/tools/h5import/testfiles/txtfp64.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index dc6c1ea..0000000 --- a/tools/h5import/testfiles/txtin16.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index 350333c..0000000 --- a/tools/h5import/testfiles/txtin32.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index 42e7727..0000000 --- a/tools/h5import/testfiles/txtin8.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index ceb0810..0000000 --- a/tools/h5import/testfiles/txtstr.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index 9ee166a..0000000 --- a/tools/h5import/testfiles/txtuin16.h5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index 1a4dda5..0000000 --- a/tools/h5import/testfiles/txtuin32.h5 +++ /dev/null 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 |