Merge examples and workflows from develop (#3918)

This commit is contained in:
Allen Byrne
2024-01-03 11:23:42 -06:00
committed by GitHub
parent 95827bc79d
commit 72e33ad772
791 changed files with 235132 additions and 2519 deletions
+10
View File
@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
groups:
github-actions:
patterns:
- "*"
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'skip-ci')"
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.1
- name: Run clang-format style check for C and Java code
uses: DoozyX/clang-format-lint-action@v0.13
with:
+3 -3
View File
@@ -21,9 +21,9 @@ jobs:
permissions:
contents: write # In order to allow EndBug/add-and-commit to commit changes
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Fix C and Java formatting issues detected by clang-format
uses: DoozyX/clang-format-lint-action@v0.13
uses: DoozyX/clang-format-lint-action@9ea72631b74e61ce337d0839a90e76180e997283 # v0.13
with:
source: '.'
extensions: 'c,h,cpp,hpp,java'
@@ -31,7 +31,7 @@ jobs:
inplace: True
style: file
exclude: './config ./hl/src/H5LTanalyze.c ./hl/src/H5LTparse.c ./hl/src/H5LTparse.h ./src/H5Epubgen.h ./src/H5Einit.h ./src/H5Eterm.h ./src/H5Edefin.h ./src/H5version.h ./src/H5overflow.h'
- uses: EndBug/add-and-commit@v9
- uses: EndBug/add-and-commit@1bad3abcf0d6ec49a5857d124b0bfb52dc7bb081 # v9.1.3
with:
author_name: github-actions
author_email: 41898282+github-actions[bot]@users.noreply.github.com
+169 -11
View File
@@ -25,7 +25,7 @@ jobs:
run: choco install ninja
- name: Enable Developer Command Prompt
uses: ilammy/msvc-dev-cmd@v1.12.1
uses: ilammy/msvc-dev-cmd@v1.13.0
- name: Set file base name (Windows)
id: set-file-base
@@ -36,7 +36,7 @@ jobs:
# Get files created by release script
- name: Get zip-tarball (Windows)
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: zip-tarball
path: ${{ github.workspace }}
@@ -72,7 +72,7 @@ jobs:
Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/README.md -Destination ${{ runner.workspace }}/build114/hdf5/
Copy-Item -Path ${{ runner.workspace }}/hdf5/build114/ci-StdShar-MSVC/* -Destination ${{ runner.workspace }}/build114/hdf5/ -Include *.zip
cd "${{ runner.workspace }}/build114"
7z a -tzip ${{ steps.set-file-base.outputs.FILE_BASE }}-win_vs2022.zip hdf5
7z a -tzip ${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip hdf5
shell: pwsh
- name: List files in the space (Windows)
@@ -85,8 +85,8 @@ jobs:
- name: Save published binary (Windows)
uses: actions/upload-artifact@v3
with:
name: zip-vs2022-binary
path: ${{ runner.workspace }}/build114/${{ steps.set-file-base.outputs.FILE_BASE }}-win_vs2022.zip
name: zip-vs2022_cl-binary
path: ${{ runner.workspace }}/build114/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
build_and_test_linux:
@@ -106,7 +106,7 @@ jobs:
# Get files created by release script
- name: Get tgz-tarball (Linux)
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: tgz-tarball
path: ${{ github.workspace }}
@@ -135,7 +135,7 @@ jobs:
cp ${{ runner.workspace }}/hdf5/hdfsrc/README.md ${{ runner.workspace }}/build114/hdf5
cp ${{ runner.workspace }}/hdf5/build114/ci-StdShar-GNUC/*.tar.gz ${{ runner.workspace }}/build114/hdf5
cd "${{ runner.workspace }}/build114"
tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204.tar.gz hdf5
tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz hdf5
shell: bash
- name: List files in the space (Linux)
@@ -147,8 +147,8 @@ jobs:
- name: Save published binary (Linux)
uses: actions/upload-artifact@v3
with:
name: tgz-ubuntu-2204-binary
path: ${{ runner.workspace }}/build114/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204.tar.gz
name: tgz-ubuntu-2204_gcc-binary
path: ${{ runner.workspace }}/build114/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
# Save doxygen files created by ctest script
@@ -176,7 +176,7 @@ jobs:
# Get files created by release script
- name: Get tgz-tarball (MacOS)
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: tgz-tarball
path: ${{ github.workspace }}
@@ -227,6 +227,164 @@ jobs:
uses: actions/upload-artifact@v3
with:
name: tgz-osx12-binary
path: ${{ runner.workspace }}/build114/${{ steps.set-file-base.outputs.FILE_BASE }}-osx12.tar.gz
path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-osx12.tar.gz
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
####### intel builds
build_and_test_win_intel:
# Windows w/ OneAPI + CMake
#
name: "Windows Intel CTest"
runs-on: windows-latest
steps:
- name: Install Dependencies (Windows_intel)
run: choco install ninja
- name: add oneAPI to env
uses: fortran-lang/setup-fortran@v1
id: setup-fortran
with:
compiler: intel
version: '2023.2'
- name: Enable Developer Command Prompt
uses: ilammy/msvc-dev-cmd@v1.13.0
- name: Set file base name (Windows_intel)
id: set-file-base
run: |
FILE_NAME_BASE=$(echo "${{ inputs.file_base }}")
echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT
shell: bash
# Get files created by release script
- name: Get zip-tarball (Windows_intel)
uses: actions/download-artifact@v4
with:
name: zip-tarball
path: ${{ github.workspace }}
- name: using powershell
shell: pwsh
run: Get-Location
- name: List files for the space (Windows_intel)
run: |
Get-ChildItem -Path ${{ github.workspace }}
Get-ChildItem -Path ${{ runner.workspace }}
shell: pwsh
- name: Uncompress source (Windows_intel)
working-directory: ${{ github.workspace }}
run: 7z x ${{ steps.set-file-base.outputs.FILE_BASE }}.zip
shell: bash
- name: Run ctest (Windows_intel) with oneapi
env:
FC: ${{ steps.setup-fortran.outputs.fc }}
CC: ${{ steps.setup-fortran.outputs.cc }}
CXX: ${{ steps.setup-fortran.outputs.cxx }}
run: |
cd "${{ runner.workspace }}/hdf5/hdfsrc"
cmake --workflow --preset=ci-StdShar-Intel --fresh
shell: pwsh
- name: Publish binary (Windows_intel)
id: publish-ctest-binary
run: |
mkdir "${{ runner.workspace }}/build"
mkdir "${{ runner.workspace }}/build/hdf5"
Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/COPYING -Destination ${{ runner.workspace }}/build/hdf5/
Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/COPYING_LBNL_HDF5 -Destination ${{ runner.workspace }}/build/hdf5/
Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/README.md -Destination ${{ runner.workspace }}/build/hdf5/
Copy-Item -Path ${{ runner.workspace }}/hdf5/build/ci-StdShar-Intel/* -Destination ${{ runner.workspace }}/build/hdf5/ -Include *.zip
cd "${{ runner.workspace }}/build"
7z a -tzip ${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip hdf5
shell: pwsh
- name: List files in the space (Windows_intel)
run: |
Get-ChildItem -Path ${{ github.workspace }}
Get-ChildItem -Path ${{ runner.workspace }}
shell: pwsh
# Save files created by ctest script
- name: Save published binary (Windows_intel)
uses: actions/upload-artifact@v3
with:
name: zip-vs2022_intel-binary
path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
build_and_test_linux_intel:
# Linux (Ubuntu) w/ OneAPI + CMake
#
name: "Ubuntu Intel CMake"
runs-on: ubuntu-latest
steps:
- name: Install CMake Dependencies (Linux_intel)
run: sudo apt-get install ninja-build doxygen graphviz
- name: add oneAPI to env
uses: fortran-lang/setup-fortran@v1
id: setup-fortran
with:
compiler: intel
version: '2023.2'
- name: Set file base name (Linux_intel)
id: set-file-base
run: |
FILE_NAME_BASE=$(echo "${{ inputs.file_base }}")
echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT
# Get files created by release script
- name: Get tgz-tarball (Linux_intel)
uses: actions/download-artifact@v4
with:
name: tgz-tarball
path: ${{ github.workspace }}
- name: List files for the space (Linux_intel)
run: |
ls -l ${{ github.workspace }}
ls ${{ runner.workspace }}
- name: Uncompress source (Linux_intel)
run: tar -zxvf ${{ github.workspace }}/${{ steps.set-file-base.outputs.FILE_BASE }}.tar.gz
- name: Run ctest (Linux_intel)
env:
FC: ${{ steps.setup-fortran.outputs.fc }}
CC: ${{ steps.setup-fortran.outputs.cc }}
CXX: ${{ steps.setup-fortran.outputs.cxx }}
run: |
cd "${{ runner.workspace }}/hdf5/hdfsrc"
cmake --workflow --preset=ci-StdShar-Intel --fresh
shell: bash
- name: Publish binary (Linux_intel)
id: publish-ctest-binary
run: |
mkdir "${{ runner.workspace }}/build"
mkdir "${{ runner.workspace }}/build/hdf5"
cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING ${{ runner.workspace }}/build/hdf5
cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING_LBNL_HDF5 ${{ runner.workspace }}/build/hdf5
cp ${{ runner.workspace }}/hdf5/hdfsrc/README.md ${{ runner.workspace }}/build/hdf5
cp ${{ runner.workspace }}/hdf5/build/ci-StdShar-Intel/*.tar.gz ${{ runner.workspace }}/build/hdf5
cd "${{ runner.workspace }}/build"
tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_intel.tar.gz hdf5
shell: bash
- name: List files in the space (Linux_intel)
run: |
ls ${{ github.workspace }}
ls -l ${{ runner.workspace }}
# Save files created by ctest script
- name: Save published binary (Linux_intel)
uses: actions/upload-artifact@v3
with:
name: tgz-ubuntu-2204_intel-binary
path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_intel.tar.gz
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
+4
View File
@@ -11,6 +11,10 @@ permissions:
# in parallel. We just have one job, but the matrix items defined below will
# run in parallel.
jobs:
call-workflow-special-cmake:
name: "CMake Special Workflows"
uses: ./.github/workflows/main-cmake-spc.yml
call-debug-thread-cmake:
name: "CMake Debug Thread-Safety Workflows"
uses: ./.github/workflows/main-cmake.yml
+2 -2
View File
@@ -10,8 +10,8 @@ jobs:
name: Check for spelling errors
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.1
- uses: codespell-project/actions-codespell@master
with:
skip: ./.github/workflows/codespell.yml,./bin/trace,./hl/tools/h5watch/h5watch.c,./tools/test/h5jam/tellub.c,./config/sanitizer/LICENSE,./config/sanitizer/sanitizers.cmake,./tools/test/h5repack/testfiles/*.dat,./test/API/driver,./configure,./bin/ltmain.sh,./bin/depcomp,./bin/config.guess,./bin/config.sub,./autom4te.cache,./m4/libtool.m4,./c++/src/*.html
skip: ./.github/workflows/codespell.yml,./bin/trace,./hl/tools/h5watch/h5watch.c,./tools/test/h5jam/tellub.c,./config/sanitizer/LICENSE,./config/sanitizer/sanitizers.cmake,./tools/test/h5repack/testfiles/*.dat,./test/API/driver,./configure,./bin/ltmain.sh,./bin/depcomp,./bin/config.guess,./bin/config.sub,./autom4te.cache,./m4/libtool.m4,./c++/src/*.html,./HDF5Examples/depcomp
ignore_words_list: ot,isnt,inout,nd,parms,parm,ba,offsetP,ser,ois,had,fiter,fo,clude,refere,minnum,offsetp,creat,ans:,eiter,lastr,ans,isn't,ifset,sur,trun,dne,tthe,hda,filname,te,htmp,ake,gord,numer,ro,oce,msdos
+2 -2
View File
@@ -27,7 +27,7 @@ jobs:
name: CVE regression
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.1
- name: Install Autotools Dependencies (Linux)
run: |
@@ -40,7 +40,7 @@ jobs:
make
sudo make install
- name: Checkout CVE test repository
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
with:
repository: HDFGroup/cve_hdf5
path: cve_hdf5
+1 -1
View File
@@ -27,7 +27,7 @@ jobs:
name: Build hdfeos5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.1
- name: Install Autotools Dependencies (Linux)
run: |
+1 -1
View File
@@ -16,7 +16,7 @@ jobs:
name: "Intel ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.1
- name: Install Dependencies
run: |
+2 -2
View File
@@ -19,7 +19,7 @@ jobs:
name: "ubuntu-oneapi ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.1
# Only CMake need ninja-build, but we just install it unilaterally
# libssl, etc. are needed for the ros3 VFD
@@ -77,7 +77,7 @@ jobs:
name: "windows-oneapi ${{ inputs.build_mode }}"
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.1
- name: Install Dependencies (Windows)
run: choco install ninja
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.1
- name: Install System dependencies
run: |
+2 -2
View File
@@ -40,7 +40,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -98,7 +98,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
+8 -8
View File
@@ -43,7 +43,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -104,7 +104,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -165,7 +165,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -226,7 +226,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -287,7 +287,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -348,7 +348,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -409,7 +409,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -470,7 +470,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
+2 -2
View File
@@ -49,7 +49,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -153,7 +153,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
+203
View File
@@ -0,0 +1,203 @@
name: hdf5 1.14 CMake special CI
# Controls when the action will run. Triggers the workflow on a call
on:
workflow_call:
permissions:
contents: read
# A workflow run is made up of one or more jobs that can run sequentially or
# in parallel. We just have one job, but the matrix items defined below will
# run in parallel.
jobs:
#
# SPECIAL CMake BUILDS
#
# These are not built into the matrix and instead
# become NEW configs as their name would clobber one of the matrix
# names (so make sure the names are UNIQUE).
#
build_v1_6:
name: "gcc DBG v1.6 default API"
runs-on: ubuntu-latest
steps:
# SETUP
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
echo "CC=gcc-12" >> $GITHUB_ENV
echo "CXX=g++-12" >> $GITHUB_ENV
echo "FC=gfortran-12" >> $GITHUB_ENV
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4.1.1
#
# CMAKE CONFIGURE
#
- name: CMake Configure
run: |
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \
-G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_TOOLCHAIN_FILE=config/toolchain/gcc.cmake \
-DBUILD_SHARED_LIBS=ON \
-DHDF5_ENABLE_ALL_WARNINGS=ON \
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
-DHDF5_BUILD_CPP_LIB:BOOL=ON \
-DHDF5_BUILD_FORTRAN=ON \
-DHDF5_BUILD_JAVA=ON \
-DHDF5_BUILD_DOC=OFF \
-DLIBAEC_USE_LOCALCONTENT=OFF \
-DZLIB_USE_LOCALCONTENT=OFF \
-DHDF5_ENABLE_MIRROR_VFD:BOOL=ON \
-DHDF5_ENABLE_DIRECT_VFD:BOOL=ON \
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
-DH5_NO_DEPRECATED_SYMBOLS:BOOL=OFF \
-DDEFAULT_API_VERSION:STRING=v16 \
$GITHUB_WORKSPACE
shell: bash
#
# BUILD
#
- name: CMake Build
run: cmake --build . --parallel 3 --config Debug
working-directory: ${{ runner.workspace }}/build
#
# RUN TESTS - disable until some tests are fixed
#
# - name: CMake Run Tests
# run: ctest . --parallel 2 -C Debug -V
# working-directory: ${{ runner.workspace }}/build
build_v1_10:
name: "gcc DBG v1.10 default API (build only)"
runs-on: ubuntu-latest
steps:
# SETUP
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
echo "CC=gcc-12" >> $GITHUB_ENV
echo "CXX=g++-12" >> $GITHUB_ENV
echo "FC=gfortran-12" >> $GITHUB_ENV
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4.1.1
#
# CMAKE CONFIGURE
#
- name: CMake Configure
run: |
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \
-G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_TOOLCHAIN_FILE=config/toolchain/gcc.cmake \
-DBUILD_SHARED_LIBS=ON \
-DHDF5_ENABLE_ALL_WARNINGS=ON \
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
-DHDF5_BUILD_CPP_LIB:BOOL=ON \
-DHDF5_BUILD_FORTRAN=ON \
-DHDF5_BUILD_JAVA=ON \
-DHDF5_BUILD_DOC=OFF \
-DLIBAEC_USE_LOCALCONTENT=OFF \
-DZLIB_USE_LOCALCONTENT=OFF \
-DHDF5_ENABLE_MIRROR_VFD:BOOL=ON \
-DHDF5_ENABLE_DIRECT_VFD:BOOL=ON \
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
-DH5_NO_DEPRECATED_SYMBOLS:BOOL=OFF \
-DDEFAULT_API_VERSION:STRING=v110 \
$GITHUB_WORKSPACE
shell: bash
#
# BUILD
#
- name: CMake Build
run: cmake --build . --parallel 3 --config Debug
working-directory: ${{ runner.workspace }}/build
#
# RUN TESTS
#
- name: CMake Run Tests
run: ctest . --parallel 2 -C Debug -V
working-directory: ${{ runner.workspace }}/build
build_v1_12:
name: "gcc DBG v1.12 default API (build only)"
runs-on: ubuntu-latest
steps:
# SETUP
- name: Install Linux Dependencies
run: |
sudo apt update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
echo "CC=gcc-12" >> $GITHUB_ENV
echo "CXX=g++-12" >> $GITHUB_ENV
echo "FC=gfortran-12" >> $GITHUB_ENV
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4.1.1
#
# CMAKE CONFIGURE
#
- name: CMake Configure
run: |
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \
-G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_TOOLCHAIN_FILE=config/toolchain/gcc.cmake \
-DBUILD_SHARED_LIBS=ON \
-DHDF5_ENABLE_ALL_WARNINGS=ON \
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
-DHDF5_BUILD_CPP_LIB:BOOL=ON \
-DHDF5_BUILD_FORTRAN=ON \
-DHDF5_BUILD_JAVA=ON \
-DHDF5_BUILD_DOC=OFF \
-DLIBAEC_USE_LOCALCONTENT=OFF \
-DZLIB_USE_LOCALCONTENT=OFF \
-DHDF5_ENABLE_MIRROR_VFD:BOOL=ON \
-DHDF5_ENABLE_DIRECT_VFD:BOOL=ON \
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
-DH5_NO_DEPRECATED_SYMBOLS:BOOL=OFF \
-DDEFAULT_API_VERSION:STRING=v112 \
$GITHUB_WORKSPACE
shell: bash
#
# BUILD
#
- name: CMake Build
run: cmake --build . --parallel 3 --config Debug
working-directory: ${{ runner.workspace }}/build
#
# RUN TESTS
#
- name: CMake Run Tests
run: ctest . --parallel 2 -C Debug -V
working-directory: ${{ runner.workspace }}/build
+2 -2
View File
@@ -163,7 +163,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
#
# CMAKE CONFIGURE
@@ -281,7 +281,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
# CMAKE CONFIGURE
- name: CMake Configure
+3 -3
View File
@@ -31,7 +31,7 @@ jobs:
sudo apt update
sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev doxygen openssl libtool libtool-bin
- name: Checkout HDF5
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
- name: Install HDF5
run: |
./autogen.sh
@@ -39,7 +39,7 @@ jobs:
make -j
sudo make install -j
- name: Checkout netCDF
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
with:
repository: unidata/netcdf-c
path: netcdf-c
@@ -47,7 +47,7 @@ jobs:
run: |
cd netcdf-c
autoreconf -if
CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./configure --enable-hdf5 --enable-dap --disable-dap-remote-tests --enable-doxygen --enable-external-server-tests
CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./configure --enable-hdf5 --enable-dap --disable-dap-remote-tests --enable-external-server-tests
cat config.log
cat libnetcdf.settings
CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make -j
+1 -1
View File
@@ -16,7 +16,7 @@ jobs:
name: "nvhpc ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.1
- name: Install Dependencies
run: |
+2 -2
View File
@@ -16,7 +16,7 @@ jobs:
name: "nvhpc ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.1.1
- name: Install Linux dependencies
shell: bash
@@ -72,5 +72,5 @@ jobs:
- name: CMake Run Tests
shell: bash
run: |
ctest . --parallel 2 -C ${{ inputs.build_mode }} -V
ctest . --parallel 2 -C ${{ inputs.build_mode }} -V -E "ph5_f90_hyperslab_by_chunk|ph5_f90_hyperslab_by_pattern"
working-directory: ${{ runner.workspace }}/build
+33 -17
View File
@@ -40,14 +40,14 @@ jobs:
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
- run: |
git checkout ${{ inputs.file_sha }}
- uses: rickstaa/action-create-tag@v1
- uses: rickstaa/action-create-tag@a1c7777fcb2fee4f19b0f283ba888afa11678b72 # v1.7.2
id: "tag_create"
with:
commit_sha: ${{ inputs.file_sha }}
@@ -75,7 +75,7 @@ jobs:
# Get files created by tarball script
- name: Get doxygen (Linux)
uses: actions/download-artifact@v3
uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
name: docs-doxygen
path: ${{ github.workspace }}/${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen
@@ -84,34 +84,46 @@ jobs:
run: zip -r ${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip ./${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen
- name: Get tgz-tarball (Linux)
uses: actions/download-artifact@v3
uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
name: tgz-tarball
path: ${{ github.workspace }}
- name: Get zip-tarball (Windows)
uses: actions/download-artifact@v3
uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
name: zip-tarball
path: ${{ github.workspace }}
# Get files created by cmake-ctest script
- name: Get published binary (Windows)
uses: actions/download-artifact@v3
uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
name: zip-vs2022-binary
name: zip-vs2022_cl-binary
path: ${{ github.workspace }}
- name: Get published binary (MacOS)
uses: actions/download-artifact@v3
uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
name: tgz-osx12-binary
path: ${{ github.workspace }}
- name: Get published binary (Linux)
uses: actions/download-artifact@v3
uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
name: tgz-ubuntu-2204-binary
name: tgz-ubuntu-2204_gcc-binary
path: ${{ github.workspace }}
- name: Get published binary (Windows_intel)
uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
name: zip-vs2022_intel-binary
path: ${{ github.workspace }}
- name: Get published binary (Linux_intel)
uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
name: tgz-ubuntu-2204_intel-binary
path: ${{ github.workspace }}
- name: Store snapshot name
@@ -121,7 +133,7 @@ jobs:
- name: PreRelease tag
id: create_prerelease
if: ${{ (inputs.use_environ == 'snapshots') }}
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
with:
tag_name: "${{ inputs.use_tag }}"
prerelease: true
@@ -131,14 +143,16 @@ jobs:
${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}.zip
${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-win_vs2022.zip
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_intel.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
- name: Release tag
id: create_release
if: ${{ (inputs.use_environ == 'release') }}
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
with:
tag_name: "${{ inputs.use_tag }}"
prerelease: false
@@ -148,8 +162,10 @@ jobs:
${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}.zip
${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-win_vs2022.zip
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_intel.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
- name: List files for the space (Linux)
@@ -158,7 +174,7 @@ jobs:
ls ${{ runner.workspace }}
- name: branch-only-docs
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@373f7f263a76c20808c831209c920827a82a2847 # v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ${{ github.workspace }}/${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen
+1 -1
View File
@@ -50,7 +50,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
with:
path: hdfsrc
+1 -1
View File
@@ -83,7 +83,7 @@ jobs:
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/checkout@v4
uses: actions/checkout@v4.1.1
with:
path: hdfsrc
+2 -2
View File
@@ -41,8 +41,8 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT")
set (ZLIB_URL ${ZLIB_GIT_URL} CACHE STRING "Path to zlib git repository")
set (ZLIB_BRANCH ${ZLIB_GIT_BRANCH})
set (SZIP_URL ${SZIP_GIT_URL} CACHE STRING "Path to szip git repository")
set (SZIP_BRANCH ${SZIP_GIT_BRANCH})
set (SZIP_URL ${LIBAEC_GIT_URL} CACHE STRING "Path to szip git repository")
set (SZIP_BRANCH ${LIBAEC_GIT_BRANCH})
elseif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (NOT TGZPATH)
set (TGZPATH ${HDF5_SOURCE_DIR})
+1 -53
View File
@@ -56,13 +56,6 @@ set (HDF5_INCLUDES_BUILD_TIME
${HDF5_TOOLS_SRC_DIR} ${HDF5_SRC_BINARY_DIR}
)
#-----------------------------------------------------------------------------
# Set variables needed for installation
#-----------------------------------------------------------------------------
set (HDF5_VERSION_STRING ${HDF5_PACKAGE_VERSION})
set (HDF5_VERSION_MAJOR ${HDF5_PACKAGE_VERSION_MAJOR})
set (HDF5_VERSION_MINOR ${HDF5_PACKAGE_VERSION_MINOR})
#-----------------------------------------------------------------------------
# Configure the hdf5-config.cmake file for the build directory
#-----------------------------------------------------------------------------
@@ -155,53 +148,8 @@ if (HDF5_PACK_EXAMPLES)
COMPONENT hdfdocuments
)
option (EXAMPLES_DOWNLOAD "Download to use released examples files" OFF)
if (EXAMPLES_DOWNLOAD)
option (EXAMPLES_USE_RELEASE_NAME "Use the released examples artifact name" OFF)
if (EXAMPLES_USE_RELEASE_NAME)
set (EXAMPLES_NAME ${EXAMPLES_TGZ_ORIGNAME})
else ()
set (EXAMPLES_NAME ${HDF5_EXAMPLES_COMPRESSED})
endif ()
if (NOT EXAMPLES_USE_LOCALCONTENT)
set (EXAMPLES_URL ${EXAMPLES_TGZ_ORIGPATH}/${EXAMPLES_NAME})
file (DOWNLOAD ${EXAMPLES_URL} ${HDF5_BINARY_DIR}/${HDF5_EXAMPLES_COMPRESSED} STATUS EX_DL)
message (STATUS "Examples file is ${EXAMPLES_URL} STATUS=${EX_DL}")
else ()
set (EXAMPLES_URL ${TGZPATH}/${EXAMPLES_NAME})
file (COPY_FILE ${EXAMPLES_URL} ${HDF5_BINARY_DIR}/${HDF5_EXAMPLES_COMPRESSED} RESULT EX_DL)
message (STATUS "Examples file is ${EXAMPLES_URL} RESULT=${EX_DL}")
endif ()
if (EXISTS "${HDF5_BINARY_DIR}/${HDF5_EXAMPLES_COMPRESSED}")
execute_process(
COMMAND ${CMAKE_COMMAND} -E tar xzf ${HDF5_EXAMPLES_COMPRESSED}
WORKING_DIRECTORY ${HDF5_BINARY_DIR}
COMMAND_ECHO STDOUT
)
endif ()
else ()
if (EXISTS "${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}")
execute_process(
COMMAND ${CMAKE_COMMAND} -E tar xzf ${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}
WORKING_DIRECTORY ${HDF5_BINARY_DIR}
COMMAND_ECHO STDOUT
)
endif ()
endif ()
get_filename_component (EX_LAST_EXT ${HDF5_EXAMPLES_COMPRESSED} LAST_EXT)
if (${EX_LAST_EXT} STREQUAL ".zip")
get_filename_component (EX_DIR_NAME ${HDF5_EXAMPLES_COMPRESSED} NAME_WLE)
else ()
get_filename_component (EX_DIR_NAME ${HDF5_EXAMPLES_COMPRESSED} NAME_WLE)
get_filename_component (EX_DIR_NAME ${EX_DIR_NAME} NAME_WLE)
endif ()
execute_process(
COMMAND ${CMAKE_COMMAND} -E rename ${EX_DIR_NAME} HDF5Examples
WORKING_DIRECTORY ${HDF5_BINARY_DIR}
COMMAND_ECHO STDOUT
)
install (
DIRECTORY ${HDF5_BINARY_DIR}/HDF5Examples
DIRECTORY ${HDF5_SOURCE_DIR}/HDF5Examples
DESTINATION ${HDF5_INSTALL_DATA_DIR}
USE_SOURCE_PERMISSIONS
COMPONENT hdfdocuments
+27 -19
View File
@@ -220,7 +220,7 @@ set (HDF5_CPP_TST_DIR ${HDF5_SOURCE_DIR}/c++/test)
set (HDF5_HL_SRC_DIR ${HDF5_SOURCE_DIR}/hl)
set (HDF5_HL_CPP_SRC_DIR ${HDF5_SOURCE_DIR}/hl/c++)
set (HDF5_HL_TOOLS_DIR ${HDF5_SOURCE_DIR}/hl/tools)
set (HDF5_TOOLS_DIR ${HDF5_SOURCE_DIR}/tools)
set (HDF5_TOOLS_ROOT_DIR ${HDF5_SOURCE_DIR}/tools)
set (HDF5_TOOLS_SRC_DIR ${HDF5_SOURCE_DIR}/tools/src)
set (HDF5_TOOLS_TST_DIR ${HDF5_SOURCE_DIR}/tools/test)
set (HDF5_PERFORM_SRC_DIR ${HDF5_SOURCE_DIR}/tools/src/perform)
@@ -418,6 +418,7 @@ set (HDF5_PACKAGE_BUGREPORT "help@hdfgroup.org")
set (HDF5_VERSION_STRING ${HDF5_PACKAGE_VERSION})
set (HDF5_VERSION_MAJOR ${HDF5_PACKAGE_VERSION_MAJOR})
set (HDF5_VERSION_MINOR ${HDF5_PACKAGE_VERSION_MINOR})
set (H5_LIBVER_DIR ${H5_VERS_MAJOR}${H5_VERS_MINOR})
#-----------------------------------------------------------------------------
# Include some macros for reusable code
@@ -1018,25 +1019,20 @@ endif ()
#-----------------------------------------------------------------------------
# Include filter plugins
#-----------------------------------------------------------------------------
include (CMakePlugins.cmake)
if (${H5_LIBVER_DIR} EQUAL 16 OR DEFAULT_API_VERSION MATCHES "v16")
set (HDF5_ENABLE_PLUGIN_SUPPORT OFF CACHE BOOL "" FORCE)
message (VERBOSE "Filter PLUGINs cannot be used with 1.6 API")
else ()
include (CMakePlugins.cmake)
if (HDF5_PACKAGE_EXTLIBS AND NOT HDF5_NO_PACKAGES)
if (HDF5_ENABLE_PLUGIN_SUPPORT AND PLUGIN_FOUND)
PACKAGE_PLUGIN_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
# option (HDF5_TEST_PLUGIN "Execute plugin tests" ON)
# mark_as_advanced (HDF5_TEST_PLUGIN)
if (HDF5_PACKAGE_EXTLIBS AND NOT HDF5_NO_PACKAGES)
if (HDF5_ENABLE_PLUGIN_SUPPORT AND PLUGIN_FOUND)
PACKAGE_PLUGIN_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
# option (HDF5_TEST_PLUGIN "Execute plugin tests" ON)
# mark_as_advanced (HDF5_TEST_PLUGIN)
# TEST_PLUGIN_LIBRARY ()
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to build examples
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
option (HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" ON)
if (HDF5_BUILD_EXAMPLES)
add_subdirectory (examples)
# TEST_PLUGIN_LIBRARY ()
endif ()
endif ()
endif ()
@@ -1052,7 +1048,7 @@ if (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
endif ()
#-----------------------------------------------------------------------------
# Option to build Fortran bindings/tests/examples
# Option to build Fortran bindings/tests
# Make sure this appears before the CONFIGURE_FILE step
# so that fortran name mangling is detected before writing H5pubconf.h
#-----------------------------------------------------------------------------
@@ -1150,6 +1146,18 @@ if (EXISTS "${HDF5_SOURCE_DIR}/java" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/java")
endif ()
endif ()
#-----------------------------------------------------------------------------
# Option to build examples
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/HDF5Examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/HDF5Examples")
option (HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" ON)
if (HDF5_BUILD_EXAMPLES)
include (${HDF_RESOURCES_DIR}/HDF5ExampleCache.cmake)
set (HDF5_VERSION ${HDF5_PACKAGE_VERSION})
add_subdirectory (HDF5Examples)
endif ()
endif ()
#-----------------------------------------------------------------------------
# Generate the H5pubconf.h file containing user settings needed by compilation
#-----------------------------------------------------------------------------
+48 -13
View File
@@ -84,23 +84,11 @@
"PLUGIN_USE_LOCALCONTENT": "OFF"
}
},
{
"name": "ci-ExamplesVars",
"hidden": true,
"cacheVariables": {
"HDF5_EXAMPLES_COMPRESSED": {"type": "STRING", "value": "hdf5-examples-master.tar.gz"},
"HDF5_EXAMPLES_COMPRESSED_DIR": {"type": "PATH", "value": "${sourceParentDir}/temp"},
"EXAMPLES_TGZ_ORIGPATH": {"type": "STRING", "value": "https://github.com/HDFGroup/hdf5-examples/releases/download/snapshot"},
"EXAMPLES_TGZ_ORIGNAME": {"type": "STRING", "value": "hdf5-examples-2.0.4.tar.gz"}
}
},
{
"name": "ci-StdExamples",
"hidden": true,
"inherits": ["ci-base", "ci-ExamplesVars", "ci-base-tgz"],
"inherits": ["ci-base", "ci-base-tgz"],
"cacheVariables": {
"EXAMPLES_USE_RELEASE_NAME": "ON",
"EXAMPLES_USE_LOCALCONTENT": "OFF",
"HDF5_PACK_EXAMPLES": "ON",
"EXAMPLES_DOWNLOAD": "ON"
}
@@ -160,6 +148,17 @@
"ci-Java",
"ci-StdShar"
]
},
{
"name": "ci-StdShar-Intel",
"description": "Intel Standard Config for x64 (Release)",
"inherits": [
"ci-x64-Release-Intel",
"ci-CPP",
"ci-Fortran",
"ci-Java",
"ci-StdShar"
]
}
],
"buildPresets": [
@@ -187,6 +186,15 @@
"inherits": [
"ci-x64-Release-GNUC"
]
},
{
"name": "ci-StdShar-Intel",
"description": "Intel Standard Build for x64 (Release)",
"configurePreset": "ci-StdShar-Intel",
"verbose": true,
"inherits": [
"ci-x64-Release-Intel"
]
}
],
"testPresets": [
@@ -215,6 +223,18 @@
"inherits": [
"ci-x64-Release-GNUC"
]
},
{
"name": "ci-StdShar-Intel",
"configurePreset": "ci-StdShar-Intel",
"inherits": [
"ci-x64-Release-Intel"
],
"filter": {
"exclude": {
"name": "H5DUMP-tfloatsattrs"
}
}
}
],
"packagePresets": [
@@ -232,6 +252,11 @@
"name": "ci-StdShar-GNUC",
"configurePreset": "ci-StdShar-GNUC",
"inherits": "ci-x64-Release-GNUC"
},
{
"name": "ci-StdShar-Intel",
"configurePreset": "ci-StdShar-Intel",
"inherits": "ci-x64-Release-Intel"
}
],
"workflowPresets": [
@@ -261,6 +286,16 @@
{"type": "test", "name": "ci-StdShar-GNUC"},
{"type": "package", "name": "ci-StdShar-GNUC"}
]
},
{
"name": "ci-StdShar-Intel",
"steps": [
{"type": "configure", "name": "ci-StdShar-Intel"},
{"type": "build", "name": "ci-StdShar-Intel"},
{"type": "test", "name": "ci-StdShar-Intel"},
{"type": "package", "name": "ci-StdShar-Intel"}
]
}
]
}
+24
View File
@@ -0,0 +1,24 @@
cmake_minimum_required (VERSION 3.12)
PROJECT (HDF5Examples_C)
#-----------------------------------------------------------------------------
# Build the C Examples
#-----------------------------------------------------------------------------
add_subdirectory (${PROJECT_SOURCE_DIR}/H5D)
add_subdirectory (${PROJECT_SOURCE_DIR}/H5G)
add_subdirectory (${PROJECT_SOURCE_DIR}/H5T)
if (${H5_LIBVER_DIR} GREATER 16)
# add_subdirectory (${PROJECT_SOURCE_DIR}/Perf)
if (USE_SHARED_LIBS AND HDF_BUILD_FILTERS AND HDF5_ENABLE_PLUGIN_SUPPORT)
add_subdirectory (${PROJECT_SOURCE_DIR}/H5FLT)
endif ()
endif ()
if (${H5_LIBVER_DIR} GREATER 110)
add_subdirectory (${PROJECT_SOURCE_DIR}/H5VDS)
endif ()
if (H5_HAVE_PARALLEL AND HDF5_ENABLE_PARALLEL)
add_subdirectory (${PROJECT_SOURCE_DIR}/H5PAR)
endif ()
+137
View File
@@ -0,0 +1,137 @@
/************************************************************
This example shows how to set the space allocation time
for a dataset. The program first creates two datasets,
one with the default allocation time (late) and one with
early allocation time, and displays whether each has been
allocated and their allocation size. Next, it writes data
to the datasets, and again displays whether each has been
allocated and their allocation size.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_alloc.h5"
#define DATASET1 "DS1"
#define DATASET2 "DS2"
#define DIM0 4
#define DIM1 7
#define FILLVAL 99
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset1 = H5I_INVALID_HID;
hid_t dset2 = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
/* Handles */
herr_t status;
H5D_space_status_t space_status;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t storage_size;
int wdata[DIM0][DIM1]; /* Write buffer */
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, and set the chunk
* size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
/*
* Set the allocation time to "early". This way we can be sure
* that reading from the dataset immediately after creation will
* return the fill value.
*/
status = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY);
printf("Creating datasets...\n");
printf("%s has allocation time H5D_ALLOC_TIME_LATE\n", DATASET1);
printf("%s has allocation time H5D_ALLOC_TIME_EARLY\n\n", DATASET2);
/*
* Create the dataset using the dataset creation property list.
*/
dset1 = H5Dcreate(file, DATASET1, H5T_STD_I32LE, space, H5P_DEFAULT);
dset2 = H5Dcreate(file, DATASET2, H5T_STD_I32LE, space, dcpl);
/*
* Retrieve and print space status and storage size for dset1.
*/
status = H5Dget_space_status(dset1, &space_status);
storage_size = H5Dget_storage_size(dset1);
printf("Space for %s has%sbeen allocated.\n", DATASET1,
space_status == H5D_SPACE_STATUS_ALLOCATED ? " " : " not ");
printf("Storage size for %s is: %ld bytes.\n", DATASET1, (long)storage_size);
/*
* Retrieve and print space status and storage size for dset2.
*/
status = H5Dget_space_status(dset2, &space_status);
storage_size = H5Dget_storage_size(dset2);
printf("Space for %s has%sbeen allocated.\n", DATASET2,
space_status == H5D_SPACE_STATUS_ALLOCATED ? " " : " not ");
printf("Storage size for %s is: %ld bytes.\n", DATASET2, (long)storage_size);
printf("\nWriting data...\n\n");
/*
* Write the data to the datasets.
*/
status = H5Dwrite(dset1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
status = H5Dwrite(dset2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Retrieve and print space status and storage size for dset1.
*/
status = H5Dget_space_status(dset1, &space_status);
storage_size = H5Dget_storage_size(dset1);
printf("Space for %s has%sbeen allocated.\n", DATASET1,
space_status == H5D_SPACE_STATUS_ALLOCATED ? " " : " not ");
printf("Storage size for %s is: %ld bytes.\n", DATASET1, (long)storage_size);
/*
* Retrieve and print space status and storage size for dset2.
*/
status = H5Dget_space_status(dset2, &space_status);
storage_size = H5Dget_storage_size(dset2);
printf("Space for %s has%sbeen allocated.\n", DATASET2,
space_status == H5D_SPACE_STATUS_ALLOCATED ? " " : " not ");
printf("Storage size for %s is: %ld bytes.\n", DATASET2, (long)storage_size);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset1);
status = H5Dclose(dset2);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+187
View File
@@ -0,0 +1,187 @@
/************************************************************
This example shows how to read and write data to a dataset
using the Fletcher32 checksum filter. The program first
checks if the Fletcher32 filter is available, then if it
is it writes integers to a dataset using Fletcher32, then
closes the file. Next, it reopens the file, reads back
the data, checks if the filter detected an error and
outputs the type of filter and the maximum value in the
dataset to the screen.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_checksum.h5"
#define DATASET "DS1"
#define DIM0 32
#define DIM1 64
#define CHUNK0 4
#define CHUNK1 8
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
/* Handles */
herr_t status;
htri_t avail;
H5Z_filter_t filter_type;
hsize_t dims[2] = {DIM0, DIM1}, chunk[2] = {CHUNK0, CHUNK1};
size_t nelmts;
unsigned int flags, filter_info;
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
int max;
hsize_t i, j;
/*
* Check if the Fletcher32 filter is available and can be used for
* both encoding and decoding. Normally we do not perform error
* checking in these examples for the sake of clarity, but in this
* case we will make an exception because this filter is an
* optional part of the hdf5 library.
*/
avail = H5Zfilter_avail(H5Z_FILTER_FLETCHER32);
if (!avail) {
printf("Fletcher32 filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_FLETCHER32, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("Fletcher32 filter not available for encoding and decoding.\n");
return 1;
}
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, add the Fletcher32 filter
* and set the chunk size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_fletcher32(dcpl);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, dcpl);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve and print the filter type. Here we only retrieve the
* first filter because we know that we only added one filter.
*/
nelmts = 0;
filter_type = H5Pget_filter(dcpl, 0, &flags, &nelmts, NULL, 0, NULL);
printf("Filter type is: ");
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
printf("H5Z_FILTER_DEFLATE\n");
break;
case H5Z_FILTER_SHUFFLE:
printf("H5Z_FILTER_SHUFFLE\n");
break;
case H5Z_FILTER_FLETCHER32:
printf("H5Z_FILTER_FLETCHER32\n");
break;
case H5Z_FILTER_SZIP:
printf("H5Z_FILTER_SZIP\n");
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Check if the read was successful. Normally we do not perform
* error checking in these examples for the sake of clarity, but in
* this case we will make an exception because this is how the
* fletcher32 checksum filter reports data errors.
*/
if (status < 0) {
fprintf(stderr, "Dataset read failed!\n");
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 2;
}
/*
* Find the maximum value in the dataset, to verify that it was
* read correctly.
*/
max = rdata[0][0];
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
if (max < rdata[i][j])
max = rdata[i][j];
/*
* Print the maximum value.
*/
printf("Maximum value in %s is: %d\n", DATASET, max);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+212
View File
@@ -0,0 +1,212 @@
/************************************************************
This example shows how to create a chunked dataset. The
program first writes integers in a hyperslab selection to
a chunked dataset with dataspace dimensions of DIM0xDIM1
and chunk size of CHUNK0xCHUNK1, then closes the file.
Next, it reopens the file, reads back the data, and
outputs it to the screen. Finally it reads the data again
using a different hyperslab selection, and outputs
the result to the screen.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_chunk.h5"
#define DATASET "DS1"
#define DIM0 6
#define DIM1 8
#define CHUNK0 4
#define CHUNK1 4
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
H5D_layout_t layout;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t chunk[2] = {CHUNK0, CHUNK1};
hsize_t start[2];
hsize_t stride[2];
hsize_t count[2];
hsize_t block[2];
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
hsize_t i, j;
/*
* Initialize data to "1", to make it easier to see the selections.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = 1;
/*
* Print the data to the screen.
*/
printf("Original Data:\n");
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", wdata[i][j]);
printf("]\n");
}
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, and set the chunk
* size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the chunked dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, dcpl);
/*
* Define and select the first part of the hyperslab selection.
*/
start[0] = 0;
start[1] = 0;
stride[0] = 3;
stride[1] = 3;
count[0] = 2;
count[1] = 3;
block[0] = 2;
block[1] = 2;
status = H5Sselect_hyperslab(space, H5S_SELECT_SET, start, stride, count, block);
/*
* Define and select the second part of the hyperslab selection,
* which is subtracted from the first selection by the use of
* H5S_SELECT_NOTB
*/
block[0] = 1;
block[1] = 1;
status = H5Sselect_hyperslab(space, H5S_SELECT_NOTB, start, stride, count, block);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, space, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Retrieve the dataset creation property list, and print the
* storage layout.
*/
dcpl = H5Dget_create_plist(dset);
layout = H5Pget_layout(dcpl);
printf("\nStorage layout for %s is: ", DATASET);
switch (layout) {
case H5D_COMPACT:
printf("H5D_COMPACT\n");
break;
case H5D_CONTIGUOUS:
printf("H5D_CONTIGUOUS\n");
break;
case H5D_CHUNKED:
printf("H5D_CHUNKED\n");
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nData as written to disk by hyberslabs:\n");
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Initialize the read array.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
rdata[i][j] = 0;
/*
* Define and select the hyperslab to use for reading.
*/
space = H5Dget_space(dset);
start[0] = 0;
start[1] = 1;
stride[0] = 4;
stride[1] = 4;
count[0] = 2;
count[1] = 2;
block[0] = 2;
block[1] = 3;
status = H5Sselect_hyperslab(space, H5S_SELECT_SET, start, stride, count, block);
/*
* Read the data using the previously defined hyperslab.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, space, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nData as read from disk by hyperslab:\n");
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+132
View File
@@ -0,0 +1,132 @@
/************************************************************
This example shows how to read and write data to a compact
dataset. The program first writes integers to a compact
dataset with dataspace dimensions of DIM0xDIM1, then
closes the file. Next, it reopens the file, reads back
the data, and outputs it to the screen.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_compact.h5"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
H5D_layout_t layout;
hsize_t dims[2] = {DIM0, DIM1};
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, set the layout to
* compact.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_layout(dcpl, H5D_COMPACT);
/*
* Create the dataset. We will use all default properties for this
* example.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, dcpl);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Retrieve the dataset creation property list, and print the
* storage layout.
*/
dcpl = H5Dget_create_plist(dset);
layout = H5Pget_layout(dcpl);
printf("Storage layout for %s is: ", DATASET);
switch (layout) {
case H5D_COMPACT:
printf("H5D_COMPACT\n");
break;
case H5D_CONTIGUOUS:
printf("H5D_CONTIGUOUS\n");
break;
case H5D_CHUNKED:
printf("H5D_CHUNKED\n");
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("%s:\n", DATASET);
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+130
View File
@@ -0,0 +1,130 @@
/************************************************************
This example shows how to read and write data to an
external dataset. The program first writes integers to an
external dataset with dataspace dimensions of DIM0xDIM1,
then closes the file. Next, it reopens the file, reads
back the data, and outputs the name of the external data
file and the data to the screen.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_extern.h5"
#define EXTERNAL "h5ex_d_extern.data"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
#define NAME_BUF_SIZE 32
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
hsize_t dims[2] = {DIM0, DIM1};
char name[NAME_BUF_SIZE];
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, set the external
* file.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_external(dcpl, EXTERNAL, 0, H5F_UNLIMITED);
/*
* Create the external dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, dcpl);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve and print the name of the external file. Here we
* manually set the last field in name to null, in case the name of
* the file is longer than the buffer.
*/
status = H5Pget_external(dcpl, 0, NAME_BUF_SIZE, name, NULL, NULL);
name[NAME_BUF_SIZE - 1] = '\0';
printf("%s is stored in file: %s\n", DATASET, name);
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("%s:\n", DATASET);
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+157
View File
@@ -0,0 +1,157 @@
/************************************************************
This example shows how to set the fill value for a
dataset. The program first sets the fill value to
FILLVAL, creates a dataset with dimensions of DIM0xDIM1,
reads from the uninitialized dataset, and outputs the
contents to the screen. Next, it writes integers to the
dataset, reads the data back, and outputs it to the
screen. Finally it extends the dataset, reads from it,
and outputs the result to the screen.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_fillval.h5"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
#define EDIM0 6
#define EDIM1 10
#define CHUNK0 4
#define CHUNK1 4
#define FILLVAL 99
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t extdims[2] = {EDIM0, EDIM1};
hsize_t maxdims[2] = {H5S_UNLIMITED, H5S_UNLIMITED};
hsize_t chunk[2] = {CHUNK0, CHUNK1};
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
int rdata2[EDIM0][EDIM1]; /* Read buffer for extension */
int fillval;
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace with unlimited dimensions.
*/
space = H5Screate_simple(2, dims, maxdims);
/*
* Create the dataset creation property list, and set the chunk
* size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Set the fill value for the dataset.
*/
fillval = FILLVAL;
status = H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval);
/*
* Set the allocation time to "early". This way we can be sure
* that reading from the dataset immediately after creation will
* return the fill value.
*/
status = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY);
/*
* Create the dataset using the dataset creation property list.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, dcpl);
/*
* Read values from the dataset, which has not been written to yet.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("Dataset before being written to:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Read the data back.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nDataset after being written to:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Extend the dataset.
*/
status = H5Dset_extent(dset, extdims);
/*
* Read from the extended dataset.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata2[0]);
/*
* Output the data to the screen.
*/
printf("\nDataset after extension:\n");
for (i = 0; i < extdims[0]; i++) {
printf(" [");
for (j = 0; j < extdims[1]; j++)
printf(" %3d", rdata2[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+173
View File
@@ -0,0 +1,173 @@
/************************************************************
This example shows how to read and write data to a dataset
using gzip compression (also called zlib or deflate). The
program first checks if gzip compression is available,
then if it is it writes integers to a dataset using gzip,
then closes the file. Next, it reopens the file, reads
back the data, and outputs the type of compression and the
maximum value in the dataset to the screen.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_gzip.h5"
#define DATASET "DS1"
#define DIM0 32
#define DIM1 64
#define CHUNK0 4
#define CHUNK1 8
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
htri_t avail;
H5Z_filter_t filter_type;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t chunk[2] = {CHUNK0, CHUNK1};
size_t nelmts;
unsigned int flags;
unsigned int filter_info;
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
int max;
hsize_t i, j;
/*
* Check if gzip compression is available and can be used for both
* compression and decompression. Normally we do not perform error
* checking in these examples for the sake of clarity, but in this
* case we will make an exception because this filter is an
* optional part of the hdf5 library.
*/
avail = H5Zfilter_avail(H5Z_FILTER_DEFLATE);
if (!avail) {
printf("gzip filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_DEFLATE, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("gzip filter not available for encoding and decoding.\n");
return 1;
}
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, add the gzip
* compression filter and set the chunk size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_deflate(dcpl, 9);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, dcpl);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve and print the filter type. Here we only retrieve the
* first filter because we know that we only added one filter.
*/
nelmts = 0;
filter_type = H5Pget_filter(dcpl, 0, &flags, &nelmts, NULL, 0, NULL);
printf("Filter type is: ");
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
printf("H5Z_FILTER_DEFLATE\n");
break;
case H5Z_FILTER_SHUFFLE:
printf("H5Z_FILTER_SHUFFLE\n");
break;
case H5Z_FILTER_FLETCHER32:
printf("H5Z_FILTER_FLETCHER32\n");
break;
case H5Z_FILTER_SZIP:
printf("H5Z_FILTER_SZIP\n");
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Find the maximum value in the dataset, to verify that it was
* read correctly.
*/
max = rdata[0][0];
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
if (max < rdata[i][j])
max = rdata[i][j];
/*
* Print the maximum value.
*/
printf("Maximum value in %s is: %d\n", DATASET, max);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+181
View File
@@ -0,0 +1,181 @@
/************************************************************
This example shows how to read and write data to a
dataset by hyberslabs. The program first writes integers
in a hyperslab selection to a dataset with dataspace
dimensions of DIM0xDIM1, then closes the file. Next, it
reopens the file, reads back the data, and outputs it to
the screen. Finally it reads the data again using a
different hyperslab selection, and outputs the result to
the screen.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_hyper.h5"
#define DATASET "DS1"
#define DIM0 6
#define DIM1 8
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
herr_t status;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t start[2];
hsize_t stride[2];
hsize_t count[2];
hsize_t block[2];
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
hsize_t i, j;
/*
* Initialize data to "1", to make it easier to see the selections.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = 1;
/*
* Print the data to the screen.
*/
printf("Original Data:\n");
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", wdata[i][j]);
printf("]\n");
}
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset. We will use all default properties for this
* example.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT);
/*
* Define and select the first part of the hyperslab selection.
*/
start[0] = 0;
start[1] = 0;
stride[0] = 3;
stride[1] = 3;
count[0] = 2;
count[1] = 3;
block[0] = 2;
block[1] = 2;
status = H5Sselect_hyperslab(space, H5S_SELECT_SET, start, stride, count, block);
/*
* Define and select the second part of the hyperslab selection,
* which is subtracted from the first selection by the use of
* H5S_SELECT_NOTB
*/
block[0] = 1;
block[1] = 1;
status = H5Sselect_hyperslab(space, H5S_SELECT_NOTB, start, stride, count, block);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, space, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nData as written to disk by hyberslabs:\n");
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Initialize the read array.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
rdata[i][j] = 0;
/*
* Define and select the hyperslab to use for reading.
*/
space = H5Dget_space(dset);
start[0] = 0;
start[1] = 1;
stride[0] = 4;
stride[1] = 4;
count[0] = 2;
count[1] = 2;
block[0] = 2;
block[1] = 3;
status = H5Sselect_hyperslab(space, H5S_SELECT_SET, start, stride, count, block);
/*
* Read the data using the previously defined hyperslab.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, space, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nData as read from disk by hyperslab:\n");
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+103
View File
@@ -0,0 +1,103 @@
/************************************************************
This example shows how to read and write data to a
dataset. The program first writes integers to a dataset
with dataspace dimensions of DIM0xDIM1, then closes the
file. Next, it reopens the file, reads back the data, and
outputs it to the screen.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_rdwr.h5"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
herr_t status;
hsize_t dims[2] = {DIM0, DIM1};
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset. We will use all default properties for this
* example.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("%s:\n", DATASET);
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+198
View File
@@ -0,0 +1,198 @@
/************************************************************
This example shows how to read and write data to a dataset
using the shuffle filter with gzip compression. The
program first checks if the shuffle and gzip filters are
available, then if they are it writes integers to a
dataset using shuffle+gzip, then closes the file. Next,
it reopens the file, reads back the data, and outputs the
types of filters and the maximum value in the dataset to
the screen.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_shuffle.h5"
#define DATASET "DS1"
#define DIM0 32
#define DIM1 64
#define CHUNK0 4
#define CHUNK1 8
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
htri_t avail;
H5Z_filter_t filter_type;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t chunk[2] = {CHUNK0, CHUNK1};
size_t nelmts;
unsigned int flags;
unsigned int filter_info;
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
int max, nfilters;
int i, j;
/*
* Check if gzip compression is available and can be used for both
* compression and decompression. Normally we do not perform error
* checking in these examples for the sake of clarity, but in this
* case we will make an exception because this filter is an
* optional part of the hdf5 library.
*/
avail = H5Zfilter_avail(H5Z_FILTER_DEFLATE);
if (!avail) {
printf("gzip filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_DEFLATE, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("gzip filter not available for encoding and decoding.\n");
return 1;
}
/*
* Similarly, check for availability of the shuffle filter.
*/
avail = H5Zfilter_avail(H5Z_FILTER_SHUFFLE);
if (!avail) {
printf("Shuffle filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_SHUFFLE, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("Shuffle filter not available for encoding and decoding.\n");
return 1;
}
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, add the shuffle
* filter and the gzip compression filter and set the chunk size.
* The order in which the filters are added here is significant -
* we will see much greater results when the shuffle is applied
* first. The order in which the filters are added to the property
* list is the order in which they will be invoked when writing
* data.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_shuffle(dcpl);
status = H5Pset_deflate(dcpl, 9);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, dcpl);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve the number of filters, and retrieve and print the
* type of each.
*/
nfilters = H5Pget_nfilters(dcpl);
for (i = 0; i < nfilters; i++) {
nelmts = 0;
filter_type = H5Pget_filter(dcpl, i, &flags, &nelmts, NULL, 0, NULL);
printf("Filter %d: Type is: ", i);
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
printf("H5Z_FILTER_DEFLATE\n");
break;
case H5Z_FILTER_SHUFFLE:
printf("H5Z_FILTER_SHUFFLE\n");
break;
case H5Z_FILTER_FLETCHER32:
printf("H5Z_FILTER_FLETCHER32\n");
break;
case H5Z_FILTER_SZIP:
printf("H5Z_FILTER_SZIP\n");
}
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Find the maximum value in the dataset, to verify that it was
* read correctly.
*/
max = rdata[0][0];
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
if (max < rdata[i][j])
max = rdata[i][j];
/*
* Print the maximum value.
*/
printf("Maximum value in %s is: %d\n", DATASET, max);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+174
View File
@@ -0,0 +1,174 @@
/************************************************************
This example shows how to read and write data to a dataset
using szip compression. The program first checks if
szip compression is available, then if it is it writes
integers to a dataset using szip, then closes the file.
Next, it reopens the file, reads back the data, and
outputs the type of compression and the maximum value in
the dataset to the screen.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_szip.h5"
#define DATASET "DS1"
#define DIM0 32
#define DIM1 64
#define CHUNK0 4
#define CHUNK1 8
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
htri_t avail;
H5Z_filter_t filter_type;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t chunk[2] = {CHUNK0, CHUNK1};
size_t nelmts;
unsigned int flags;
unsigned int filter_info;
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
int max;
hsize_t i, j;
/*
* Check if szip compression is available and can be used for both
* compression and decompression. Normally we do not perform error
* checking in these examples for the sake of clarity, but in this
* case we will make an exception because this filter is an
* optional part of the hdf5 library.
*/
avail = H5Zfilter_avail(H5Z_FILTER_SZIP);
if (!avail) {
printf("szip filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_SZIP, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("szip filter not available for encoding and decoding.\n");
return 1;
}
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, add the szip
* compression filter and set the chunk size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_szip(dcpl, H5_SZIP_NN_OPTION_MASK, 8);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, dcpl);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve and print the filter type. Here we only retrieve the
* first filter because we know that we only added one filter.
*/
nelmts = 0;
filter_type = H5Pget_filter(dcpl, 0, &flags, &nelmts, NULL, 0, NULL);
printf("Filter type is: ");
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
printf("H5Z_FILTER_DEFLATE\n");
break;
case H5Z_FILTER_SHUFFLE:
printf("H5Z_FILTER_SHUFFLE\n");
break;
case H5Z_FILTER_FLETCHER32:
printf("H5Z_FILTER_FLETCHER32\n");
break;
case H5Z_FILTER_SZIP:
printf("H5Z_FILTER_SZIP\n");
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Find the maximum value in the dataset, to verify that it was
* read correctly.
*/
max = rdata[0][0];
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
if (max < rdata[i][j])
max = rdata[i][j];
/*
* Print the maximum value.
*/
printf("Maximum value in %s is: %d\n", DATASET, max);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+239
View File
@@ -0,0 +1,239 @@
/************************************************************
This example shows how to create and extend an unlimited
dataset. The program first writes integers to a dataset
with dataspace dimensions of DIM0xDIM1, then closes the
file. Next, it reopens the file, reads back the data,
outputs it to the screen, extends the dataset, and writes
new data to the extended portions of the dataset. Finally
it reopens the file again, reads back the data, and
outputs it to the screen.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_unlimadd.h5"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
#define EDIM0 6
#define EDIM1 10
#define CHUNK0 4
#define CHUNK1 4
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t extdims[2] = {EDIM0, EDIM1};
hsize_t maxdims[2];
hsize_t chunk[2] = {CHUNK0, CHUNK1};
hsize_t start[2];
hsize_t count[2];
int wdata[DIM0][DIM1]; /* Write buffer */
int wdata2[EDIM0][EDIM1]; /* Write buffer for extension */
int **rdata = NULL; /* Read buffer */
int ndims;
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace with unlimited dimensions.
*/
maxdims[0] = H5S_UNLIMITED;
maxdims[1] = H5S_UNLIMITED;
space = H5Screate_simple(2, dims, maxdims);
/*
* Create the dataset creation property list, and set the chunk
* size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the unlimited dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, dcpl);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* In this next section we read back the data, extend the dataset,
* and write new data to the extended portions.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDWR, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Get dataspace and allocate memory for read buffer. This is a
* two dimensional dataset so the dynamic allocation must be done
* in steps.
*/
space = H5Dget_space(dset);
ndims = H5Sget_simple_extent_dims(space, dims, NULL);
/*
* Allocate array of pointers to rows.
*/
rdata = (int **)malloc(dims[0] * sizeof(int *));
/*
* Allocate space for integer data.
*/
rdata[0] = (int *)malloc(dims[0] * dims[1] * sizeof(int));
/*
* Set the rest of the pointers to rows to the correct addresses.
*/
for (i = 1; i < dims[0]; i++)
rdata[i] = rdata[0] + i * dims[1];
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("Dataset before extension:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
status = H5Sclose(space);
/*
* Extend the dataset.
*/
status = H5Dextend(dset, extdims);
/*
* Retrieve the dataspace for the newly extended dataset.
*/
space = H5Dget_space(dset);
/*
* Initialize data for writing to the extended dataset.
*/
for (i = 0; i < EDIM0; i++)
for (j = 0; j < EDIM1; j++)
wdata2[i][j] = j;
/*
* Select the entire dataspace.
*/
status = H5Sselect_all(space);
/*
* Subtract a hyperslab reflecting the original dimensions from the
* selection. The selection now contains only the newly extended
* portions of the dataset.
*/
start[0] = 0;
start[1] = 0;
count[0] = dims[0];
count[1] = dims[1];
status = H5Sselect_hyperslab(space, H5S_SELECT_NOTB, start, NULL, count, NULL);
/*
* Write the data to the selected portion of the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, space, H5P_DEFAULT, wdata2[0]);
/*
* Close and release resources.
*/
free(rdata[0]);
free(rdata);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we simply read back the data and output it to the screen.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Get dataspace and allocate memory for the read buffer as before.
*/
space = H5Dget_space(dset);
ndims = H5Sget_simple_extent_dims(space, dims, NULL);
rdata = (int **)malloc(dims[0] * sizeof(int *));
rdata[0] = (int *)malloc(dims[0] * dims[1] * sizeof(int));
for (i = 1; i < dims[0]; i++)
rdata[i] = rdata[0] + i * dims[1];
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nDataset after extension:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
free(rdata[0]);
free(rdata);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+291
View File
@@ -0,0 +1,291 @@
/************************************************************
This example shows how to create and extend an unlimited
dataset with gzip compression. The program first writes
integers to a gzip compressed dataset with dataspace
dimensions of DIM0xDIM1, then closes the file. Next, it
reopens the file, reads back the data, outputs it to the
screen, extends the dataset, and writes new data to the
extended portions of the dataset. Finally it reopens the
file again, reads back the data, and outputs it to the
screen.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_unlimgzip.h5"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
#define EDIM0 6
#define EDIM1 10
#define CHUNK0 4
#define CHUNK1 4
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
htri_t avail;
H5Z_filter_t filter_type;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t extdims[2] = {EDIM0, EDIM1};
hsize_t maxdims[2];
hsize_t chunk[2] = {CHUNK0, CHUNK1};
hsize_t start[2];
hsize_t count[2];
size_t nelmts;
unsigned int flags, filter_info;
int wdata[DIM0][DIM1]; /* Write buffer */
int wdata2[EDIM0][EDIM1]; /* Write buffer for extension */
int **rdata = NULL; /* Read buffer */
int ndims;
hsize_t i, j;
/*
* Check if gzip compression is available and can be used for both
* compression and decompression. Normally we do not perform error
* checking in these examples for the sake of clarity, but in this
* case we will make an exception because this filter is an
* optional part of the hdf5 library.
*/
avail = H5Zfilter_avail(H5Z_FILTER_DEFLATE);
if (!avail) {
printf("gzip filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_DEFLATE, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("gzip filter not available for encoding and decoding.\n");
return 1;
}
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace with unlimited dimensions.
*/
maxdims[0] = H5S_UNLIMITED;
maxdims[1] = H5S_UNLIMITED;
space = H5Screate_simple(2, dims, maxdims);
/*
* Create the dataset creation property list, add the gzip
* compression filter and set the chunk size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_deflate(dcpl, 9);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the compressed unlimited dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, dcpl);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* In this next section we read back the data, extend the dataset,
* and write new data to the extended portions.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDWR, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Get dataspace and allocate memory for read buffer. This is a
* two dimensional dataset so the dynamic allocation must be done
* in steps.
*/
space = H5Dget_space(dset);
ndims = H5Sget_simple_extent_dims(space, dims, NULL);
/*
* Allocate array of pointers to rows.
*/
rdata = (int **)malloc(dims[0] * sizeof(int *));
/*
* Allocate space for integer data.
*/
rdata[0] = (int *)malloc(dims[0] * dims[1] * sizeof(int));
/*
* Set the rest of the pointers to rows to the correct addresses.
*/
for (i = 1; i < dims[0]; i++)
rdata[i] = rdata[0] + i * dims[1];
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("Dataset before extension:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
status = H5Sclose(space);
/*
* Extend the dataset.
*/
status = H5Dextend(dset, extdims);
/*
* Retrieve the dataspace for the newly extended dataset.
*/
space = H5Dget_space(dset);
/*
* Initialize data for writing to the extended dataset.
*/
for (i = 0; i < EDIM0; i++)
for (j = 0; j < EDIM1; j++)
wdata2[i][j] = j;
/*
* Select the entire dataspace.
*/
status = H5Sselect_all(space);
/*
* Subtract a hyperslab reflecting the original dimensions from the
* selection. The selection now contains only the newly extended
* portions of the dataset.
*/
start[0] = 0;
start[1] = 0;
count[0] = dims[0];
count[1] = dims[1];
status = H5Sselect_hyperslab(space, H5S_SELECT_NOTB, start, NULL, count, NULL);
/*
* Write the data to the selected portion of the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, space, H5P_DEFAULT, wdata2[0]);
/*
* Close and release resources.
*/
free(rdata[0]);
free(rdata);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we simply read back the data and output it to the screen.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve and print the filter type. Here we only retrieve the
* first filter because we know that we only added one filter.
*/
nelmts = 0;
filter_type = H5Pget_filter(dcpl, 0, &flags, &nelmts, NULL, 0, NULL);
printf("\nFilter type is: ");
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
printf("H5Z_FILTER_DEFLATE\n");
break;
case H5Z_FILTER_SHUFFLE:
printf("H5Z_FILTER_SHUFFLE\n");
break;
case H5Z_FILTER_FLETCHER32:
printf("H5Z_FILTER_FLETCHER32\n");
break;
case H5Z_FILTER_SZIP:
printf("H5Z_FILTER_SZIP\n");
}
/*
* Get dataspace and allocate memory for the read buffer as before.
*/
space = H5Dget_space(dset);
ndims = H5Sget_simple_extent_dims(space, dims, NULL);
rdata = (int **)malloc(dims[0] * sizeof(int *));
rdata[0] = (int *)malloc(dims[0] * dims[1] * sizeof(int));
for (i = 1; i < dims[0]; i++)
rdata[i] = rdata[0] + i * dims[1];
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("Dataset after extension:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
free(rdata[0]);
free(rdata);
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+214
View File
@@ -0,0 +1,214 @@
/************************************************************
This example shows how to create and extend an unlimited
dataset. The program first writes integers to a dataset
with dataspace dimensions of DIM0xDIM1, then closes the
file. Next, it reopens the file, reads back the data,
outputs it to the screen, extends the dataset, and writes
new data to the entire extended dataset. Finally it
reopens the file again, reads back the data, and outputs it
to the screen.
This file is intended for use with HDF5 Library version 1.6
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_unlimmod.h5"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
#define EDIM0 6
#define EDIM1 10
#define CHUNK0 4
#define CHUNK1 4
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t extdims[2] = {EDIM0, EDIM1};
hsize_t maxdims[2];
hsize_t chunk[2] = {CHUNK0, CHUNK1};
int wdata[DIM0][DIM1]; /* Write buffer */
int wdata2[EDIM0][EDIM1]; /* Write buffer for extension */
int **rdata = NULL; /* Read buffer */
int ndims;
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace with unlimited dimensions.
*/
maxdims[0] = H5S_UNLIMITED;
maxdims[1] = H5S_UNLIMITED;
space = H5Screate_simple(2, dims, maxdims);
/*
* Create the dataset creation property list, and set the chunk
* size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the unlimited dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, dcpl);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* In this next section we read back the data, extend the dataset,
* and write new data to the entire dataset.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDWR, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Get dataspace and allocate memory for read buffer. This is a
* two dimensional dataset so the dynamic allocation must be done
* in steps.
*/
space = H5Dget_space(dset);
ndims = H5Sget_simple_extent_dims(space, dims, NULL);
/*
* Allocate array of pointers to rows.
*/
rdata = (int **)malloc(dims[0] * sizeof(int *));
/*
* Allocate space for integer data.
*/
rdata[0] = (int *)malloc(dims[0] * dims[1] * sizeof(int));
/*
* Set the rest of the pointers to rows to the correct addresses.
*/
for (i = 1; i < dims[0]; i++)
rdata[i] = rdata[0] + i * dims[1];
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("Dataset before extension:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Extend the dataset.
*/
status = H5Dset_extent(dset, extdims);
/*
* Initialize data for writing to the extended dataset.
*/
for (i = 0; i < EDIM0; i++)
for (j = 0; j < EDIM1; j++)
wdata2[i][j] = j;
/*
* Write the data to the extended dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata2[0]);
/*
* Close and release resources.
*/
free(rdata[0]);
free(rdata);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we simply read back the data and output it to the screen.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET);
/*
* Get dataspace and allocate memory for the read buffer as before.
*/
space = H5Dget_space(dset);
ndims = H5Sget_simple_extent_dims(space, dims, NULL);
rdata = (int **)malloc(dims[0] * sizeof(int *));
rdata[0] = (int *)malloc(dims[0] * dims[1] * sizeof(int));
for (i = 1; i < dims[0]; i++)
rdata[i] = rdata[0] + i * dims[1];
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nDataset after extension:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
free(rdata[0]);
free(rdata);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+261
View File
@@ -0,0 +1,261 @@
cmake_minimum_required (VERSION 3.12)
project (HDF5Examples_C_H5D C)
#-----------------------------------------------------------------------------
# Define Sources
#-----------------------------------------------------------------------------
include (C_sourcefiles.cmake)
foreach (example_name ${common_examples})
if (${H5_LIBVER_DIR} EQUAL 16 OR ${EXAMPLE_VARNAME}_USE_16_API)
add_executable (${EXAMPLE_VARNAME}_${example_name} ${PROJECT_SOURCE_DIR}/16/${example_name}.c)
else ()
add_executable (${EXAMPLE_VARNAME}_${example_name} ${PROJECT_SOURCE_DIR}/${example_name}.c)
endif ()
target_compile_options(${EXAMPLE_VARNAME}_${example_name}
PRIVATE
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_16_API}>:-DH5_USE_16_API>"
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_18_API}>:-DH5_USE_18_API>"
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_110_API}>:-DH5_USE_110_API>"
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_112_API}>:-DH5_USE_112_API>"
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_114_API}>:-DH5_USE_114_API>"
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_116_API}>:-DH5_USE_116_API>"
)
if (H5_HAVE_PARALLEL)
target_include_directories (${EXAMPLE_VARNAME}_${example_name} PUBLIC ${MPI_C_INCLUDE_DIRS})
endif ()
target_link_libraries (${EXAMPLE_VARNAME}_${example_name} ${H5EX_HDF5_LINK_LIBS})
if (H5EX_BUILD_TESTING)
add_custom_command (
TARGET ${EXAMPLE_VARNAME}_${example_name}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/16/${example_name}.tst ${PROJECT_BINARY_DIR}/${example_name}.tst
)
endif ()
endforeach ()
if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.8")
foreach (example_name ${1_8_examples})
add_executable (${EXAMPLE_VARNAME}_${example_name} ${PROJECT_SOURCE_DIR}/${example_name}.c)
target_compile_options(${EXAMPLE_VARNAME}_${example_name}
PRIVATE
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_16_API}>:-DH5_USE_16_API>"
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_18_API}>:-DH5_USE_18_API>"
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_110_API}>:-DH5_USE_110_API>"
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_112_API}>:-DH5_USE_112_API>"
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_114_API}>:-DH5_USE_114_API>"
"$<$<BOOL:${${EXAMPLE_VARNAME}_USE_116_API}>:-DH5_USE_116_API>"
)
if (H5_HAVE_PARALLEL)
target_include_directories (${EXAMPLE_VARNAME}_${example_name} PUBLIC ${MPI_C_INCLUDE_DIRS})
endif ()
target_link_libraries (${EXAMPLE_VARNAME}_${example_name} ${H5EX_HDF5_LINK_LIBS})
if (H5EX_BUILD_TESTING)
add_custom_command (
TARGET ${EXAMPLE_VARNAME}_${example_name}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/18/${example_name}.tst ${PROJECT_BINARY_DIR}/${example_name}.tst
)
endif ()
endforeach ()
endif ()
#if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.10")
# foreach (example_name ${1_10_examples})
# add_executable (${EXAMPLE_VARNAME}_${example_name} ${PROJECT_SOURCE_DIR}/${example_name}.c)
# target_compile_options(${EXAMPLE_VARNAME}_${example_name}
# PRIVATE
# "$<$<BOOL:${${EXAMPLE_VARNAME}_USE_16_API}>:-DH5_USE_16_API>"
# "$<$<BOOL:${${EXAMPLE_VARNAME}_USE_18_API}>:-DH5_USE_18_API>"
# "$<$<BOOL:${${EXAMPLE_VARNAME}_USE_110_API}>:-DH5_USE_110_API>"
# "$<$<BOOL:${${EXAMPLE_VARNAME}_USE_112_API}>:-DH5_USE_112_API>"
# "$<$<BOOL:${${EXAMPLE_VARNAME}_USE_114_API}>:-DH5_USE_114_API>"
# "$<$<BOOL:${${EXAMPLE_VARNAME}_USE_116_API}>:-DH5_USE_116_API>"
# )
# if (H5_HAVE_PARALLEL)
# target_include_directories (${EXAMPLE_VARNAME}_${example_name} PUBLIC ${MPI_C_INCLUDE_DIRS})
# endif ()
# target_link_libraries (${EXAMPLE_VARNAME}_${example_name} ${H5EX_HDF5_LINK_LIBS})
# if (H5EX_BUILD_TESTING)
# add_custom_command (
# TARGET ${EXAMPLE_VARNAME}_${example_name}
# POST_BUILD
# COMMAND ${CMAKE_COMMAND}
# ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/110/${example_name}.tst ${PROJECT_BINARY_DIR}/${example_name}.tst
# )
# endif ()
# endforeach ()
#endif ()
#if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.12")
# foreach (example_name ${1_12_examples})
# if (H5EX_BUILD_TESTING)
# add_custom_command (
# TARGET ${EXAMPLE_VARNAME}_${example_name}
# POST_BUILD
# COMMAND ${CMAKE_COMMAND}
# ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/112/${example_name}.tst ${PROJECT_BINARY_DIR}/${example_name}.tst
# )
# endif ()
# endforeach ()
#endif ()
#if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.14")
# foreach (example_name ${1_14_examples})
# if (H5EX_BUILD_TESTING)
# add_custom_command (
# TARGET ${EXAMPLE_VARNAME}_${example_name}
# POST_BUILD
# COMMAND ${CMAKE_COMMAND}
# ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/114/${example_name}.tst ${PROJECT_BINARY_DIR}/${example_name}.tst
# )
# endif ()
# endforeach ()
#endif ()
#if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.16")
# foreach (example_name ${1_16_examples})
# if (H5EX_BUILD_TESTING)
# add_custom_command (
# TARGET ${EXAMPLE_VARNAME}_${example_name}
# POST_BUILD
# COMMAND ${CMAKE_COMMAND}
# ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/116/${example_name}.tst ${PROJECT_BINARY_DIR}/${example_name}.tst
# )
# endif ()
# endforeach ()
#endif ()
if (HDF5_BUILD_TOOLS)
foreach (example_name ${common_examples})
add_custom_command (
TARGET ${EXAMPLE_VARNAME}_${example_name}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/16/${example_name}.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
)
endforeach ()
foreach (example_name ${1_8_examples})
if (${example_name} STREQUAL "h5ex_d_nbit")
if (HDF5_VERSION_MAJOR VERSION_EQUAL "1.8" AND HDF5_VERSION_STRING VERSION_LESS_EQUAL "1.8.22")
add_custom_command (
TARGET ${EXAMPLE_VARNAME}_${example_name}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/18/${example_name}22.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
)
elseif (HDF5_VERSION_MAJOR VERSION_EQUAL "1.10" AND HDF5_VERSION_STRING VERSION_LESS_EQUAL "1.10.7")
add_custom_command (
TARGET ${EXAMPLE_VARNAME}_${example_name}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/110/${example_name}07.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
)
else ()
add_custom_command (
TARGET ${EXAMPLE_VARNAME}_${example_name}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/18/${example_name}.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
)
endif ()
else ()
if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.8")
add_custom_command (
TARGET ${EXAMPLE_VARNAME}_${example_name}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/18/${example_name}.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
)
endif ()
#if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.10")
# add_custom_command (
# TARGET ${EXAMPLE_VARNAME}_${example_name}
# POST_BUILD
# COMMAND ${CMAKE_COMMAND}
# ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/110/${example_name}.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
# )
#endif ()
#if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.12")
# add_custom_command (
# TARGET ${EXAMPLE_VARNAME}_${example_name}
# POST_BUILD
# COMMAND ${CMAKE_COMMAND}
# ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/112/${example_name}.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
# )
#endif ()
#if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.14")
# add_custom_command (
# TARGET ${EXAMPLE_VARNAME}_${example_name}
# POST_BUILD
# COMMAND ${CMAKE_COMMAND}
# ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/114/${example_name}.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
# )
#endif ()
#if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.16")
# add_custom_command (
# TARGET ${EXAMPLE_VARNAME}_${example_name}
# POST_BUILD
# COMMAND ${CMAKE_COMMAND}
# ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/116/${example_name}.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
# )
#endif ()
endif ()
endforeach ()
# foreach (example_name ${1_10_examples})
# endforeach ()
# foreach (example_name ${1_12_examples})
# endforeach ()
# foreach (example_name ${1_14_examples})
# endforeach ()
# foreach (example_name ${1_16_examples})
# endforeach ()
endif ()
if (H5EX_BUILD_TESTING)
macro (ADD_H5_TEST testname)
add_test (
NAME ${EXAMPLE_VARNAME}_${testname}-clearall
COMMAND ${CMAKE_COMMAND}
-E remove
${testname}.h5
)
add_test (
NAME ${EXAMPLE_VARNAME}_${testname}
COMMAND "${CMAKE_COMMAND}"
-D "TEST_PROGRAM=$<TARGET_FILE:${EXAMPLE_VARNAME}_${testname}>"
-D "TEST_ARGS:STRING="
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
-D "TEST_EXPECT=0"
-D "TEST_OUTPUT=${testname}.out"
-D "TEST_REFERENCE=${testname}.tst"
-D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}"
-P "${H5EX_RESOURCES_DIR}/runTest.cmake"
)
set_tests_properties (${EXAMPLE_VARNAME}_${testname} PROPERTIES DEPENDS ${EXAMPLE_VARNAME}_${testname}-clearall)
if (HDF5_BUILD_TOOLS)
add_test (
NAME ${EXAMPLE_VARNAME}_H5DUMP-${testname}
COMMAND "${CMAKE_COMMAND}"
-D "TEST_PROGRAM=${H5EX_HDF5_DUMP_EXECUTABLE}"
-D "TEST_ARGS:STRING=${ARGN};${testname}.h5"
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
-D "TEST_OUTPUT=${testname}.ddl.out"
-D "TEST_EXPECT=0"
-D "TEST_REFERENCE=${testname}.ddl"
-D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}"
-P "${H5EX_RESOURCES_DIR}/runTest.cmake"
)
set_tests_properties (${EXAMPLE_VARNAME}_H5DUMP-${testname} PROPERTIES DEPENDS ${EXAMPLE_VARNAME}_${testname})
endif ()
endmacro ()
foreach (example_name ${common_examples} ${1_8_examples})
if (${example_name} STREQUAL "h5ex_d_transform")
ADD_H5_TEST (${example_name} -n)
else ()
ADD_H5_TEST (${example_name})
endif ()
endforeach ()
endif ()
+43
View File
@@ -0,0 +1,43 @@
#-----------------------------------------------------------------------------
# Define Sources, one file per application
#-----------------------------------------------------------------------------
set (examples)
set (common_examples
h5ex_d_alloc
h5ex_d_checksum
h5ex_d_chunk
h5ex_d_compact
h5ex_d_extern
h5ex_d_fillval
h5ex_d_hyper
h5ex_d_rdwr
h5ex_d_unlimadd
h5ex_d_unlimmod
)
if (HDF5_ENABLE_Z_LIB_SUPPORT)
set (common_examples ${common_examples}
h5ex_d_gzip
h5ex_d_shuffle
h5ex_d_unlimgzip
)
endif ()
if (HDF5_ENABLE_SZIP_SUPPORT)
set (common_examples ${common_examples}
h5ex_d_szip
)
endif ()
if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.8" AND NOT ${EXAMPLE_VARNAME}_USE_16_API)
set (1_8_examples
h5ex_d_nbit
h5ex_d_sofloat
h5ex_d_soint
h5ex_d_transform
)
else ()
set (1_8_examples)
endif ()
+39
View File
@@ -0,0 +1,39 @@
#
# 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.
##
noinst_PROGRAMS = h5ex_d_rdwr h5ex_d_hyper h5ex_d_chunk h5ex_d_gzip \
h5ex_d_szip h5ex_d_nbit h5ex_d_soint h5ex_d_sofloat h5ex_d_extern \
h5ex_d_compact h5ex_d_unlimadd h5ex_d_unlimmod h5ex_d_unlimgzip \
h5ex_d_checksum h5ex_d_shuffle h5ex_d_transform h5ex_d_fillval h5ex_d_alloc
EXTRA_DIST = tfiles/h5ex_d_rdwr.tst tfiles/h5ex_d_hyper.tst tfiles/h5ex_d_chunk.tst \
tfiles/h5ex_d_gzip.tst tfiles/h5ex_d_szip.tst tfiles/h5ex_d_nbit.tst tfiles/h5ex_d_soint.tst \
tfiles/h5ex_d_sofloat.tst tfiles/h5ex_d_extern.tst tfiles/h5ex_d_compact.tst \
tfiles/h5ex_d_unlimadd.tst tfiles/h5ex_d_unlimmod.tst tfiles/h5ex_d_unlimgzip.tst \
tfiles/h5ex_d_checksum.tst tfiles/h5ex_d_shuffle.tst tfiles/h5ex_d_transform.tst \
tfiles/h5ex_d_fillval.tst tfiles/h5ex_d_alloc.tst \
tfiles/h5ex_d_rdwr.ddl tfiles/h5ex_d_hyper.ddl tfiles/h5ex_d_chunk.ddl \
tfiles/h5ex_d_gzip.ddl tfiles/h5ex_d_szip.ddl tfiles/h5ex_d_nbit.ddl tfiles/h5ex_d_soint.ddl \
tfiles/h5ex_d_sofloat.ddl tfiles/h5ex_d_extern.ddl tfiles/h5ex_d_compact.ddl \
tfiles/h5ex_d_unlimadd.ddl tfiles/h5ex_d_unlimmod.ddl tfiles/h5ex_d_unlimgzip.ddl \
tfiles/h5ex_d_checksum.ddl tfiles/h5ex_d_shuffle.ddl tfiles/h5ex_d_transform.ddl \
tfiles/h5ex_d_fillval.ddl tfiles/h5ex_d_alloc.ddl test.sh
TESTS = test.sh
CLEANFILES = Makefile test.sh
+135
View File
@@ -0,0 +1,135 @@
/************************************************************
This example shows how to set the space allocation time
for a dataset. The program first creates two datasets,
one with the default allocation time (late) and one with
early allocation time, and displays whether each has been
allocated and their allocation size. Next, it writes data
to the datasets, and again displays whether each has been
allocated and their allocation size.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_alloc.h5"
#define DATASET1 "DS1"
#define DATASET2 "DS2"
#define DIM0 4
#define DIM1 7
#define FILLVAL 99
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset1 = H5I_INVALID_HID;
hid_t dset2 = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
/* Handles */
herr_t status;
H5D_space_status_t space_status;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t storage_size;
int wdata[DIM0][DIM1]; /* Write buffer */
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, and set the chunk
* size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
/*
* Set the allocation time to "early". This way we can be sure
* that reading from the dataset immediately after creation will
* return the fill value.
*/
status = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY);
printf("Creating datasets...\n");
printf("%s has allocation time H5D_ALLOC_TIME_LATE\n", DATASET1);
printf("%s has allocation time H5D_ALLOC_TIME_EARLY\n\n", DATASET2);
/*
* Create the dataset using the dataset creation property list.
*/
dset1 = H5Dcreate(file, DATASET1, H5T_STD_I32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
dset2 = H5Dcreate(file, DATASET2, H5T_STD_I32LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Retrieve and print space status and storage size for dset1.
*/
status = H5Dget_space_status(dset1, &space_status);
storage_size = H5Dget_storage_size(dset1);
printf("Space for %s has%sbeen allocated.\n", DATASET1,
space_status == H5D_SPACE_STATUS_ALLOCATED ? " " : " not ");
printf("Storage size for %s is: %ld bytes.\n", DATASET1, (long)storage_size);
/*
* Retrieve and print space status and storage size for dset2.
*/
status = H5Dget_space_status(dset2, &space_status);
storage_size = H5Dget_storage_size(dset2);
printf("Space for %s has%sbeen allocated.\n", DATASET2,
space_status == H5D_SPACE_STATUS_ALLOCATED ? " " : " not ");
printf("Storage size for %s is: %ld bytes.\n", DATASET2, (long)storage_size);
printf("\nWriting data...\n\n");
/*
* Write the data to the datasets.
*/
status = H5Dwrite(dset1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
status = H5Dwrite(dset2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Retrieve and print space status and storage size for dset1.
*/
status = H5Dget_space_status(dset1, &space_status);
storage_size = H5Dget_storage_size(dset1);
printf("Space for %s has%sbeen allocated.\n", DATASET1,
space_status == H5D_SPACE_STATUS_ALLOCATED ? " " : " not ");
printf("Storage size for %s is: %ld bytes.\n", DATASET1, (long)storage_size);
/*
* Retrieve and print space status and storage size for dset2.
*/
status = H5Dget_space_status(dset2, &space_status);
storage_size = H5Dget_storage_size(dset2);
printf("Space for %s has%sbeen allocated.\n", DATASET2,
space_status == H5D_SPACE_STATUS_ALLOCATED ? " " : " not ");
printf("Storage size for %s is: %ld bytes.\n", DATASET2, (long)storage_size);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset1);
status = H5Dclose(dset2);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+191
View File
@@ -0,0 +1,191 @@
/************************************************************
This example shows how to read and write data to a dataset
using the Fletcher32 checksum filter. The program first
checks if the Fletcher32 filter is available, then if it
is it writes integers to a dataset using Fletcher32, then
closes the file. Next, it reopens the file, reads back
the data, checks if the filter detected an error and
outputs the type of filter and the maximum value in the
dataset to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_checksum.h5"
#define DATASET "DS1"
#define DIM0 32
#define DIM1 64
#define CHUNK0 4
#define CHUNK1 8
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
/* Handles */
herr_t status;
htri_t avail;
H5Z_filter_t filter_type;
hsize_t dims[2] = {DIM0, DIM1}, chunk[2] = {CHUNK0, CHUNK1};
size_t nelmts;
unsigned int flags, filter_info;
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
int max;
hsize_t i, j;
/*
* Check if the Fletcher32 filter is available and can be used for
* both encoding and decoding. Normally we do not perform error
* checking in these examples for the sake of clarity, but in this
* case we will make an exception because this filter is an
* optional part of the hdf5 library.
*/
avail = H5Zfilter_avail(H5Z_FILTER_FLETCHER32);
if (!avail) {
printf("Fletcher32 filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_FLETCHER32, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("Fletcher32 filter not available for encoding and decoding.\n");
return 1;
}
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, add the Fletcher32 filter
* and set the chunk size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_fletcher32(dcpl);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve and print the filter type. Here we only retrieve the
* first filter because we know that we only added one filter.
*/
nelmts = 0;
filter_type = H5Pget_filter(dcpl, 0, &flags, &nelmts, NULL, 0, NULL, &filter_info);
printf("Filter type is: ");
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
printf("H5Z_FILTER_DEFLATE\n");
break;
case H5Z_FILTER_SHUFFLE:
printf("H5Z_FILTER_SHUFFLE\n");
break;
case H5Z_FILTER_FLETCHER32:
printf("H5Z_FILTER_FLETCHER32\n");
break;
case H5Z_FILTER_SZIP:
printf("H5Z_FILTER_SZIP\n");
break;
case H5Z_FILTER_NBIT:
printf("H5Z_FILTER_NBIT\n");
break;
case H5Z_FILTER_SCALEOFFSET:
printf("H5Z_FILTER_SCALEOFFSET\n");
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Check if the read was successful. Normally we do not perform
* error checking in these examples for the sake of clarity, but in
* this case we will make an exception because this is how the
* fletcher32 checksum filter reports data errors.
*/
if (status < 0) {
fprintf(stderr, "Dataset read failed!\n");
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 2;
}
/*
* Find the maximum value in the dataset, to verify that it was
* read correctly.
*/
max = rdata[0][0];
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
if (max < rdata[i][j])
max = rdata[i][j];
/*
* Print the maximum value.
*/
printf("Maximum value in %s is: %d\n", DATASET, max);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+219
View File
@@ -0,0 +1,219 @@
/************************************************************
This example shows how to create a chunked dataset. The
program first writes integers in a hyperslab selection to
a chunked dataset with dataspace dimensions of DIM0xDIM1
and chunk size of CHUNK0xCHUNK1, then closes the file.
Next, it reopens the file, reads back the data, and
outputs it to the screen. Finally it reads the data again
using a different hyperslab selection, and outputs
the result to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_chunk.h5"
#define DATASET "DS1"
#define DIM0 6
#define DIM1 8
#define CHUNK0 4
#define CHUNK1 4
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
H5D_layout_t layout;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t chunk[2] = {CHUNK0, CHUNK1};
hsize_t start[2];
hsize_t stride[2];
hsize_t count[2];
hsize_t block[2];
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
hsize_t i, j;
/*
* Initialize data to "1", to make it easier to see the selections.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = 1;
/*
* Print the data to the screen.
*/
printf("Original Data:\n");
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", wdata[i][j]);
printf("]\n");
}
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, and set the chunk
* size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the chunked dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Define and select the first part of the hyperslab selection.
*/
start[0] = 0;
start[1] = 0;
stride[0] = 3;
stride[1] = 3;
count[0] = 2;
count[1] = 3;
block[0] = 2;
block[1] = 2;
status = H5Sselect_hyperslab(space, H5S_SELECT_SET, start, stride, count, block);
/*
* Define and select the second part of the hyperslab selection,
* which is subtracted from the first selection by the use of
* H5S_SELECT_NOTB
*/
block[0] = 1;
block[1] = 1;
status = H5Sselect_hyperslab(space, H5S_SELECT_NOTB, start, stride, count, block);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, space, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Retrieve the dataset creation property list, and print the
* storage layout.
*/
dcpl = H5Dget_create_plist(dset);
layout = H5Pget_layout(dcpl);
printf("\nStorage layout for %s is: ", DATASET);
switch (layout) {
case H5D_COMPACT:
printf("H5D_COMPACT\n");
break;
case H5D_CONTIGUOUS:
printf("H5D_CONTIGUOUS\n");
break;
case H5D_CHUNKED:
printf("H5D_CHUNKED\n");
break;
#if H5_VERSION_GE(1, 10, 0) && !defined(H5_USE_18_API) && !defined(H5_USE_16_API)
case H5D_VIRTUAL:
printf("H5D_VIRTUAL\n");
break;
#endif
case H5D_LAYOUT_ERROR:
case H5D_NLAYOUTS:
printf("H5D_LAYOUT_ERROR\n");
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nData as written to disk by hyberslabs:\n");
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Initialize the read array.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
rdata[i][j] = 0;
/*
* Define and select the hyperslab to use for reading.
*/
space = H5Dget_space(dset);
start[0] = 0;
start[1] = 1;
stride[0] = 4;
stride[1] = 4;
count[0] = 2;
count[1] = 2;
block[0] = 2;
block[1] = 3;
status = H5Sselect_hyperslab(space, H5S_SELECT_SET, start, stride, count, block);
/*
* Read the data using the previously defined hyperslab.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, space, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nData as read from disk by hyperslab:\n");
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+139
View File
@@ -0,0 +1,139 @@
/************************************************************
This example shows how to read and write data to a compact
dataset. The program first writes integers to a compact
dataset with dataspace dimensions of DIM0xDIM1, then
closes the file. Next, it reopens the file, reads back
the data, and outputs it to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_compact.h5"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
H5D_layout_t layout;
hsize_t dims[2] = {DIM0, DIM1};
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, set the layout to
* compact.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_layout(dcpl, H5D_COMPACT);
/*
* Create the dataset. We will use all default properties for this
* example.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Retrieve the dataset creation property list, and print the
* storage layout.
*/
dcpl = H5Dget_create_plist(dset);
layout = H5Pget_layout(dcpl);
printf("Storage layout for %s is: ", DATASET);
switch (layout) {
case H5D_COMPACT:
printf("H5D_COMPACT\n");
break;
case H5D_CONTIGUOUS:
printf("H5D_CONTIGUOUS\n");
break;
case H5D_CHUNKED:
printf("H5D_CHUNKED\n");
break;
#if H5_VERSION_GE(1, 10, 0) && !defined(H5_USE_18_API) && !defined(H5_USE_16_API)
case H5D_VIRTUAL:
printf("H5D_VIRTUAL\n");
break;
#endif
case H5D_LAYOUT_ERROR:
case H5D_NLAYOUTS:
printf("H5D_LAYOUT_ERROR\n");
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("%s:\n", DATASET);
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+128
View File
@@ -0,0 +1,128 @@
/************************************************************
This example shows how to read and write data to an
external dataset. The program first writes integers to an
external dataset with dataspace dimensions of DIM0xDIM1,
then closes the file. Next, it reopens the file, reads
back the data, and outputs the name of the external data
file and the data to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_extern.h5"
#define EXTERNAL "h5ex_d_extern.data"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
#define NAME_BUF_SIZE 32
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
hsize_t dims[2] = {DIM0, DIM1};
char name[NAME_BUF_SIZE];
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, set the external
* file.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_external(dcpl, EXTERNAL, 0, H5F_UNLIMITED);
/*
* Create the external dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve and print the name of the external file. Here we
* manually set the last field in name to null, in case the name of
* the file is longer than the buffer.
*/
status = H5Pget_external(dcpl, 0, NAME_BUF_SIZE, name, NULL, NULL);
name[NAME_BUF_SIZE - 1] = '\0';
printf("%s is stored in file: %s\n", DATASET, name);
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("%s:\n", DATASET);
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+155
View File
@@ -0,0 +1,155 @@
/************************************************************
This example shows how to set the fill value for a
dataset. The program first sets the fill value to
FILLVAL, creates a dataset with dimensions of DIM0xDIM1,
reads from the uninitialized dataset, and outputs the
contents to the screen. Next, it writes integers to the
dataset, reads the data back, and outputs it to the
screen. Finally it extends the dataset, reads from it,
and outputs the result to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_fillval.h5"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
#define EDIM0 6
#define EDIM1 10
#define CHUNK0 4
#define CHUNK1 4
#define FILLVAL 99
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t extdims[2] = {EDIM0, EDIM1};
hsize_t maxdims[2] = {H5S_UNLIMITED, H5S_UNLIMITED};
hsize_t chunk[2] = {CHUNK0, CHUNK1};
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
int rdata2[EDIM0][EDIM1]; /* Read buffer for extension */
int fillval;
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace with unlimited dimensions.
*/
space = H5Screate_simple(2, dims, maxdims);
/*
* Create the dataset creation property list, and set the chunk
* size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Set the fill value for the dataset.
*/
fillval = FILLVAL;
status = H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval);
/*
* Set the allocation time to "early". This way we can be sure
* that reading from the dataset immediately after creation will
* return the fill value.
*/
status = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY);
/*
* Create the dataset using the dataset creation property list.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Read values from the dataset, which has not been written to yet.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("Dataset before being written to:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Read the data back.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nDataset after being written to:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Extend the dataset.
*/
status = H5Dset_extent(dset, extdims);
/*
* Read from the extended dataset.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata2[0]);
/*
* Output the data to the screen.
*/
printf("\nDataset after extension:\n");
for (i = 0; i < extdims[0]; i++) {
printf(" [");
for (j = 0; j < extdims[1]; j++)
printf(" %3d", rdata2[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+177
View File
@@ -0,0 +1,177 @@
/************************************************************
This example shows how to read and write data to a dataset
using gzip compression (also called zlib or deflate). The
program first checks if gzip compression is available,
then if it is it writes integers to a dataset using gzip,
then closes the file. Next, it reopens the file, reads
back the data, and outputs the type of compression and the
maximum value in the dataset to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_gzip.h5"
#define DATASET "DS1"
#define DIM0 32
#define DIM1 64
#define CHUNK0 4
#define CHUNK1 8
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
htri_t avail;
H5Z_filter_t filter_type;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t chunk[2] = {CHUNK0, CHUNK1};
size_t nelmts;
unsigned int flags;
unsigned int filter_info;
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
int max;
hsize_t i, j;
/*
* Check if gzip compression is available and can be used for both
* compression and decompression. Normally we do not perform error
* checking in these examples for the sake of clarity, but in this
* case we will make an exception because this filter is an
* optional part of the hdf5 library.
*/
avail = H5Zfilter_avail(H5Z_FILTER_DEFLATE);
if (!avail) {
printf("gzip filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_DEFLATE, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("gzip filter not available for encoding and decoding.\n");
return 1;
}
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, add the gzip
* compression filter and set the chunk size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_deflate(dcpl, 9);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve and print the filter type. Here we only retrieve the
* first filter because we know that we only added one filter.
*/
nelmts = 0;
filter_type = H5Pget_filter(dcpl, 0, &flags, &nelmts, NULL, 0, NULL, &filter_info);
printf("Filter type is: ");
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
printf("H5Z_FILTER_DEFLATE\n");
break;
case H5Z_FILTER_SHUFFLE:
printf("H5Z_FILTER_SHUFFLE\n");
break;
case H5Z_FILTER_FLETCHER32:
printf("H5Z_FILTER_FLETCHER32\n");
break;
case H5Z_FILTER_SZIP:
printf("H5Z_FILTER_SZIP\n");
break;
case H5Z_FILTER_NBIT:
printf("H5Z_FILTER_NBIT\n");
break;
case H5Z_FILTER_SCALEOFFSET:
printf("H5Z_FILTER_SCALEOFFSET\n");
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Find the maximum value in the dataset, to verify that it was
* read correctly.
*/
max = rdata[0][0];
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
if (max < rdata[i][j])
max = rdata[i][j];
/*
* Print the maximum value.
*/
printf("Maximum value in %s is: %d\n", DATASET, max);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+179
View File
@@ -0,0 +1,179 @@
/************************************************************
This example shows how to read and write data to a
dataset by hyberslabs. The program first writes integers
in a hyperslab selection to a dataset with dataspace
dimensions of DIM0xDIM1, then closes the file. Next, it
reopens the file, reads back the data, and outputs it to
the screen. Finally it reads the data again using a
different hyperslab selection, and outputs the result to
the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_hyper.h5"
#define DATASET "DS1"
#define DIM0 6
#define DIM1 8
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
herr_t status;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t start[2];
hsize_t stride[2];
hsize_t count[2];
hsize_t block[2];
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
hsize_t i, j;
/*
* Initialize data to "1", to make it easier to see the selections.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = 1;
/*
* Print the data to the screen.
*/
printf("Original Data:\n");
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", wdata[i][j]);
printf("]\n");
}
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset. We will use all default properties for this
* example.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
/*
* Define and select the first part of the hyperslab selection.
*/
start[0] = 0;
start[1] = 0;
stride[0] = 3;
stride[1] = 3;
count[0] = 2;
count[1] = 3;
block[0] = 2;
block[1] = 2;
status = H5Sselect_hyperslab(space, H5S_SELECT_SET, start, stride, count, block);
/*
* Define and select the second part of the hyperslab selection,
* which is subtracted from the first selection by the use of
* H5S_SELECT_NOTB
*/
block[0] = 1;
block[1] = 1;
status = H5Sselect_hyperslab(space, H5S_SELECT_NOTB, start, stride, count, block);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, space, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nData as written to disk by hyberslabs:\n");
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Initialize the read array.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
rdata[i][j] = 0;
/*
* Define and select the hyperslab to use for reading.
*/
space = H5Dget_space(dset);
start[0] = 0;
start[1] = 1;
stride[0] = 4;
stride[1] = 4;
count[0] = 2;
count[1] = 2;
block[0] = 2;
block[1] = 3;
status = H5Sselect_hyperslab(space, H5S_SELECT_SET, start, stride, count, block);
/*
* Read the data using the previously defined hyperslab.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, space, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nData as read from disk by hyperslab:\n");
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+189
View File
@@ -0,0 +1,189 @@
/************************************************************
This example shows how to read and write data to a dataset
using the N-Bit filter. The program first checks if the
N-Bit filter is available, then if it is it writes
integers to a dataset using N-Bit, then closes the file.
Next, it reopens the file, reads back the data, and
outputs the type of filter and the maximum value in the
dataset to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_nbit.h5"
#define DATASET "DS1"
#define DIM0 32
#define DIM1 64
#define CHUNK0 4
#define CHUNK1 8
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dtype = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
/* Handles */
herr_t status;
htri_t avail;
H5Z_filter_t filter_type;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t chunk[2] = {CHUNK0, CHUNK1};
size_t nelmts;
unsigned int flags;
unsigned int filter_info;
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
int max;
hsize_t i, j;
/*
* Check if N-Bit compression is available and can be used for both
* compression and decompression. Normally we do not perform error
* checking in these examples for the sake of clarity, but in this
* case we will make an exception because this filter is an
* optional part of the hdf5 library.
*/
avail = H5Zfilter_avail(H5Z_FILTER_NBIT);
if (!avail) {
printf("N-Bit filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_NBIT, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("N-Bit filter not available for encoding and decoding.\n");
return 1;
}
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the datatype to use with the N-Bit filter. It has an
* uncompressed size of 32 bits, but will have a size of 16 bits
* after being packed by the N-Bit filter.
*/
dtype = H5Tcopy(H5T_STD_I32LE);
status = H5Tset_precision(dtype, 16);
status = H5Tset_offset(dtype, 5);
/*
* Create the dataset creation property list, add the N-Bit filter
* and set the chunk size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_nbit(dcpl);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the dataset.
*/
dset = H5Dcreate(file, DATASET, dtype, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Tclose(dtype);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve and print the filter type. Here we only retrieve the
* first filter because we know that we only added one filter.
*/
nelmts = 0;
filter_type = H5Pget_filter(dcpl, 0, &flags, &nelmts, NULL, 0, NULL, &filter_info);
printf("Filter type is: ");
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
printf("H5Z_FILTER_DEFLATE\n");
break;
case H5Z_FILTER_SHUFFLE:
printf("H5Z_FILTER_SHUFFLE\n");
break;
case H5Z_FILTER_FLETCHER32:
printf("H5Z_FILTER_FLETCHER32\n");
break;
case H5Z_FILTER_SZIP:
printf("H5Z_FILTER_SZIP\n");
break;
case H5Z_FILTER_NBIT:
printf("H5Z_FILTER_NBIT\n");
break;
case H5Z_FILTER_SCALEOFFSET:
printf("H5Z_FILTER_SCALEOFFSET\n");
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Find the maximum value in the dataset, to verify that it was
* read correctly.
*/
max = rdata[0][0];
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
if (max < rdata[i][j])
max = rdata[i][j];
/*
* Print the maximum value.
*/
printf("Maximum value in %s is: %d\n", DATASET, max);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+101
View File
@@ -0,0 +1,101 @@
/************************************************************
This example shows how to read and write data to a
dataset. The program first writes integers to a dataset
with dataspace dimensions of DIM0xDIM1, then closes the
file. Next, it reopens the file, reads back the data, and
outputs it to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_rdwr.h5"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
herr_t status;
hsize_t dims[2] = {DIM0, DIM1};
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset. We will use all default properties for this
* example.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("%s:\n", DATASET);
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+204
View File
@@ -0,0 +1,204 @@
/************************************************************
This example shows how to read and write data to a dataset
using the shuffle filter with gzip compression. The
program first checks if the shuffle and gzip filters are
available, then if they are it writes integers to a
dataset using shuffle+gzip, then closes the file. Next,
it reopens the file, reads back the data, and outputs the
types of filters and the maximum value in the dataset to
the screen.
This file is intended for use with HDF5 Library version 1.8
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_shuffle.h5"
#define DATASET "DS1"
#define DIM0 32
#define DIM1 64
#define CHUNK0 4
#define CHUNK1 8
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
htri_t avail;
H5Z_filter_t filter_type;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t chunk[2] = {CHUNK0, CHUNK1};
size_t nelmts;
unsigned int flags;
unsigned int filter_info;
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
int max, nfilters;
int i, j;
/*
* Check if gzip compression is available and can be used for both
* compression and decompression. Normally we do not perform error
* checking in these examples for the sake of clarity, but in this
* case we will make an exception because this filter is an
* optional part of the hdf5 library.
*/
avail = H5Zfilter_avail(H5Z_FILTER_DEFLATE);
if (!avail) {
printf("gzip filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_DEFLATE, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("gzip filter not available for encoding and decoding.\n");
return 1;
}
/*
* Similarly, check for availability of the shuffle filter.
*/
avail = H5Zfilter_avail(H5Z_FILTER_SHUFFLE);
if (!avail) {
printf("Shuffle filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_SHUFFLE, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("Shuffle filter not available for encoding and decoding.\n");
return 1;
}
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, add the shuffle
* filter and the gzip compression filter and set the chunk size.
* The order in which the filters are added here is significant -
* we will see much greater results when the shuffle is applied
* first. The order in which the filters are added to the property
* list is the order in which they will be invoked when writing
* data.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_shuffle(dcpl);
status = H5Pset_deflate(dcpl, 9);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve the number of filters, and retrieve and print the
* type of each.
*/
nfilters = H5Pget_nfilters(dcpl);
for (i = 0; i < nfilters; i++) {
nelmts = 0;
filter_type = H5Pget_filter(dcpl, i, &flags, &nelmts, NULL, 0, NULL, &filter_info);
printf("Filter %d: Type is: ", i);
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
printf("H5Z_FILTER_DEFLATE\n");
break;
case H5Z_FILTER_SHUFFLE:
printf("H5Z_FILTER_SHUFFLE\n");
break;
case H5Z_FILTER_FLETCHER32:
printf("H5Z_FILTER_FLETCHER32\n");
break;
case H5Z_FILTER_SZIP:
printf("H5Z_FILTER_SZIP\n");
break;
case H5Z_FILTER_NBIT:
printf("H5Z_FILTER_NBIT\n");
break;
case H5Z_FILTER_SCALEOFFSET:
printf("H5Z_FILTER_SCALEOFFSET\n");
}
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Find the maximum value in the dataset, to verify that it was
* read correctly.
*/
max = rdata[0][0];
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
if (max < rdata[i][j])
max = rdata[i][j];
/*
* Print the maximum value.
*/
printf("Maximum value in %s is: %d\n", DATASET, max);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+203
View File
@@ -0,0 +1,203 @@
/************************************************************
This example shows how to read and write data to a dataset
using the Scale-Offset filter. The program first checks
if the Scale-Offset filter is available, then if it is it
writes floating point numbers to a dataset using
Scale-Offset, then closes the file Next, it reopens the
file, reads back the data, and outputs the type of filter
and the maximum value in the dataset to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_sofloat.h5"
#define DATASET "DS1"
#define DIM0 32
#define DIM1 64
#define CHUNK0 4
#define CHUNK1 8
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
/* Handles */
herr_t status;
htri_t avail;
H5Z_filter_t filter_type;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t chunk[2] = {CHUNK0, CHUNK1};
size_t nelmts;
unsigned int flags;
unsigned int filter_info;
double wdata[DIM0][DIM1]; /* Write buffer */
double rdata[DIM0][DIM1]; /* Read buffer */
double max, min;
hsize_t i, j;
/*
* Check if Scale-Offset compression is available and can be used
* for both compression and decompression. Normally we do not
* perform error checking in these examples for the sake of
* clarity, but in this case we will make an exception because this
* filter is an optional part of the hdf5 library.
*/
avail = H5Zfilter_avail(H5Z_FILTER_SCALEOFFSET);
if (!avail) {
printf("Scale-Offset filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_SCALEOFFSET, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("Scale-Offset filter not available for encoding and decoding.\n");
return 1;
}
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = (double)(i + 1) / (j + 0.3) + j;
/*
* Find the maximum value in the dataset, to verify that it was
* read correctly.
*/
max = wdata[0][0];
min = wdata[0][0];
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++) {
if (max < wdata[i][j])
max = wdata[i][j];
if (min > wdata[i][j])
min = wdata[i][j];
}
/*
* Print the maximum value.
*/
printf("Maximum value in write buffer is: %f\n", max);
printf("Minimum value in write buffer is: %f\n", min);
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, add the Scale-Offset
* filter and set the chunk size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_scaleoffset(dcpl, H5Z_SO_FLOAT_DSCALE, 2);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_IEEE_F64LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve and print the filter type. Here we only retrieve the
* first filter because we know that we only added one filter.
*/
nelmts = 0;
filter_type = H5Pget_filter(dcpl, 0, &flags, &nelmts, NULL, 0, NULL, &filter_info);
printf("Filter type is: ");
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
printf("H5Z_FILTER_DEFLATE\n");
break;
case H5Z_FILTER_SHUFFLE:
printf("H5Z_FILTER_SHUFFLE\n");
break;
case H5Z_FILTER_FLETCHER32:
printf("H5Z_FILTER_FLETCHER32\n");
break;
case H5Z_FILTER_SZIP:
printf("H5Z_FILTER_SZIP\n");
break;
case H5Z_FILTER_NBIT:
printf("H5Z_FILTER_NBIT\n");
break;
case H5Z_FILTER_SCALEOFFSET:
printf("H5Z_FILTER_SCALEOFFSET\n");
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Find the maximum value in the dataset, to verify that it was
* read correctly.
*/
max = rdata[0][0];
min = rdata[0][0];
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++) {
if (max < rdata[i][j])
max = rdata[i][j];
if (min > rdata[i][j])
min = rdata[i][j];
}
/*
* Print the maximum value.
*/
printf("Maximum value in %s is: %f\n", DATASET, max);
printf("Minimum value in %s is: %f\n", DATASET, min);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+178
View File
@@ -0,0 +1,178 @@
/************************************************************
This example shows how to read and write data to a dataset
using the Scale-Offset filter. The program first checks
if the Scale-Offset filter is available, then if it is it
writes integers to a dataset using Scale-Offset, then
closes the file Next, it reopens the file, reads back the
data, and outputs the type of filter and the maximum value
in the dataset to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_soint.h5"
#define DATASET "DS1"
#define DIM0 32
#define DIM1 64
#define CHUNK0 4
#define CHUNK1 8
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
/* Handles */
herr_t status;
htri_t avail;
H5Z_filter_t filter_type;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t chunk[2] = {CHUNK0, CHUNK1};
size_t nelmts;
unsigned int flags;
unsigned int filter_info;
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
int max;
hsize_t i, j;
/*
* Check if Scale-Offset compression is available and can be used
* for both compression and decompression. Normally we do not
* perform error checking in these examples for the sake of
* clarity, but in this case we will make an exception because this
* filter is an optional part of the hdf5 library.
*/
avail = H5Zfilter_avail(H5Z_FILTER_SCALEOFFSET);
if (!avail) {
printf("Scale-Offset filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_SCALEOFFSET, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("Scale-Offset filter not available for encoding and decoding.\n");
return 1;
}
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, add the Scale-Offset
* filter and set the chunk size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_scaleoffset(dcpl, H5Z_SO_INT, H5Z_SO_INT_MINBITS_DEFAULT);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve and print the filter type. Here we only retrieve the
* first filter because we know that we only added one filter.
*/
nelmts = 0;
filter_type = H5Pget_filter(dcpl, 0, &flags, &nelmts, NULL, 0, NULL, &filter_info);
printf("Filter type is: ");
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
printf("H5Z_FILTER_DEFLATE\n");
break;
case H5Z_FILTER_SHUFFLE:
printf("H5Z_FILTER_SHUFFLE\n");
break;
case H5Z_FILTER_FLETCHER32:
printf("H5Z_FILTER_FLETCHER32\n");
break;
case H5Z_FILTER_SZIP:
printf("H5Z_FILTER_SZIP\n");
break;
case H5Z_FILTER_NBIT:
printf("H5Z_FILTER_NBIT\n");
break;
case H5Z_FILTER_SCALEOFFSET:
printf("H5Z_FILTER_SCALEOFFSET\n");
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Find the maximum value in the dataset, to verify that it was
* read correctly.
*/
max = rdata[0][0];
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
if (max < rdata[i][j])
max = rdata[i][j];
/*
* Print the maximum value.
*/
printf("Maximum value in %s is: %d\n", DATASET, max);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+178
View File
@@ -0,0 +1,178 @@
/************************************************************
This example shows how to read and write data to a dataset
using szip compression. The program first checks if
szip compression is available, then if it is it writes
integers to a dataset using szip, then closes the file.
Next, it reopens the file, reads back the data, and
outputs the type of compression and the maximum value in
the dataset to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_szip.h5"
#define DATASET "DS1"
#define DIM0 32
#define DIM1 64
#define CHUNK0 4
#define CHUNK1 8
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
htri_t avail;
H5Z_filter_t filter_type;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t chunk[2] = {CHUNK0, CHUNK1};
size_t nelmts;
unsigned int flags;
unsigned int filter_info;
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
int max;
hsize_t i, j;
/*
* Check if szip compression is available and can be used for both
* compression and decompression. Normally we do not perform error
* checking in these examples for the sake of clarity, but in this
* case we will make an exception because this filter is an
* optional part of the hdf5 library.
*/
avail = H5Zfilter_avail(H5Z_FILTER_SZIP);
if (!avail) {
printf("szip filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_SZIP, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("szip filter not available for encoding and decoding.\n");
return 1;
}
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset creation property list, add the szip
* compression filter and set the chunk size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_szip(dcpl, H5_SZIP_NN_OPTION_MASK, 8);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve and print the filter type. Here we only retrieve the
* first filter because we know that we only added one filter.
*/
nelmts = 0;
filter_type = H5Pget_filter(dcpl, 0, &flags, &nelmts, NULL, 0, NULL, &filter_info);
printf("Filter type is: ");
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
printf("H5Z_FILTER_DEFLATE\n");
break;
case H5Z_FILTER_SHUFFLE:
printf("H5Z_FILTER_SHUFFLE\n");
break;
case H5Z_FILTER_FLETCHER32:
printf("H5Z_FILTER_FLETCHER32\n");
break;
case H5Z_FILTER_SZIP:
printf("H5Z_FILTER_SZIP\n");
break;
case H5Z_FILTER_NBIT:
printf("H5Z_FILTER_NBIT\n");
break;
case H5Z_FILTER_SCALEOFFSET:
printf("H5Z_FILTER_SCALEOFFSET\n");
}
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Find the maximum value in the dataset, to verify that it was
* read correctly.
*/
max = rdata[0][0];
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
if (max < rdata[i][j])
max = rdata[i][j];
/*
* Print the maximum value.
*/
printf("Maximum value in %s is: %d\n", DATASET, max);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+154
View File
@@ -0,0 +1,154 @@
/************************************************************
This example shows how to read and write data to a dataset
using a data transform expression. The program first
writes integers to a dataset using the transform
expression TRANSFORM, then closes the file. Next, it
reopens the file, reads back the data without a transform,
and outputs the data to the screen. Finally it reads the
data using the transform expression RTRANSFORM and outputs
the results to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_transform.h5"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
#define TRANSFORM "x+1"
#define RTRANSFORM "x-1"
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dxpl = H5I_INVALID_HID;
/* Handles */
herr_t status;
hsize_t dims[2] = {DIM0, DIM1};
int wdata[DIM0][DIM1]; /* Write buffer */
int rdata[DIM0][DIM1]; /* Read buffer */
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Output the data to the screen.
*/
printf("Original Data:\n");
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", wdata[i][j]);
printf("]\n");
}
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace. Setting maximum size to NULL sets the maximum
* size to be the current size.
*/
space = H5Screate_simple(2, dims, NULL);
/*
* Create the dataset transfer property list and define the
* transform expression.
*/
dxpl = H5Pcreate(H5P_DATASET_XFER);
status = H5Pset_data_transform(dxpl, TRANSFORM);
/*
* Create the dataset using the default properties. Unfortunately
* we must save as a native type or the transform operation will
* fail.
*/
dset = H5Dcreate(file, DATASET, H5T_NATIVE_INT, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
/*
* Write the data to the dataset using the dataset transfer
* property list.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, dxpl, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dxpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we begin the read section of this example.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nData as written with transform \"%s\":\n", TRANSFORM);
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Create the dataset transfer property list and define the
* transform expression.
*/
dxpl = H5Pcreate(H5P_DATASET_XFER);
status = H5Pset_data_transform(dxpl, RTRANSFORM);
/*
* Read the data using the dataset transfer property list.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, dxpl, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nData as written with transform \"%s\" and read with transform \"%s\":\n", TRANSFORM,
RTRANSFORM);
for (i = 0; i < DIM0; i++) {
printf(" [");
for (j = 0; j < DIM1; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
status = H5Pclose(dxpl);
status = H5Dclose(dset);
status = H5Fclose(file);
return 0;
}
+237
View File
@@ -0,0 +1,237 @@
/************************************************************
This example shows how to create and extend an unlimited
dataset. The program first writes integers to a dataset
with dataspace dimensions of DIM0xDIM1, then closes the
file. Next, it reopens the file, reads back the data,
outputs it to the screen, extends the dataset, and writes
new data to the extended portions of the dataset. Finally
it reopens the file again, reads back the data, and
outputs it to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_unlimadd.h5"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
#define EDIM0 6
#define EDIM1 10
#define CHUNK0 4
#define CHUNK1 4
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t extdims[2] = {EDIM0, EDIM1};
hsize_t maxdims[2];
hsize_t chunk[2] = {CHUNK0, CHUNK1};
hsize_t start[2];
hsize_t count[2];
int wdata[DIM0][DIM1]; /* Write buffer */
int wdata2[EDIM0][EDIM1]; /* Write buffer for extension */
int **rdata = NULL; /* Read buffer */
int ndims;
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace with unlimited dimensions.
*/
maxdims[0] = H5S_UNLIMITED;
maxdims[1] = H5S_UNLIMITED;
space = H5Screate_simple(2, dims, maxdims);
/*
* Create the dataset creation property list, and set the chunk
* size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the unlimited dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* In this next section we read back the data, extend the dataset,
* and write new data to the extended portions.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDWR, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Get dataspace and allocate memory for read buffer. This is a
* two dimensional dataset so the dynamic allocation must be done
* in steps.
*/
space = H5Dget_space(dset);
ndims = H5Sget_simple_extent_dims(space, dims, NULL);
/*
* Allocate array of pointers to rows.
*/
rdata = (int **)malloc(dims[0] * sizeof(int *));
/*
* Allocate space for integer data.
*/
rdata[0] = (int *)malloc(dims[0] * dims[1] * sizeof(int));
/*
* Set the rest of the pointers to rows to the correct addresses.
*/
for (i = 1; i < dims[0]; i++)
rdata[i] = rdata[0] + i * dims[1];
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("Dataset before extension:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
status = H5Sclose(space);
/*
* Extend the dataset.
*/
status = H5Dset_extent(dset, extdims);
/*
* Retrieve the dataspace for the newly extended dataset.
*/
space = H5Dget_space(dset);
/*
* Initialize data for writing to the extended dataset.
*/
for (i = 0; i < EDIM0; i++)
for (j = 0; j < EDIM1; j++)
wdata2[i][j] = j;
/*
* Select the entire dataspace.
*/
status = H5Sselect_all(space);
/*
* Subtract a hyperslab reflecting the original dimensions from the
* selection. The selection now contains only the newly extended
* portions of the dataset.
*/
start[0] = 0;
start[1] = 0;
count[0] = dims[0];
count[1] = dims[1];
status = H5Sselect_hyperslab(space, H5S_SELECT_NOTB, start, NULL, count, NULL);
/*
* Write the data to the selected portion of the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, space, H5P_DEFAULT, wdata2[0]);
/*
* Close and release resources.
*/
free(rdata[0]);
free(rdata);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we simply read back the data and output it to the screen.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Get dataspace and allocate memory for the read buffer as before.
*/
space = H5Dget_space(dset);
ndims = H5Sget_simple_extent_dims(space, dims, NULL);
rdata = (int **)malloc(dims[0] * sizeof(int *));
rdata[0] = (int *)malloc(dims[0] * dims[1] * sizeof(int));
for (i = 1; i < dims[0]; i++)
rdata[i] = rdata[0] + i * dims[1];
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nDataset after extension:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
free(rdata[0]);
free(rdata);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+295
View File
@@ -0,0 +1,295 @@
/************************************************************
This example shows how to create and extend an unlimited
dataset with gzip compression. The program first writes
integers to a gzip compressed dataset with dataspace
dimensions of DIM0xDIM1, then closes the file. Next, it
reopens the file, reads back the data, outputs it to the
screen, extends the dataset, and writes new data to the
extended portions of the dataset. Finally it reopens the
file again, reads back the data, and outputs it to the
screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_unlimgzip.h5"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
#define EDIM0 6
#define EDIM1 10
#define CHUNK0 4
#define CHUNK1 4
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
htri_t avail;
H5Z_filter_t filter_type;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t extdims[2] = {EDIM0, EDIM1};
hsize_t maxdims[2];
hsize_t chunk[2] = {CHUNK0, CHUNK1};
hsize_t start[2];
hsize_t count[2];
size_t nelmts;
unsigned int flags, filter_info;
int wdata[DIM0][DIM1]; /* Write buffer */
int wdata2[EDIM0][EDIM1]; /* Write buffer for extension */
int **rdata = NULL; /* Read buffer */
int ndims;
hsize_t i, j;
/*
* Check if gzip compression is available and can be used for both
* compression and decompression. Normally we do not perform error
* checking in these examples for the sake of clarity, but in this
* case we will make an exception because this filter is an
* optional part of the hdf5 library.
*/
avail = H5Zfilter_avail(H5Z_FILTER_DEFLATE);
if (!avail) {
printf("gzip filter not available.\n");
return 1;
}
status = H5Zget_filter_info(H5Z_FILTER_DEFLATE, &filter_info);
if (!(filter_info & H5Z_FILTER_CONFIG_ENCODE_ENABLED) ||
!(filter_info & H5Z_FILTER_CONFIG_DECODE_ENABLED)) {
printf("gzip filter not available for encoding and decoding.\n");
return 1;
}
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace with unlimited dimensions.
*/
maxdims[0] = H5S_UNLIMITED;
maxdims[1] = H5S_UNLIMITED;
space = H5Screate_simple(2, dims, maxdims);
/*
* Create the dataset creation property list, add the gzip
* compression filter and set the chunk size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_deflate(dcpl, 9);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the compressed unlimited dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* In this next section we read back the data, extend the dataset,
* and write new data to the extended portions.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDWR, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Get dataspace and allocate memory for read buffer. This is a
* two dimensional dataset so the dynamic allocation must be done
* in steps.
*/
space = H5Dget_space(dset);
ndims = H5Sget_simple_extent_dims(space, dims, NULL);
/*
* Allocate array of pointers to rows.
*/
rdata = (int **)malloc(dims[0] * sizeof(int *));
/*
* Allocate space for integer data.
*/
rdata[0] = (int *)malloc(dims[0] * dims[1] * sizeof(int));
/*
* Set the rest of the pointers to rows to the correct addresses.
*/
for (i = 1; i < dims[0]; i++)
rdata[i] = rdata[0] + i * dims[1];
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("Dataset before extension:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
status = H5Sclose(space);
/*
* Extend the dataset.
*/
status = H5Dset_extent(dset, extdims);
/*
* Retrieve the dataspace for the newly extended dataset.
*/
space = H5Dget_space(dset);
/*
* Initialize data for writing to the extended dataset.
*/
for (i = 0; i < EDIM0; i++)
for (j = 0; j < EDIM1; j++)
wdata2[i][j] = j;
/*
* Select the entire dataspace.
*/
status = H5Sselect_all(space);
/*
* Subtract a hyperslab reflecting the original dimensions from the
* selection. The selection now contains only the newly extended
* portions of the dataset.
*/
start[0] = 0;
start[1] = 0;
count[0] = dims[0];
count[1] = dims[1];
status = H5Sselect_hyperslab(space, H5S_SELECT_NOTB, start, NULL, count, NULL);
/*
* Write the data to the selected portion of the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, space, H5P_DEFAULT, wdata2[0]);
/*
* Close and release resources.
*/
free(rdata[0]);
free(rdata);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we simply read back the data and output it to the screen.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Retrieve dataset creation property list.
*/
dcpl = H5Dget_create_plist(dset);
/*
* Retrieve and print the filter type. Here we only retrieve the
* first filter because we know that we only added one filter.
*/
nelmts = 0;
filter_type = H5Pget_filter(dcpl, 0, &flags, &nelmts, NULL, 0, NULL, &filter_info);
printf("\nFilter type is: ");
switch (filter_type) {
case H5Z_FILTER_DEFLATE:
printf("H5Z_FILTER_DEFLATE\n");
break;
case H5Z_FILTER_SHUFFLE:
printf("H5Z_FILTER_SHUFFLE\n");
break;
case H5Z_FILTER_FLETCHER32:
printf("H5Z_FILTER_FLETCHER32\n");
break;
case H5Z_FILTER_SZIP:
printf("H5Z_FILTER_SZIP\n");
break;
case H5Z_FILTER_NBIT:
printf("H5Z_FILTER_NBIT\n");
break;
case H5Z_FILTER_SCALEOFFSET:
printf("H5Z_FILTER_SCALEOFFSET\n");
}
/*
* Get dataspace and allocate memory for the read buffer as before.
*/
space = H5Dget_space(dset);
ndims = H5Sget_simple_extent_dims(space, dims, NULL);
rdata = (int **)malloc(dims[0] * sizeof(int *));
rdata[0] = (int *)malloc(dims[0] * dims[1] * sizeof(int));
for (i = 1; i < dims[0]; i++)
rdata[i] = rdata[0] + i * dims[1];
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("Dataset after extension:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
free(rdata[0]);
free(rdata);
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+212
View File
@@ -0,0 +1,212 @@
/************************************************************
This example shows how to create and extend an unlimited
dataset. The program first writes integers to a dataset
with dataspace dimensions of DIM0xDIM1, then closes the
file. Next, it reopens the file, reads back the data,
outputs it to the screen, extends the dataset, and writes
new data to the entire extended dataset. Finally it
reopens the file again, reads back the data, and outputs it
to the screen.
************************************************************/
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE "h5ex_d_unlimmod.h5"
#define DATASET "DS1"
#define DIM0 4
#define DIM1 7
#define EDIM0 6
#define EDIM1 10
#define CHUNK0 4
#define CHUNK1 4
int
main(void)
{
hid_t file = H5I_INVALID_HID;
hid_t space = H5I_INVALID_HID;
hid_t dset = H5I_INVALID_HID;
hid_t dcpl = H5I_INVALID_HID;
herr_t status;
hsize_t dims[2] = {DIM0, DIM1};
hsize_t extdims[2] = {EDIM0, EDIM1};
hsize_t maxdims[2];
hsize_t chunk[2] = {CHUNK0, CHUNK1};
int wdata[DIM0][DIM1]; /* Write buffer */
int wdata2[EDIM0][EDIM1]; /* Write buffer for extension */
int **rdata = NULL; /* Read buffer */
int ndims;
hsize_t i, j;
/*
* Initialize data.
*/
for (i = 0; i < DIM0; i++)
for (j = 0; j < DIM1; j++)
wdata[i][j] = i * j - j;
/*
* Create a new file using the default properties.
*/
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
/*
* Create dataspace with unlimited dimensions.
*/
maxdims[0] = H5S_UNLIMITED;
maxdims[1] = H5S_UNLIMITED;
space = H5Screate_simple(2, dims, maxdims);
/*
* Create the dataset creation property list, and set the chunk
* size.
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
status = H5Pset_chunk(dcpl, 2, chunk);
/*
* Create the unlimited dataset.
*/
dset = H5Dcreate(file, DATASET, H5T_STD_I32LE, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
/*
* Write the data to the dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata[0]);
/*
* Close and release resources.
*/
status = H5Pclose(dcpl);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* In this next section we read back the data, extend the dataset,
* and write new data to the entire dataset.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDWR, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Get dataspace and allocate memory for read buffer. This is a
* two dimensional dataset so the dynamic allocation must be done
* in steps.
*/
space = H5Dget_space(dset);
ndims = H5Sget_simple_extent_dims(space, dims, NULL);
/*
* Allocate array of pointers to rows.
*/
rdata = (int **)malloc(dims[0] * sizeof(int *));
/*
* Allocate space for integer data.
*/
rdata[0] = (int *)malloc(dims[0] * dims[1] * sizeof(int));
/*
* Set the rest of the pointers to rows to the correct addresses.
*/
for (i = 1; i < dims[0]; i++)
rdata[i] = rdata[0] + i * dims[1];
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("Dataset before extension:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Extend the dataset.
*/
status = H5Dset_extent(dset, extdims);
/*
* Initialize data for writing to the extended dataset.
*/
for (i = 0; i < EDIM0; i++)
for (j = 0; j < EDIM1; j++)
wdata2[i][j] = j;
/*
* Write the data to the extended dataset.
*/
status = H5Dwrite(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata2[0]);
/*
* Close and release resources.
*/
free(rdata[0]);
free(rdata);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
/*
* Now we simply read back the data and output it to the screen.
*/
/*
* Open file and dataset using the default properties.
*/
file = H5Fopen(FILE, H5F_ACC_RDONLY, H5P_DEFAULT);
dset = H5Dopen(file, DATASET, H5P_DEFAULT);
/*
* Get dataspace and allocate memory for the read buffer as before.
*/
space = H5Dget_space(dset);
ndims = H5Sget_simple_extent_dims(space, dims, NULL);
rdata = (int **)malloc(dims[0] * sizeof(int *));
rdata[0] = (int *)malloc(dims[0] * dims[1] * sizeof(int));
for (i = 1; i < dims[0]; i++)
rdata[i] = rdata[0] + i * dims[1];
/*
* Read the data using the default properties.
*/
status = H5Dread(dset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata[0]);
/*
* Output the data to the screen.
*/
printf("\nDataset after extension:\n");
for (i = 0; i < dims[0]; i++) {
printf(" [");
for (j = 0; j < dims[1]; j++)
printf(" %3d", rdata[i][j]);
printf("]\n");
}
/*
* Close and release resources.
*/
free(rdata[0]);
free(rdata);
status = H5Dclose(dset);
status = H5Sclose(space);
status = H5Fclose(file);
return 0;
}
+181
View File
@@ -0,0 +1,181 @@
#! /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.
srcdir=@srcdir@
case $CC in
*/*) H5DUMP=`echo $CC | sed -e 's/\/[^/]*$/\/h5dump/'`;
test -x $H5DUMP || H5DUMP=h5dump;;
*) H5DUMP=h5dump;;
esac
case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
*c*,-n*) ECHO_N= ECHO_C='
' ;;
*c*,* ) ECHO_N=-n ECHO_C= ;;
*) ECHO_N= ECHO_C='\c' ;;
esac
ECHO_N="echo $ECHO_N"
exout() {
$*
}
dumpout() {
$H5DUMP $*
}
# compare current version, required version.
# returns if cur_ver < req_ver is true.
version_compare() {
version_lt=0
if [ ! "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" = "$2" ]; then
version_lt=1
fi
}
H5_LIBVER=@H5_LIBVER@
H5_LIBVER_DIR=@H5_LIBVER_DIR@
topics="alloc checksum chunk compact extern fillval gzip hyper \
rdwr shuffle szip unlimadd unlimgzip unlimmod"
topics18=""
version_compare "$H5_LIBVER" "1.8.0"
# check if HDF5 version is < 1.8.0
if [ "$version_lt" = 1 ]; then
dir16="\/16"
else
dir16=""
topics18="nbit sofloat soint transform"
fi
return_val=0
#Remove external data file from h5ex_d_extern
rm -f h5ex_d_extern.data
for topic in $topics
do
fname=h5ex_d_$topic
$ECHO_N "Testing C/H5D/$fname...$ECHO_C"
exout .$dir16/$fname >tmp.test
status=$?
if test $status -eq 1
then
echo " Unsupported feature"
status=0
else
cmp -s tmp.test $srcdir/tfiles/16/$fname.tst
status=$?
if test $status -ne 0
then
echo " FAILED!"
else
dumpout $fname.h5 >tmp.test
rm -f $fname.h5
cmp -s tmp.test $srcdir/tfiles/16/$fname.ddl
status=$?
if test $status -ne 0
then
echo " FAILED!"
else
echo " Passed"
fi
fi
return_val=`expr $status + $return_val`
fi
done
#######Non-standard tests#######
USE_ALT=""
### Set default tfiles directory for tests
nbitdir="18"
version_compare "$H5_LIBVER" "1.8.23"
# check if HDF5 version is < 1.8.23
if [ "$version_lt" = 1 ]; then
USE_ALT="22"
else
# check if HDF5 version is >= 1.10.0 and < 1.10.8
version_compare "$H5_LIBVER" "1.10.0"
if [ "$version_lt" = 0 ]; then
version_compare "$H5_LIBVER" "1.10.8"
if [ "$version_lt" = 1 ]; then
USE_ALT="07"
nbitdir="110"
fi
fi
fi
for topic in $topics18
do
fname=h5ex_d_$topic
$ECHO_N "Testing C/H5D/$fname...$ECHO_C"
exout ./$fname >tmp.test
status=$?
if test $status -eq 1
then
echo " Unsupported feature"
status=0
else
if [[ $fname == "h5ex_d_nbit" ]]
then
tdir=$nbitdir
if [[ $USE_ALT == "" ]]
then
### set USE_ALT=07 if not set above
USE_ALT="07"
fi
else
tdir=18
### unset USE_ALT for the other topics
USE_ALT=""
fi
cmp -s tmp.test $srcdir/tfiles/18/$fname.tst
status=$?
if test $status -ne 0
then
echo " FAILED!"
else
if [[ $fname == "h5ex_d_transform" ]]
then
targ="-n"
else
targ=""
fi
dumpout $targ $fname.h5 >tmp.test
rm -f $fname.h5
cmp -s tmp.test $srcdir/tfiles/$tdir/$fname$USE_ALT.ddl
status=$?
if test $status -ne 0
then
echo " FAILED!"
else
echo " Passed"
fi
fi
return_val=`expr $status + $return_val`
fi
done
#Remove external data file from h5ex_d_extern
rm -f h5ex_d_extern.data
rm -f tmp.test
echo "$return_val tests failed in C/H5D/"
exit $return_val
@@ -0,0 +1,191 @@
HDF5 "h5ex_d_nbit.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE 32-bit little-endian integer
DATASPACE SIMPLE { ( 32, 64 ) / ( 32, 64 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14,
(0,15): -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26,
(0,27): -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38,
(0,39): -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49, -50,
(0,51): -51, -52, -53, -54, -55, -56, -57, -58, -59, -60, -61, -62,
(0,63): -63,
(1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,21): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,42): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,63): 0,
(2,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
(2,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
(2,34): 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
(2,50): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
(3,0): 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
(3,17): 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64,
(3,33): 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96,
(3,49): 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
(3,62): 124, 126,
(4,0): 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48,
(4,17): 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96,
(4,33): 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135,
(4,46): 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 168, 171,
(4,58): 174, 177, 180, 183, 186, 189,
(5,0): 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64,
(5,17): 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120,
(5,31): 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168,
(5,43): 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216,
(5,55): 220, 224, 228, 232, 236, 240, 244, 248, 252,
(6,0): 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75,
(6,16): 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140,
(6,29): 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200,
(6,41): 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260,
(6,53): 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315,
(7,0): 0, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90,
(7,16): 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168,
(7,29): 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240,
(7,41): 246, 252, 258, 264, 270, 276, 282, 288, 294, 300, 306, 312,
(7,53): 318, 324, 330, 336, 342, 348, 354, 360, 366, 372, 378,
(8,0): 0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98, 105,
(8,16): 112, 119, 126, 133, 140, 147, 154, 161, 168, 175, 182, 189,
(8,28): 196, 203, 210, 217, 224, 231, 238, 245, 252, 259, 266, 273,
(8,40): 280, 287, 294, 301, 308, 315, 322, 329, 336, 343, 350, 357,
(8,52): 364, 371, 378, 385, 392, 399, 406, 413, 420, 427, 434, 441,
(9,0): 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120,
(9,16): 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216,
(9,28): 224, 232, 240, 248, 256, 264, 272, 280, 288, 296, 304, 312,
(9,40): 320, 328, 336, 344, 352, 360, 368, 376, 384, 392, 400, 408,
(9,52): 416, 424, 432, 440, 448, 456, 464, 472, 480, 488, 496, 504,
(10,0): 0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126,
(10,15): 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234,
(10,27): 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342,
(10,39): 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450,
(10,51): 459, 468, 477, 486, 495, 504, 513, 522, 531, 540, 549, 558,
(10,63): 567,
(11,0): 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140,
(11,15): 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260,
(11,27): 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380,
(11,39): 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500,
(11,51): 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620,
(11,63): 630,
(12,0): 0, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110, 121, 132, 143, 154,
(12,15): 165, 176, 187, 198, 209, 220, 231, 242, 253, 264, 275, 286,
(12,27): 297, 308, 319, 330, 341, 352, 363, 374, 385, 396, 407, 418,
(12,39): 429, 440, 451, 462, 473, 484, 495, 506, 517, 528, 539, 550,
(12,51): 561, 572, 583, 594, 605, 616, 627, 638, 649, 660, 671, 682,
(12,63): 693,
(13,0): 0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156,
(13,14): 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300,
(13,26): 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, 432, 444,
(13,38): 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588,
(13,50): 600, 612, 624, 636, 648, 660, 672, 684, 696, 708, 720, 732,
(13,62): 744, 756,
(14,0): 0, 13, 26, 39, 52, 65, 78, 91, 104, 117, 130, 143, 156, 169,
(14,14): 182, 195, 208, 221, 234, 247, 260, 273, 286, 299, 312, 325,
(14,26): 338, 351, 364, 377, 390, 403, 416, 429, 442, 455, 468, 481,
(14,38): 494, 507, 520, 533, 546, 559, 572, 585, 598, 611, 624, 637,
(14,50): 650, 663, 676, 689, 702, 715, 728, 741, 754, 767, 780, 793,
(14,62): 806, 819,
(15,0): 0, 14, 28, 42, 56, 70, 84, 98, 112, 126, 140, 154, 168, 182,
(15,14): 196, 210, 224, 238, 252, 266, 280, 294, 308, 322, 336, 350,
(15,26): 364, 378, 392, 406, 420, 434, 448, 462, 476, 490, 504, 518,
(15,38): 532, 546, 560, 574, 588, 602, 616, 630, 644, 658, 672, 686,
(15,50): 700, 714, 728, 742, 756, 770, 784, 798, 812, 826, 840, 854,
(15,62): 868, 882,
(16,0): 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195,
(16,14): 210, 225, 240, 255, 270, 285, 300, 315, 330, 345, 360, 375,
(16,26): 390, 405, 420, 435, 450, 465, 480, 495, 510, 525, 540, 555,
(16,38): 570, 585, 600, 615, 630, 645, 660, 675, 690, 705, 720, 735,
(16,50): 750, 765, 780, 795, 810, 825, 840, 855, 870, 885, 900, 915,
(16,62): 930, 945,
(17,0): 0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208,
(17,14): 224, 240, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400,
(17,26): 416, 432, 448, 464, 480, 496, 512, 528, 544, 560, 576, 592,
(17,38): 608, 624, 640, 656, 672, 688, 704, 720, 736, 752, 768, 784,
(17,50): 800, 816, 832, 848, 864, 880, 896, 912, 928, 944, 960, 976,
(17,62): 992, 1008,
(18,0): 0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221,
(18,14): 238, 255, 272, 289, 306, 323, 340, 357, 374, 391, 408, 425,
(18,26): 442, 459, 476, 493, 510, 527, 544, 561, 578, 595, 612, 629,
(18,38): 646, 663, 680, 697, 714, 731, 748, 765, 782, 799, 816, 833,
(18,50): 850, 867, 884, 901, 918, 935, 952, 969, 986, 1003, 1020, 1037,
(18,62): 1054, 1071,
(19,0): 0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 216, 234,
(19,14): 252, 270, 288, 306, 324, 342, 360, 378, 396, 414, 432, 450,
(19,26): 468, 486, 504, 522, 540, 558, 576, 594, 612, 630, 648, 666,
(19,38): 684, 702, 720, 738, 756, 774, 792, 810, 828, 846, 864, 882,
(19,50): 900, 918, 936, 954, 972, 990, 1008, 1026, 1044, 1062, 1080,
(19,61): 1098, 1116, 1134,
(20,0): 0, 19, 38, 57, 76, 95, 114, 133, 152, 171, 190, 209, 228, 247,
(20,14): 266, 285, 304, 323, 342, 361, 380, 399, 418, 437, 456, 475,
(20,26): 494, 513, 532, 551, 570, 589, 608, 627, 646, 665, 684, 703,
(20,38): 722, 741, 760, 779, 798, 817, 836, 855, 874, 893, 912, 931,
(20,50): 950, 969, 988, 1007, 1026, 1045, 1064, 1083, 1102, 1121, 1140,
(20,61): 1159, 1178, 1197,
(21,0): 0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260,
(21,14): 280, 300, 320, 340, 360, 380, 400, 420, 440, 460, 480, 500,
(21,26): 520, 540, 560, 580, 600, 620, 640, 660, 680, 700, 720, 740,
(21,38): 760, 780, 800, 820, 840, 860, 880, 900, 920, 940, 960, 980,
(21,50): 1000, 1020, 1040, 1060, 1080, 1100, 1120, 1140, 1160, 1180,
(21,60): 1200, 1220, 1240, 1260,
(22,0): 0, 21, 42, 63, 84, 105, 126, 147, 168, 189, 210, 231, 252, 273,
(22,14): 294, 315, 336, 357, 378, 399, 420, 441, 462, 483, 504, 525,
(22,26): 546, 567, 588, 609, 630, 651, 672, 693, 714, 735, 756, 777,
(22,38): 798, 819, 840, 861, 882, 903, 924, 945, 966, 987, 1008, 1029,
(22,50): 1050, 1071, 1092, 1113, 1134, 1155, 1176, 1197, 1218, 1239,
(22,60): 1260, 1281, 1302, 1323,
(23,0): 0, 22, 44, 66, 88, 110, 132, 154, 176, 198, 220, 242, 264, 286,
(23,14): 308, 330, 352, 374, 396, 418, 440, 462, 484, 506, 528, 550,
(23,26): 572, 594, 616, 638, 660, 682, 704, 726, 748, 770, 792, 814,
(23,38): 836, 858, 880, 902, 924, 946, 968, 990, 1012, 1034, 1056,
(23,49): 1078, 1100, 1122, 1144, 1166, 1188, 1210, 1232, 1254, 1276,
(23,59): 1298, 1320, 1342, 1364, 1386,
(24,0): 0, 23, 46, 69, 92, 115, 138, 161, 184, 207, 230, 253, 276, 299,
(24,14): 322, 345, 368, 391, 414, 437, 460, 483, 506, 529, 552, 575,
(24,26): 598, 621, 644, 667, 690, 713, 736, 759, 782, 805, 828, 851,
(24,38): 874, 897, 920, 943, 966, 989, 1012, 1035, 1058, 1081, 1104,
(24,49): 1127, 1150, 1173, 1196, 1219, 1242, 1265, 1288, 1311, 1334,
(24,59): 1357, 1380, 1403, 1426, 1449,
(25,0): 0, 24, 48, 72, 96, 120, 144, 168, 192, 216, 240, 264, 288, 312,
(25,14): 336, 360, 384, 408, 432, 456, 480, 504, 528, 552, 576, 600,
(25,26): 624, 648, 672, 696, 720, 744, 768, 792, 816, 840, 864, 888,
(25,38): 912, 936, 960, 984, 1008, 1032, 1056, 1080, 1104, 1128, 1152,
(25,49): 1176, 1200, 1224, 1248, 1272, 1296, 1320, 1344, 1368, 1392,
(25,59): 1416, 1440, 1464, 1488, 1512,
(26,0): 0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300,
(26,13): 325, 350, 375, 400, 425, 450, 475, 500, 525, 550, 575, 600,
(26,25): 625, 650, 675, 700, 725, 750, 775, 800, 825, 850, 875, 900,
(26,37): 925, 950, 975, 1000, 1025, 1050, 1075, 1100, 1125, 1150, 1175,
(26,48): 1200, 1225, 1250, 1275, 1300, 1325, 1350, 1375, 1400, 1425,
(26,58): 1450, 1475, 1500, 1525, 1550, 1575,
(27,0): 0, 26, 52, 78, 104, 130, 156, 182, 208, 234, 260, 286, 312,
(27,13): 338, 364, 390, 416, 442, 468, 494, 520, 546, 572, 598, 624,
(27,25): 650, 676, 702, 728, 754, 780, 806, 832, 858, 884, 910, 936,
(27,37): 962, 988, 1014, 1040, 1066, 1092, 1118, 1144, 1170, 1196,
(27,47): 1222, 1248, 1274, 1300, 1326, 1352, 1378, 1404, 1430, 1456,
(27,57): 1482, 1508, 1534, 1560, 1586, 1612, 1638,
(28,0): 0, 27, 54, 81, 108, 135, 162, 189, 216, 243, 270, 297, 324,
(28,13): 351, 378, 405, 432, 459, 486, 513, 540, 567, 594, 621, 648,
(28,25): 675, 702, 729, 756, 783, 810, 837, 864, 891, 918, 945, 972,
(28,37): 999, 1026, 1053, 1080, 1107, 1134, 1161, 1188, 1215, 1242,
(28,47): 1269, 1296, 1323, 1350, 1377, 1404, 1431, 1458, 1485, 1512,
(28,57): 1539, 1566, 1593, 1620, 1647, 1674, 1701,
(29,0): 0, 28, 56, 84, 112, 140, 168, 196, 224, 252, 280, 308, 336,
(29,13): 364, 392, 420, 448, 476, 504, 532, 560, 588, 616, 644, 672,
(29,25): 700, 728, 756, 784, 812, 840, 868, 896, 924, 952, 980, 1008,
(29,37): 1036, 1064, 1092, 1120, 1148, 1176, 1204, 1232, 1260, 1288,
(29,47): 1316, 1344, 1372, 1400, 1428, 1456, 1484, 1512, 1540, 1568,
(29,57): 1596, 1624, 1652, 1680, 1708, 1736, 1764,
(30,0): 0, 29, 58, 87, 116, 145, 174, 203, 232, 261, 290, 319, 348,
(30,13): 377, 406, 435, 464, 493, 522, 551, 580, 609, 638, 667, 696,
(30,25): 725, 754, 783, 812, 841, 870, 899, 928, 957, 986, 1015, 1044,
(30,37): 1073, 1102, 1131, 1160, 1189, 1218, 1247, 1276, 1305, 1334,
(30,47): 1363, 1392, 1421, 1450, 1479, 1508, 1537, 1566, 1595, 1624,
(30,57): 1653, 1682, 1711, 1740, 1769, 1798, 1827,
(31,0): 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360,
(31,13): 390, 420, 450, 480, 510, 540, 570, 600, 630, 660, 690, 720,
(31,25): 750, 780, 810, 840, 870, 900, 930, 960, 990, 1020, 1050, 1080,
(31,37): 1110, 1140, 1170, 1200, 1230, 1260, 1290, 1320, 1350, 1380,
(31,47): 1410, 1440, 1470, 1500, 1530, 1560, 1590, 1620, 1650, 1680,
(31,57): 1710, 1740, 1770, 1800, 1830, 1860, 1890
}
}
}
}
@@ -0,0 +1,24 @@
HDF5 "h5ex_d_alloc.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 4, 7 ) / ( 4, 7 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6,
(1,0): 0, 0, 0, 0, 0, 0, 0,
(2,0): 0, 1, 2, 3, 4, 5, 6,
(3,0): 0, 2, 4, 6, 8, 10, 12
}
}
DATASET "DS2" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 4, 7 ) / ( 4, 7 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6,
(1,0): 0, 0, 0, 0, 0, 0, 0,
(2,0): 0, 1, 2, 3, 4, 5, 6,
(3,0): 0, 2, 4, 6, 8, 10, 12
}
}
}
}
@@ -0,0 +1,15 @@
Creating datasets...
DS1 has allocation time H5D_ALLOC_TIME_LATE
DS2 has allocation time H5D_ALLOC_TIME_EARLY
Space for DS1 has not been allocated.
Storage size for DS1 is: 0 bytes.
Space for DS2 has been allocated.
Storage size for DS2 is: 112 bytes.
Writing data...
Space for DS1 has been allocated.
Storage size for DS1 is: 112 bytes.
Space for DS2 has been allocated.
Storage size for DS2 is: 112 bytes.
@@ -0,0 +1,191 @@
HDF5 "h5ex_d_checksum.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 32, 64 ) / ( 32, 64 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14,
(0,15): -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26,
(0,27): -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38,
(0,39): -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49, -50,
(0,51): -51, -52, -53, -54, -55, -56, -57, -58, -59, -60, -61, -62,
(0,63): -63,
(1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,21): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,42): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,63): 0,
(2,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
(2,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
(2,34): 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
(2,50): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
(3,0): 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
(3,17): 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64,
(3,33): 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96,
(3,49): 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
(3,62): 124, 126,
(4,0): 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48,
(4,17): 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96,
(4,33): 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135,
(4,46): 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 168, 171,
(4,58): 174, 177, 180, 183, 186, 189,
(5,0): 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64,
(5,17): 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120,
(5,31): 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168,
(5,43): 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216,
(5,55): 220, 224, 228, 232, 236, 240, 244, 248, 252,
(6,0): 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75,
(6,16): 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140,
(6,29): 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200,
(6,41): 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260,
(6,53): 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315,
(7,0): 0, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90,
(7,16): 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168,
(7,29): 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240,
(7,41): 246, 252, 258, 264, 270, 276, 282, 288, 294, 300, 306, 312,
(7,53): 318, 324, 330, 336, 342, 348, 354, 360, 366, 372, 378,
(8,0): 0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98, 105,
(8,16): 112, 119, 126, 133, 140, 147, 154, 161, 168, 175, 182, 189,
(8,28): 196, 203, 210, 217, 224, 231, 238, 245, 252, 259, 266, 273,
(8,40): 280, 287, 294, 301, 308, 315, 322, 329, 336, 343, 350, 357,
(8,52): 364, 371, 378, 385, 392, 399, 406, 413, 420, 427, 434, 441,
(9,0): 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120,
(9,16): 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216,
(9,28): 224, 232, 240, 248, 256, 264, 272, 280, 288, 296, 304, 312,
(9,40): 320, 328, 336, 344, 352, 360, 368, 376, 384, 392, 400, 408,
(9,52): 416, 424, 432, 440, 448, 456, 464, 472, 480, 488, 496, 504,
(10,0): 0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126,
(10,15): 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234,
(10,27): 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342,
(10,39): 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450,
(10,51): 459, 468, 477, 486, 495, 504, 513, 522, 531, 540, 549, 558,
(10,63): 567,
(11,0): 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140,
(11,15): 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260,
(11,27): 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380,
(11,39): 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500,
(11,51): 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620,
(11,63): 630,
(12,0): 0, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110, 121, 132, 143, 154,
(12,15): 165, 176, 187, 198, 209, 220, 231, 242, 253, 264, 275, 286,
(12,27): 297, 308, 319, 330, 341, 352, 363, 374, 385, 396, 407, 418,
(12,39): 429, 440, 451, 462, 473, 484, 495, 506, 517, 528, 539, 550,
(12,51): 561, 572, 583, 594, 605, 616, 627, 638, 649, 660, 671, 682,
(12,63): 693,
(13,0): 0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156,
(13,14): 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300,
(13,26): 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, 432, 444,
(13,38): 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588,
(13,50): 600, 612, 624, 636, 648, 660, 672, 684, 696, 708, 720, 732,
(13,62): 744, 756,
(14,0): 0, 13, 26, 39, 52, 65, 78, 91, 104, 117, 130, 143, 156, 169,
(14,14): 182, 195, 208, 221, 234, 247, 260, 273, 286, 299, 312, 325,
(14,26): 338, 351, 364, 377, 390, 403, 416, 429, 442, 455, 468, 481,
(14,38): 494, 507, 520, 533, 546, 559, 572, 585, 598, 611, 624, 637,
(14,50): 650, 663, 676, 689, 702, 715, 728, 741, 754, 767, 780, 793,
(14,62): 806, 819,
(15,0): 0, 14, 28, 42, 56, 70, 84, 98, 112, 126, 140, 154, 168, 182,
(15,14): 196, 210, 224, 238, 252, 266, 280, 294, 308, 322, 336, 350,
(15,26): 364, 378, 392, 406, 420, 434, 448, 462, 476, 490, 504, 518,
(15,38): 532, 546, 560, 574, 588, 602, 616, 630, 644, 658, 672, 686,
(15,50): 700, 714, 728, 742, 756, 770, 784, 798, 812, 826, 840, 854,
(15,62): 868, 882,
(16,0): 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195,
(16,14): 210, 225, 240, 255, 270, 285, 300, 315, 330, 345, 360, 375,
(16,26): 390, 405, 420, 435, 450, 465, 480, 495, 510, 525, 540, 555,
(16,38): 570, 585, 600, 615, 630, 645, 660, 675, 690, 705, 720, 735,
(16,50): 750, 765, 780, 795, 810, 825, 840, 855, 870, 885, 900, 915,
(16,62): 930, 945,
(17,0): 0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208,
(17,14): 224, 240, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400,
(17,26): 416, 432, 448, 464, 480, 496, 512, 528, 544, 560, 576, 592,
(17,38): 608, 624, 640, 656, 672, 688, 704, 720, 736, 752, 768, 784,
(17,50): 800, 816, 832, 848, 864, 880, 896, 912, 928, 944, 960, 976,
(17,62): 992, 1008,
(18,0): 0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221,
(18,14): 238, 255, 272, 289, 306, 323, 340, 357, 374, 391, 408, 425,
(18,26): 442, 459, 476, 493, 510, 527, 544, 561, 578, 595, 612, 629,
(18,38): 646, 663, 680, 697, 714, 731, 748, 765, 782, 799, 816, 833,
(18,50): 850, 867, 884, 901, 918, 935, 952, 969, 986, 1003, 1020, 1037,
(18,62): 1054, 1071,
(19,0): 0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 216, 234,
(19,14): 252, 270, 288, 306, 324, 342, 360, 378, 396, 414, 432, 450,
(19,26): 468, 486, 504, 522, 540, 558, 576, 594, 612, 630, 648, 666,
(19,38): 684, 702, 720, 738, 756, 774, 792, 810, 828, 846, 864, 882,
(19,50): 900, 918, 936, 954, 972, 990, 1008, 1026, 1044, 1062, 1080,
(19,61): 1098, 1116, 1134,
(20,0): 0, 19, 38, 57, 76, 95, 114, 133, 152, 171, 190, 209, 228, 247,
(20,14): 266, 285, 304, 323, 342, 361, 380, 399, 418, 437, 456, 475,
(20,26): 494, 513, 532, 551, 570, 589, 608, 627, 646, 665, 684, 703,
(20,38): 722, 741, 760, 779, 798, 817, 836, 855, 874, 893, 912, 931,
(20,50): 950, 969, 988, 1007, 1026, 1045, 1064, 1083, 1102, 1121, 1140,
(20,61): 1159, 1178, 1197,
(21,0): 0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260,
(21,14): 280, 300, 320, 340, 360, 380, 400, 420, 440, 460, 480, 500,
(21,26): 520, 540, 560, 580, 600, 620, 640, 660, 680, 700, 720, 740,
(21,38): 760, 780, 800, 820, 840, 860, 880, 900, 920, 940, 960, 980,
(21,50): 1000, 1020, 1040, 1060, 1080, 1100, 1120, 1140, 1160, 1180,
(21,60): 1200, 1220, 1240, 1260,
(22,0): 0, 21, 42, 63, 84, 105, 126, 147, 168, 189, 210, 231, 252, 273,
(22,14): 294, 315, 336, 357, 378, 399, 420, 441, 462, 483, 504, 525,
(22,26): 546, 567, 588, 609, 630, 651, 672, 693, 714, 735, 756, 777,
(22,38): 798, 819, 840, 861, 882, 903, 924, 945, 966, 987, 1008, 1029,
(22,50): 1050, 1071, 1092, 1113, 1134, 1155, 1176, 1197, 1218, 1239,
(22,60): 1260, 1281, 1302, 1323,
(23,0): 0, 22, 44, 66, 88, 110, 132, 154, 176, 198, 220, 242, 264, 286,
(23,14): 308, 330, 352, 374, 396, 418, 440, 462, 484, 506, 528, 550,
(23,26): 572, 594, 616, 638, 660, 682, 704, 726, 748, 770, 792, 814,
(23,38): 836, 858, 880, 902, 924, 946, 968, 990, 1012, 1034, 1056,
(23,49): 1078, 1100, 1122, 1144, 1166, 1188, 1210, 1232, 1254, 1276,
(23,59): 1298, 1320, 1342, 1364, 1386,
(24,0): 0, 23, 46, 69, 92, 115, 138, 161, 184, 207, 230, 253, 276, 299,
(24,14): 322, 345, 368, 391, 414, 437, 460, 483, 506, 529, 552, 575,
(24,26): 598, 621, 644, 667, 690, 713, 736, 759, 782, 805, 828, 851,
(24,38): 874, 897, 920, 943, 966, 989, 1012, 1035, 1058, 1081, 1104,
(24,49): 1127, 1150, 1173, 1196, 1219, 1242, 1265, 1288, 1311, 1334,
(24,59): 1357, 1380, 1403, 1426, 1449,
(25,0): 0, 24, 48, 72, 96, 120, 144, 168, 192, 216, 240, 264, 288, 312,
(25,14): 336, 360, 384, 408, 432, 456, 480, 504, 528, 552, 576, 600,
(25,26): 624, 648, 672, 696, 720, 744, 768, 792, 816, 840, 864, 888,
(25,38): 912, 936, 960, 984, 1008, 1032, 1056, 1080, 1104, 1128, 1152,
(25,49): 1176, 1200, 1224, 1248, 1272, 1296, 1320, 1344, 1368, 1392,
(25,59): 1416, 1440, 1464, 1488, 1512,
(26,0): 0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300,
(26,13): 325, 350, 375, 400, 425, 450, 475, 500, 525, 550, 575, 600,
(26,25): 625, 650, 675, 700, 725, 750, 775, 800, 825, 850, 875, 900,
(26,37): 925, 950, 975, 1000, 1025, 1050, 1075, 1100, 1125, 1150, 1175,
(26,48): 1200, 1225, 1250, 1275, 1300, 1325, 1350, 1375, 1400, 1425,
(26,58): 1450, 1475, 1500, 1525, 1550, 1575,
(27,0): 0, 26, 52, 78, 104, 130, 156, 182, 208, 234, 260, 286, 312,
(27,13): 338, 364, 390, 416, 442, 468, 494, 520, 546, 572, 598, 624,
(27,25): 650, 676, 702, 728, 754, 780, 806, 832, 858, 884, 910, 936,
(27,37): 962, 988, 1014, 1040, 1066, 1092, 1118, 1144, 1170, 1196,
(27,47): 1222, 1248, 1274, 1300, 1326, 1352, 1378, 1404, 1430, 1456,
(27,57): 1482, 1508, 1534, 1560, 1586, 1612, 1638,
(28,0): 0, 27, 54, 81, 108, 135, 162, 189, 216, 243, 270, 297, 324,
(28,13): 351, 378, 405, 432, 459, 486, 513, 540, 567, 594, 621, 648,
(28,25): 675, 702, 729, 756, 783, 810, 837, 864, 891, 918, 945, 972,
(28,37): 999, 1026, 1053, 1080, 1107, 1134, 1161, 1188, 1215, 1242,
(28,47): 1269, 1296, 1323, 1350, 1377, 1404, 1431, 1458, 1485, 1512,
(28,57): 1539, 1566, 1593, 1620, 1647, 1674, 1701,
(29,0): 0, 28, 56, 84, 112, 140, 168, 196, 224, 252, 280, 308, 336,
(29,13): 364, 392, 420, 448, 476, 504, 532, 560, 588, 616, 644, 672,
(29,25): 700, 728, 756, 784, 812, 840, 868, 896, 924, 952, 980, 1008,
(29,37): 1036, 1064, 1092, 1120, 1148, 1176, 1204, 1232, 1260, 1288,
(29,47): 1316, 1344, 1372, 1400, 1428, 1456, 1484, 1512, 1540, 1568,
(29,57): 1596, 1624, 1652, 1680, 1708, 1736, 1764,
(30,0): 0, 29, 58, 87, 116, 145, 174, 203, 232, 261, 290, 319, 348,
(30,13): 377, 406, 435, 464, 493, 522, 551, 580, 609, 638, 667, 696,
(30,25): 725, 754, 783, 812, 841, 870, 899, 928, 957, 986, 1015, 1044,
(30,37): 1073, 1102, 1131, 1160, 1189, 1218, 1247, 1276, 1305, 1334,
(30,47): 1363, 1392, 1421, 1450, 1479, 1508, 1537, 1566, 1595, 1624,
(30,57): 1653, 1682, 1711, 1740, 1769, 1798, 1827,
(31,0): 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360,
(31,13): 390, 420, 450, 480, 510, 540, 570, 600, 630, 660, 690, 720,
(31,25): 750, 780, 810, 840, 870, 900, 930, 960, 990, 1020, 1050, 1080,
(31,37): 1110, 1140, 1170, 1200, 1230, 1260, 1290, 1320, 1350, 1380,
(31,47): 1410, 1440, 1470, 1500, 1530, 1560, 1590, 1620, 1650, 1680,
(31,57): 1710, 1740, 1770, 1800, 1830, 1860, 1890
}
}
}
}
@@ -0,0 +1,2 @@
Filter type is: H5Z_FILTER_FLETCHER32
Maximum value in DS1 is: 1890
@@ -0,0 +1,16 @@
HDF5 "h5ex_d_chunk.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 6, 8 ) / ( 6, 8 ) }
DATA {
(0,0): 0, 1, 0, 0, 1, 0, 0, 1,
(1,0): 1, 1, 0, 1, 1, 0, 1, 1,
(2,0): 0, 0, 0, 0, 0, 0, 0, 0,
(3,0): 0, 1, 0, 0, 1, 0, 0, 1,
(4,0): 1, 1, 0, 1, 1, 0, 1, 1,
(5,0): 0, 0, 0, 0, 0, 0, 0, 0
}
}
}
}
@@ -0,0 +1,25 @@
Original Data:
[ 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1]
Storage layout for DS1 is: H5D_CHUNKED
Data as written to disk by hyberslabs:
[ 0 1 0 0 1 0 0 1]
[ 1 1 0 1 1 0 1 1]
[ 0 0 0 0 0 0 0 0]
[ 0 1 0 0 1 0 0 1]
[ 1 1 0 1 1 0 1 1]
[ 0 0 0 0 0 0 0 0]
Data as read from disk by hyperslab:
[ 0 1 0 0 0 0 0 1]
[ 0 1 0 1 0 0 1 1]
[ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0]
[ 0 1 0 1 0 0 1 1]
[ 0 0 0 0 0 0 0 0]
@@ -0,0 +1,14 @@
HDF5 "h5ex_d_compact.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 4, 7 ) / ( 4, 7 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6,
(1,0): 0, 0, 0, 0, 0, 0, 0,
(2,0): 0, 1, 2, 3, 4, 5, 6,
(3,0): 0, 2, 4, 6, 8, 10, 12
}
}
}
}
@@ -0,0 +1,6 @@
Storage layout for DS1 is: H5D_COMPACT
DS1:
[ 0 -1 -2 -3 -4 -5 -6]
[ 0 0 0 0 0 0 0]
[ 0 1 2 3 4 5 6]
[ 0 2 4 6 8 10 12]
@@ -0,0 +1,14 @@
HDF5 "h5ex_d_extern.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 4, 7 ) / ( 4, 7 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6,
(1,0): 0, 0, 0, 0, 0, 0, 0,
(2,0): 0, 1, 2, 3, 4, 5, 6,
(3,0): 0, 2, 4, 6, 8, 10, 12
}
}
}
}
@@ -0,0 +1,6 @@
DS1 is stored in file: h5ex_d_extern.data
DS1:
[ 0 -1 -2 -3 -4 -5 -6]
[ 0 0 0 0 0 0 0]
[ 0 1 2 3 4 5 6]
[ 0 2 4 6 8 10 12]
@@ -0,0 +1,16 @@
HDF5 "h5ex_d_fillval.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 6, 10 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6, 99, 99, 99,
(1,0): 0, 0, 0, 0, 0, 0, 0, 99, 99, 99,
(2,0): 0, 1, 2, 3, 4, 5, 6, 99, 99, 99,
(3,0): 0, 2, 4, 6, 8, 10, 12, 99, 99, 99,
(4,0): 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
(5,0): 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
}
}
}
}
@@ -0,0 +1,19 @@
Dataset before being written to:
[ 99 99 99 99 99 99 99]
[ 99 99 99 99 99 99 99]
[ 99 99 99 99 99 99 99]
[ 99 99 99 99 99 99 99]
Dataset after being written to:
[ 0 -1 -2 -3 -4 -5 -6]
[ 0 0 0 0 0 0 0]
[ 0 1 2 3 4 5 6]
[ 0 2 4 6 8 10 12]
Dataset after extension:
[ 0 -1 -2 -3 -4 -5 -6 99 99 99]
[ 0 0 0 0 0 0 0 99 99 99]
[ 0 1 2 3 4 5 6 99 99 99]
[ 0 2 4 6 8 10 12 99 99 99]
[ 99 99 99 99 99 99 99 99 99 99]
[ 99 99 99 99 99 99 99 99 99 99]
@@ -0,0 +1,191 @@
HDF5 "h5ex_d_gzip.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 32, 64 ) / ( 32, 64 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14,
(0,15): -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26,
(0,27): -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38,
(0,39): -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49, -50,
(0,51): -51, -52, -53, -54, -55, -56, -57, -58, -59, -60, -61, -62,
(0,63): -63,
(1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,21): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,42): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,63): 0,
(2,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
(2,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
(2,34): 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
(2,50): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
(3,0): 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
(3,17): 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64,
(3,33): 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96,
(3,49): 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
(3,62): 124, 126,
(4,0): 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48,
(4,17): 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96,
(4,33): 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135,
(4,46): 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 168, 171,
(4,58): 174, 177, 180, 183, 186, 189,
(5,0): 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64,
(5,17): 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120,
(5,31): 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168,
(5,43): 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216,
(5,55): 220, 224, 228, 232, 236, 240, 244, 248, 252,
(6,0): 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75,
(6,16): 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140,
(6,29): 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200,
(6,41): 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260,
(6,53): 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315,
(7,0): 0, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90,
(7,16): 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168,
(7,29): 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240,
(7,41): 246, 252, 258, 264, 270, 276, 282, 288, 294, 300, 306, 312,
(7,53): 318, 324, 330, 336, 342, 348, 354, 360, 366, 372, 378,
(8,0): 0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98, 105,
(8,16): 112, 119, 126, 133, 140, 147, 154, 161, 168, 175, 182, 189,
(8,28): 196, 203, 210, 217, 224, 231, 238, 245, 252, 259, 266, 273,
(8,40): 280, 287, 294, 301, 308, 315, 322, 329, 336, 343, 350, 357,
(8,52): 364, 371, 378, 385, 392, 399, 406, 413, 420, 427, 434, 441,
(9,0): 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120,
(9,16): 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216,
(9,28): 224, 232, 240, 248, 256, 264, 272, 280, 288, 296, 304, 312,
(9,40): 320, 328, 336, 344, 352, 360, 368, 376, 384, 392, 400, 408,
(9,52): 416, 424, 432, 440, 448, 456, 464, 472, 480, 488, 496, 504,
(10,0): 0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126,
(10,15): 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234,
(10,27): 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342,
(10,39): 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450,
(10,51): 459, 468, 477, 486, 495, 504, 513, 522, 531, 540, 549, 558,
(10,63): 567,
(11,0): 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140,
(11,15): 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260,
(11,27): 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380,
(11,39): 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500,
(11,51): 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620,
(11,63): 630,
(12,0): 0, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110, 121, 132, 143, 154,
(12,15): 165, 176, 187, 198, 209, 220, 231, 242, 253, 264, 275, 286,
(12,27): 297, 308, 319, 330, 341, 352, 363, 374, 385, 396, 407, 418,
(12,39): 429, 440, 451, 462, 473, 484, 495, 506, 517, 528, 539, 550,
(12,51): 561, 572, 583, 594, 605, 616, 627, 638, 649, 660, 671, 682,
(12,63): 693,
(13,0): 0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156,
(13,14): 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300,
(13,26): 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, 432, 444,
(13,38): 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588,
(13,50): 600, 612, 624, 636, 648, 660, 672, 684, 696, 708, 720, 732,
(13,62): 744, 756,
(14,0): 0, 13, 26, 39, 52, 65, 78, 91, 104, 117, 130, 143, 156, 169,
(14,14): 182, 195, 208, 221, 234, 247, 260, 273, 286, 299, 312, 325,
(14,26): 338, 351, 364, 377, 390, 403, 416, 429, 442, 455, 468, 481,
(14,38): 494, 507, 520, 533, 546, 559, 572, 585, 598, 611, 624, 637,
(14,50): 650, 663, 676, 689, 702, 715, 728, 741, 754, 767, 780, 793,
(14,62): 806, 819,
(15,0): 0, 14, 28, 42, 56, 70, 84, 98, 112, 126, 140, 154, 168, 182,
(15,14): 196, 210, 224, 238, 252, 266, 280, 294, 308, 322, 336, 350,
(15,26): 364, 378, 392, 406, 420, 434, 448, 462, 476, 490, 504, 518,
(15,38): 532, 546, 560, 574, 588, 602, 616, 630, 644, 658, 672, 686,
(15,50): 700, 714, 728, 742, 756, 770, 784, 798, 812, 826, 840, 854,
(15,62): 868, 882,
(16,0): 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195,
(16,14): 210, 225, 240, 255, 270, 285, 300, 315, 330, 345, 360, 375,
(16,26): 390, 405, 420, 435, 450, 465, 480, 495, 510, 525, 540, 555,
(16,38): 570, 585, 600, 615, 630, 645, 660, 675, 690, 705, 720, 735,
(16,50): 750, 765, 780, 795, 810, 825, 840, 855, 870, 885, 900, 915,
(16,62): 930, 945,
(17,0): 0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208,
(17,14): 224, 240, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400,
(17,26): 416, 432, 448, 464, 480, 496, 512, 528, 544, 560, 576, 592,
(17,38): 608, 624, 640, 656, 672, 688, 704, 720, 736, 752, 768, 784,
(17,50): 800, 816, 832, 848, 864, 880, 896, 912, 928, 944, 960, 976,
(17,62): 992, 1008,
(18,0): 0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221,
(18,14): 238, 255, 272, 289, 306, 323, 340, 357, 374, 391, 408, 425,
(18,26): 442, 459, 476, 493, 510, 527, 544, 561, 578, 595, 612, 629,
(18,38): 646, 663, 680, 697, 714, 731, 748, 765, 782, 799, 816, 833,
(18,50): 850, 867, 884, 901, 918, 935, 952, 969, 986, 1003, 1020, 1037,
(18,62): 1054, 1071,
(19,0): 0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 216, 234,
(19,14): 252, 270, 288, 306, 324, 342, 360, 378, 396, 414, 432, 450,
(19,26): 468, 486, 504, 522, 540, 558, 576, 594, 612, 630, 648, 666,
(19,38): 684, 702, 720, 738, 756, 774, 792, 810, 828, 846, 864, 882,
(19,50): 900, 918, 936, 954, 972, 990, 1008, 1026, 1044, 1062, 1080,
(19,61): 1098, 1116, 1134,
(20,0): 0, 19, 38, 57, 76, 95, 114, 133, 152, 171, 190, 209, 228, 247,
(20,14): 266, 285, 304, 323, 342, 361, 380, 399, 418, 437, 456, 475,
(20,26): 494, 513, 532, 551, 570, 589, 608, 627, 646, 665, 684, 703,
(20,38): 722, 741, 760, 779, 798, 817, 836, 855, 874, 893, 912, 931,
(20,50): 950, 969, 988, 1007, 1026, 1045, 1064, 1083, 1102, 1121, 1140,
(20,61): 1159, 1178, 1197,
(21,0): 0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260,
(21,14): 280, 300, 320, 340, 360, 380, 400, 420, 440, 460, 480, 500,
(21,26): 520, 540, 560, 580, 600, 620, 640, 660, 680, 700, 720, 740,
(21,38): 760, 780, 800, 820, 840, 860, 880, 900, 920, 940, 960, 980,
(21,50): 1000, 1020, 1040, 1060, 1080, 1100, 1120, 1140, 1160, 1180,
(21,60): 1200, 1220, 1240, 1260,
(22,0): 0, 21, 42, 63, 84, 105, 126, 147, 168, 189, 210, 231, 252, 273,
(22,14): 294, 315, 336, 357, 378, 399, 420, 441, 462, 483, 504, 525,
(22,26): 546, 567, 588, 609, 630, 651, 672, 693, 714, 735, 756, 777,
(22,38): 798, 819, 840, 861, 882, 903, 924, 945, 966, 987, 1008, 1029,
(22,50): 1050, 1071, 1092, 1113, 1134, 1155, 1176, 1197, 1218, 1239,
(22,60): 1260, 1281, 1302, 1323,
(23,0): 0, 22, 44, 66, 88, 110, 132, 154, 176, 198, 220, 242, 264, 286,
(23,14): 308, 330, 352, 374, 396, 418, 440, 462, 484, 506, 528, 550,
(23,26): 572, 594, 616, 638, 660, 682, 704, 726, 748, 770, 792, 814,
(23,38): 836, 858, 880, 902, 924, 946, 968, 990, 1012, 1034, 1056,
(23,49): 1078, 1100, 1122, 1144, 1166, 1188, 1210, 1232, 1254, 1276,
(23,59): 1298, 1320, 1342, 1364, 1386,
(24,0): 0, 23, 46, 69, 92, 115, 138, 161, 184, 207, 230, 253, 276, 299,
(24,14): 322, 345, 368, 391, 414, 437, 460, 483, 506, 529, 552, 575,
(24,26): 598, 621, 644, 667, 690, 713, 736, 759, 782, 805, 828, 851,
(24,38): 874, 897, 920, 943, 966, 989, 1012, 1035, 1058, 1081, 1104,
(24,49): 1127, 1150, 1173, 1196, 1219, 1242, 1265, 1288, 1311, 1334,
(24,59): 1357, 1380, 1403, 1426, 1449,
(25,0): 0, 24, 48, 72, 96, 120, 144, 168, 192, 216, 240, 264, 288, 312,
(25,14): 336, 360, 384, 408, 432, 456, 480, 504, 528, 552, 576, 600,
(25,26): 624, 648, 672, 696, 720, 744, 768, 792, 816, 840, 864, 888,
(25,38): 912, 936, 960, 984, 1008, 1032, 1056, 1080, 1104, 1128, 1152,
(25,49): 1176, 1200, 1224, 1248, 1272, 1296, 1320, 1344, 1368, 1392,
(25,59): 1416, 1440, 1464, 1488, 1512,
(26,0): 0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300,
(26,13): 325, 350, 375, 400, 425, 450, 475, 500, 525, 550, 575, 600,
(26,25): 625, 650, 675, 700, 725, 750, 775, 800, 825, 850, 875, 900,
(26,37): 925, 950, 975, 1000, 1025, 1050, 1075, 1100, 1125, 1150, 1175,
(26,48): 1200, 1225, 1250, 1275, 1300, 1325, 1350, 1375, 1400, 1425,
(26,58): 1450, 1475, 1500, 1525, 1550, 1575,
(27,0): 0, 26, 52, 78, 104, 130, 156, 182, 208, 234, 260, 286, 312,
(27,13): 338, 364, 390, 416, 442, 468, 494, 520, 546, 572, 598, 624,
(27,25): 650, 676, 702, 728, 754, 780, 806, 832, 858, 884, 910, 936,
(27,37): 962, 988, 1014, 1040, 1066, 1092, 1118, 1144, 1170, 1196,
(27,47): 1222, 1248, 1274, 1300, 1326, 1352, 1378, 1404, 1430, 1456,
(27,57): 1482, 1508, 1534, 1560, 1586, 1612, 1638,
(28,0): 0, 27, 54, 81, 108, 135, 162, 189, 216, 243, 270, 297, 324,
(28,13): 351, 378, 405, 432, 459, 486, 513, 540, 567, 594, 621, 648,
(28,25): 675, 702, 729, 756, 783, 810, 837, 864, 891, 918, 945, 972,
(28,37): 999, 1026, 1053, 1080, 1107, 1134, 1161, 1188, 1215, 1242,
(28,47): 1269, 1296, 1323, 1350, 1377, 1404, 1431, 1458, 1485, 1512,
(28,57): 1539, 1566, 1593, 1620, 1647, 1674, 1701,
(29,0): 0, 28, 56, 84, 112, 140, 168, 196, 224, 252, 280, 308, 336,
(29,13): 364, 392, 420, 448, 476, 504, 532, 560, 588, 616, 644, 672,
(29,25): 700, 728, 756, 784, 812, 840, 868, 896, 924, 952, 980, 1008,
(29,37): 1036, 1064, 1092, 1120, 1148, 1176, 1204, 1232, 1260, 1288,
(29,47): 1316, 1344, 1372, 1400, 1428, 1456, 1484, 1512, 1540, 1568,
(29,57): 1596, 1624, 1652, 1680, 1708, 1736, 1764,
(30,0): 0, 29, 58, 87, 116, 145, 174, 203, 232, 261, 290, 319, 348,
(30,13): 377, 406, 435, 464, 493, 522, 551, 580, 609, 638, 667, 696,
(30,25): 725, 754, 783, 812, 841, 870, 899, 928, 957, 986, 1015, 1044,
(30,37): 1073, 1102, 1131, 1160, 1189, 1218, 1247, 1276, 1305, 1334,
(30,47): 1363, 1392, 1421, 1450, 1479, 1508, 1537, 1566, 1595, 1624,
(30,57): 1653, 1682, 1711, 1740, 1769, 1798, 1827,
(31,0): 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360,
(31,13): 390, 420, 450, 480, 510, 540, 570, 600, 630, 660, 690, 720,
(31,25): 750, 780, 810, 840, 870, 900, 930, 960, 990, 1020, 1050, 1080,
(31,37): 1110, 1140, 1170, 1200, 1230, 1260, 1290, 1320, 1350, 1380,
(31,47): 1410, 1440, 1470, 1500, 1530, 1560, 1590, 1620, 1650, 1680,
(31,57): 1710, 1740, 1770, 1800, 1830, 1860, 1890
}
}
}
}
@@ -0,0 +1,2 @@
Filter type is: H5Z_FILTER_DEFLATE
Maximum value in DS1 is: 1890
@@ -0,0 +1,16 @@
HDF5 "h5ex_d_hyper.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 6, 8 ) / ( 6, 8 ) }
DATA {
(0,0): 0, 1, 0, 0, 1, 0, 0, 1,
(1,0): 1, 1, 0, 1, 1, 0, 1, 1,
(2,0): 0, 0, 0, 0, 0, 0, 0, 0,
(3,0): 0, 1, 0, 0, 1, 0, 0, 1,
(4,0): 1, 1, 0, 1, 1, 0, 1, 1,
(5,0): 0, 0, 0, 0, 0, 0, 0, 0
}
}
}
}
@@ -0,0 +1,23 @@
Original Data:
[ 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1]
[ 1 1 1 1 1 1 1 1]
Data as written to disk by hyberslabs:
[ 0 1 0 0 1 0 0 1]
[ 1 1 0 1 1 0 1 1]
[ 0 0 0 0 0 0 0 0]
[ 0 1 0 0 1 0 0 1]
[ 1 1 0 1 1 0 1 1]
[ 0 0 0 0 0 0 0 0]
Data as read from disk by hyperslab:
[ 0 1 0 0 0 0 0 1]
[ 0 1 0 1 0 0 1 1]
[ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0]
[ 0 1 0 1 0 0 1 1]
[ 0 0 0 0 0 0 0 0]
@@ -0,0 +1,14 @@
HDF5 "h5ex_d_rdwr.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 4, 7 ) / ( 4, 7 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6,
(1,0): 0, 0, 0, 0, 0, 0, 0,
(2,0): 0, 1, 2, 3, 4, 5, 6,
(3,0): 0, 2, 4, 6, 8, 10, 12
}
}
}
}
@@ -0,0 +1,5 @@
DS1:
[ 0 -1 -2 -3 -4 -5 -6]
[ 0 0 0 0 0 0 0]
[ 0 1 2 3 4 5 6]
[ 0 2 4 6 8 10 12]
@@ -0,0 +1,191 @@
HDF5 "h5ex_d_shuffle.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 32, 64 ) / ( 32, 64 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14,
(0,15): -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26,
(0,27): -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38,
(0,39): -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49, -50,
(0,51): -51, -52, -53, -54, -55, -56, -57, -58, -59, -60, -61, -62,
(0,63): -63,
(1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,21): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,42): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,63): 0,
(2,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
(2,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
(2,34): 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
(2,50): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
(3,0): 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
(3,17): 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64,
(3,33): 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96,
(3,49): 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
(3,62): 124, 126,
(4,0): 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48,
(4,17): 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96,
(4,33): 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135,
(4,46): 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 168, 171,
(4,58): 174, 177, 180, 183, 186, 189,
(5,0): 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64,
(5,17): 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120,
(5,31): 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168,
(5,43): 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216,
(5,55): 220, 224, 228, 232, 236, 240, 244, 248, 252,
(6,0): 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75,
(6,16): 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140,
(6,29): 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200,
(6,41): 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260,
(6,53): 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315,
(7,0): 0, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90,
(7,16): 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168,
(7,29): 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240,
(7,41): 246, 252, 258, 264, 270, 276, 282, 288, 294, 300, 306, 312,
(7,53): 318, 324, 330, 336, 342, 348, 354, 360, 366, 372, 378,
(8,0): 0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98, 105,
(8,16): 112, 119, 126, 133, 140, 147, 154, 161, 168, 175, 182, 189,
(8,28): 196, 203, 210, 217, 224, 231, 238, 245, 252, 259, 266, 273,
(8,40): 280, 287, 294, 301, 308, 315, 322, 329, 336, 343, 350, 357,
(8,52): 364, 371, 378, 385, 392, 399, 406, 413, 420, 427, 434, 441,
(9,0): 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120,
(9,16): 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216,
(9,28): 224, 232, 240, 248, 256, 264, 272, 280, 288, 296, 304, 312,
(9,40): 320, 328, 336, 344, 352, 360, 368, 376, 384, 392, 400, 408,
(9,52): 416, 424, 432, 440, 448, 456, 464, 472, 480, 488, 496, 504,
(10,0): 0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126,
(10,15): 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234,
(10,27): 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342,
(10,39): 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450,
(10,51): 459, 468, 477, 486, 495, 504, 513, 522, 531, 540, 549, 558,
(10,63): 567,
(11,0): 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140,
(11,15): 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260,
(11,27): 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380,
(11,39): 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500,
(11,51): 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620,
(11,63): 630,
(12,0): 0, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110, 121, 132, 143, 154,
(12,15): 165, 176, 187, 198, 209, 220, 231, 242, 253, 264, 275, 286,
(12,27): 297, 308, 319, 330, 341, 352, 363, 374, 385, 396, 407, 418,
(12,39): 429, 440, 451, 462, 473, 484, 495, 506, 517, 528, 539, 550,
(12,51): 561, 572, 583, 594, 605, 616, 627, 638, 649, 660, 671, 682,
(12,63): 693,
(13,0): 0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156,
(13,14): 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300,
(13,26): 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, 432, 444,
(13,38): 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588,
(13,50): 600, 612, 624, 636, 648, 660, 672, 684, 696, 708, 720, 732,
(13,62): 744, 756,
(14,0): 0, 13, 26, 39, 52, 65, 78, 91, 104, 117, 130, 143, 156, 169,
(14,14): 182, 195, 208, 221, 234, 247, 260, 273, 286, 299, 312, 325,
(14,26): 338, 351, 364, 377, 390, 403, 416, 429, 442, 455, 468, 481,
(14,38): 494, 507, 520, 533, 546, 559, 572, 585, 598, 611, 624, 637,
(14,50): 650, 663, 676, 689, 702, 715, 728, 741, 754, 767, 780, 793,
(14,62): 806, 819,
(15,0): 0, 14, 28, 42, 56, 70, 84, 98, 112, 126, 140, 154, 168, 182,
(15,14): 196, 210, 224, 238, 252, 266, 280, 294, 308, 322, 336, 350,
(15,26): 364, 378, 392, 406, 420, 434, 448, 462, 476, 490, 504, 518,
(15,38): 532, 546, 560, 574, 588, 602, 616, 630, 644, 658, 672, 686,
(15,50): 700, 714, 728, 742, 756, 770, 784, 798, 812, 826, 840, 854,
(15,62): 868, 882,
(16,0): 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195,
(16,14): 210, 225, 240, 255, 270, 285, 300, 315, 330, 345, 360, 375,
(16,26): 390, 405, 420, 435, 450, 465, 480, 495, 510, 525, 540, 555,
(16,38): 570, 585, 600, 615, 630, 645, 660, 675, 690, 705, 720, 735,
(16,50): 750, 765, 780, 795, 810, 825, 840, 855, 870, 885, 900, 915,
(16,62): 930, 945,
(17,0): 0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208,
(17,14): 224, 240, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400,
(17,26): 416, 432, 448, 464, 480, 496, 512, 528, 544, 560, 576, 592,
(17,38): 608, 624, 640, 656, 672, 688, 704, 720, 736, 752, 768, 784,
(17,50): 800, 816, 832, 848, 864, 880, 896, 912, 928, 944, 960, 976,
(17,62): 992, 1008,
(18,0): 0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221,
(18,14): 238, 255, 272, 289, 306, 323, 340, 357, 374, 391, 408, 425,
(18,26): 442, 459, 476, 493, 510, 527, 544, 561, 578, 595, 612, 629,
(18,38): 646, 663, 680, 697, 714, 731, 748, 765, 782, 799, 816, 833,
(18,50): 850, 867, 884, 901, 918, 935, 952, 969, 986, 1003, 1020, 1037,
(18,62): 1054, 1071,
(19,0): 0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 216, 234,
(19,14): 252, 270, 288, 306, 324, 342, 360, 378, 396, 414, 432, 450,
(19,26): 468, 486, 504, 522, 540, 558, 576, 594, 612, 630, 648, 666,
(19,38): 684, 702, 720, 738, 756, 774, 792, 810, 828, 846, 864, 882,
(19,50): 900, 918, 936, 954, 972, 990, 1008, 1026, 1044, 1062, 1080,
(19,61): 1098, 1116, 1134,
(20,0): 0, 19, 38, 57, 76, 95, 114, 133, 152, 171, 190, 209, 228, 247,
(20,14): 266, 285, 304, 323, 342, 361, 380, 399, 418, 437, 456, 475,
(20,26): 494, 513, 532, 551, 570, 589, 608, 627, 646, 665, 684, 703,
(20,38): 722, 741, 760, 779, 798, 817, 836, 855, 874, 893, 912, 931,
(20,50): 950, 969, 988, 1007, 1026, 1045, 1064, 1083, 1102, 1121, 1140,
(20,61): 1159, 1178, 1197,
(21,0): 0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260,
(21,14): 280, 300, 320, 340, 360, 380, 400, 420, 440, 460, 480, 500,
(21,26): 520, 540, 560, 580, 600, 620, 640, 660, 680, 700, 720, 740,
(21,38): 760, 780, 800, 820, 840, 860, 880, 900, 920, 940, 960, 980,
(21,50): 1000, 1020, 1040, 1060, 1080, 1100, 1120, 1140, 1160, 1180,
(21,60): 1200, 1220, 1240, 1260,
(22,0): 0, 21, 42, 63, 84, 105, 126, 147, 168, 189, 210, 231, 252, 273,
(22,14): 294, 315, 336, 357, 378, 399, 420, 441, 462, 483, 504, 525,
(22,26): 546, 567, 588, 609, 630, 651, 672, 693, 714, 735, 756, 777,
(22,38): 798, 819, 840, 861, 882, 903, 924, 945, 966, 987, 1008, 1029,
(22,50): 1050, 1071, 1092, 1113, 1134, 1155, 1176, 1197, 1218, 1239,
(22,60): 1260, 1281, 1302, 1323,
(23,0): 0, 22, 44, 66, 88, 110, 132, 154, 176, 198, 220, 242, 264, 286,
(23,14): 308, 330, 352, 374, 396, 418, 440, 462, 484, 506, 528, 550,
(23,26): 572, 594, 616, 638, 660, 682, 704, 726, 748, 770, 792, 814,
(23,38): 836, 858, 880, 902, 924, 946, 968, 990, 1012, 1034, 1056,
(23,49): 1078, 1100, 1122, 1144, 1166, 1188, 1210, 1232, 1254, 1276,
(23,59): 1298, 1320, 1342, 1364, 1386,
(24,0): 0, 23, 46, 69, 92, 115, 138, 161, 184, 207, 230, 253, 276, 299,
(24,14): 322, 345, 368, 391, 414, 437, 460, 483, 506, 529, 552, 575,
(24,26): 598, 621, 644, 667, 690, 713, 736, 759, 782, 805, 828, 851,
(24,38): 874, 897, 920, 943, 966, 989, 1012, 1035, 1058, 1081, 1104,
(24,49): 1127, 1150, 1173, 1196, 1219, 1242, 1265, 1288, 1311, 1334,
(24,59): 1357, 1380, 1403, 1426, 1449,
(25,0): 0, 24, 48, 72, 96, 120, 144, 168, 192, 216, 240, 264, 288, 312,
(25,14): 336, 360, 384, 408, 432, 456, 480, 504, 528, 552, 576, 600,
(25,26): 624, 648, 672, 696, 720, 744, 768, 792, 816, 840, 864, 888,
(25,38): 912, 936, 960, 984, 1008, 1032, 1056, 1080, 1104, 1128, 1152,
(25,49): 1176, 1200, 1224, 1248, 1272, 1296, 1320, 1344, 1368, 1392,
(25,59): 1416, 1440, 1464, 1488, 1512,
(26,0): 0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300,
(26,13): 325, 350, 375, 400, 425, 450, 475, 500, 525, 550, 575, 600,
(26,25): 625, 650, 675, 700, 725, 750, 775, 800, 825, 850, 875, 900,
(26,37): 925, 950, 975, 1000, 1025, 1050, 1075, 1100, 1125, 1150, 1175,
(26,48): 1200, 1225, 1250, 1275, 1300, 1325, 1350, 1375, 1400, 1425,
(26,58): 1450, 1475, 1500, 1525, 1550, 1575,
(27,0): 0, 26, 52, 78, 104, 130, 156, 182, 208, 234, 260, 286, 312,
(27,13): 338, 364, 390, 416, 442, 468, 494, 520, 546, 572, 598, 624,
(27,25): 650, 676, 702, 728, 754, 780, 806, 832, 858, 884, 910, 936,
(27,37): 962, 988, 1014, 1040, 1066, 1092, 1118, 1144, 1170, 1196,
(27,47): 1222, 1248, 1274, 1300, 1326, 1352, 1378, 1404, 1430, 1456,
(27,57): 1482, 1508, 1534, 1560, 1586, 1612, 1638,
(28,0): 0, 27, 54, 81, 108, 135, 162, 189, 216, 243, 270, 297, 324,
(28,13): 351, 378, 405, 432, 459, 486, 513, 540, 567, 594, 621, 648,
(28,25): 675, 702, 729, 756, 783, 810, 837, 864, 891, 918, 945, 972,
(28,37): 999, 1026, 1053, 1080, 1107, 1134, 1161, 1188, 1215, 1242,
(28,47): 1269, 1296, 1323, 1350, 1377, 1404, 1431, 1458, 1485, 1512,
(28,57): 1539, 1566, 1593, 1620, 1647, 1674, 1701,
(29,0): 0, 28, 56, 84, 112, 140, 168, 196, 224, 252, 280, 308, 336,
(29,13): 364, 392, 420, 448, 476, 504, 532, 560, 588, 616, 644, 672,
(29,25): 700, 728, 756, 784, 812, 840, 868, 896, 924, 952, 980, 1008,
(29,37): 1036, 1064, 1092, 1120, 1148, 1176, 1204, 1232, 1260, 1288,
(29,47): 1316, 1344, 1372, 1400, 1428, 1456, 1484, 1512, 1540, 1568,
(29,57): 1596, 1624, 1652, 1680, 1708, 1736, 1764,
(30,0): 0, 29, 58, 87, 116, 145, 174, 203, 232, 261, 290, 319, 348,
(30,13): 377, 406, 435, 464, 493, 522, 551, 580, 609, 638, 667, 696,
(30,25): 725, 754, 783, 812, 841, 870, 899, 928, 957, 986, 1015, 1044,
(30,37): 1073, 1102, 1131, 1160, 1189, 1218, 1247, 1276, 1305, 1334,
(30,47): 1363, 1392, 1421, 1450, 1479, 1508, 1537, 1566, 1595, 1624,
(30,57): 1653, 1682, 1711, 1740, 1769, 1798, 1827,
(31,0): 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360,
(31,13): 390, 420, 450, 480, 510, 540, 570, 600, 630, 660, 690, 720,
(31,25): 750, 780, 810, 840, 870, 900, 930, 960, 990, 1020, 1050, 1080,
(31,37): 1110, 1140, 1170, 1200, 1230, 1260, 1290, 1320, 1350, 1380,
(31,47): 1410, 1440, 1470, 1500, 1530, 1560, 1590, 1620, 1650, 1680,
(31,57): 1710, 1740, 1770, 1800, 1830, 1860, 1890
}
}
}
}
@@ -0,0 +1,3 @@
Filter 0: Type is: H5Z_FILTER_SHUFFLE
Filter 1: Type is: H5Z_FILTER_DEFLATE
Maximum value in DS1 is: 1890
@@ -0,0 +1,191 @@
HDF5 "h5ex_d_szip.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 32, 64 ) / ( 32, 64 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14,
(0,15): -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26,
(0,27): -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38,
(0,39): -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49, -50,
(0,51): -51, -52, -53, -54, -55, -56, -57, -58, -59, -60, -61, -62,
(0,63): -63,
(1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,21): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,42): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,63): 0,
(2,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
(2,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
(2,34): 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
(2,50): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
(3,0): 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
(3,17): 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64,
(3,33): 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96,
(3,49): 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
(3,62): 124, 126,
(4,0): 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48,
(4,17): 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96,
(4,33): 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135,
(4,46): 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 168, 171,
(4,58): 174, 177, 180, 183, 186, 189,
(5,0): 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64,
(5,17): 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120,
(5,31): 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168,
(5,43): 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216,
(5,55): 220, 224, 228, 232, 236, 240, 244, 248, 252,
(6,0): 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75,
(6,16): 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140,
(6,29): 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200,
(6,41): 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260,
(6,53): 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315,
(7,0): 0, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90,
(7,16): 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168,
(7,29): 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240,
(7,41): 246, 252, 258, 264, 270, 276, 282, 288, 294, 300, 306, 312,
(7,53): 318, 324, 330, 336, 342, 348, 354, 360, 366, 372, 378,
(8,0): 0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98, 105,
(8,16): 112, 119, 126, 133, 140, 147, 154, 161, 168, 175, 182, 189,
(8,28): 196, 203, 210, 217, 224, 231, 238, 245, 252, 259, 266, 273,
(8,40): 280, 287, 294, 301, 308, 315, 322, 329, 336, 343, 350, 357,
(8,52): 364, 371, 378, 385, 392, 399, 406, 413, 420, 427, 434, 441,
(9,0): 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120,
(9,16): 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216,
(9,28): 224, 232, 240, 248, 256, 264, 272, 280, 288, 296, 304, 312,
(9,40): 320, 328, 336, 344, 352, 360, 368, 376, 384, 392, 400, 408,
(9,52): 416, 424, 432, 440, 448, 456, 464, 472, 480, 488, 496, 504,
(10,0): 0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126,
(10,15): 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234,
(10,27): 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342,
(10,39): 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450,
(10,51): 459, 468, 477, 486, 495, 504, 513, 522, 531, 540, 549, 558,
(10,63): 567,
(11,0): 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140,
(11,15): 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260,
(11,27): 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380,
(11,39): 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500,
(11,51): 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620,
(11,63): 630,
(12,0): 0, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110, 121, 132, 143, 154,
(12,15): 165, 176, 187, 198, 209, 220, 231, 242, 253, 264, 275, 286,
(12,27): 297, 308, 319, 330, 341, 352, 363, 374, 385, 396, 407, 418,
(12,39): 429, 440, 451, 462, 473, 484, 495, 506, 517, 528, 539, 550,
(12,51): 561, 572, 583, 594, 605, 616, 627, 638, 649, 660, 671, 682,
(12,63): 693,
(13,0): 0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156,
(13,14): 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300,
(13,26): 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, 432, 444,
(13,38): 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588,
(13,50): 600, 612, 624, 636, 648, 660, 672, 684, 696, 708, 720, 732,
(13,62): 744, 756,
(14,0): 0, 13, 26, 39, 52, 65, 78, 91, 104, 117, 130, 143, 156, 169,
(14,14): 182, 195, 208, 221, 234, 247, 260, 273, 286, 299, 312, 325,
(14,26): 338, 351, 364, 377, 390, 403, 416, 429, 442, 455, 468, 481,
(14,38): 494, 507, 520, 533, 546, 559, 572, 585, 598, 611, 624, 637,
(14,50): 650, 663, 676, 689, 702, 715, 728, 741, 754, 767, 780, 793,
(14,62): 806, 819,
(15,0): 0, 14, 28, 42, 56, 70, 84, 98, 112, 126, 140, 154, 168, 182,
(15,14): 196, 210, 224, 238, 252, 266, 280, 294, 308, 322, 336, 350,
(15,26): 364, 378, 392, 406, 420, 434, 448, 462, 476, 490, 504, 518,
(15,38): 532, 546, 560, 574, 588, 602, 616, 630, 644, 658, 672, 686,
(15,50): 700, 714, 728, 742, 756, 770, 784, 798, 812, 826, 840, 854,
(15,62): 868, 882,
(16,0): 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195,
(16,14): 210, 225, 240, 255, 270, 285, 300, 315, 330, 345, 360, 375,
(16,26): 390, 405, 420, 435, 450, 465, 480, 495, 510, 525, 540, 555,
(16,38): 570, 585, 600, 615, 630, 645, 660, 675, 690, 705, 720, 735,
(16,50): 750, 765, 780, 795, 810, 825, 840, 855, 870, 885, 900, 915,
(16,62): 930, 945,
(17,0): 0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208,
(17,14): 224, 240, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400,
(17,26): 416, 432, 448, 464, 480, 496, 512, 528, 544, 560, 576, 592,
(17,38): 608, 624, 640, 656, 672, 688, 704, 720, 736, 752, 768, 784,
(17,50): 800, 816, 832, 848, 864, 880, 896, 912, 928, 944, 960, 976,
(17,62): 992, 1008,
(18,0): 0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221,
(18,14): 238, 255, 272, 289, 306, 323, 340, 357, 374, 391, 408, 425,
(18,26): 442, 459, 476, 493, 510, 527, 544, 561, 578, 595, 612, 629,
(18,38): 646, 663, 680, 697, 714, 731, 748, 765, 782, 799, 816, 833,
(18,50): 850, 867, 884, 901, 918, 935, 952, 969, 986, 1003, 1020, 1037,
(18,62): 1054, 1071,
(19,0): 0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 216, 234,
(19,14): 252, 270, 288, 306, 324, 342, 360, 378, 396, 414, 432, 450,
(19,26): 468, 486, 504, 522, 540, 558, 576, 594, 612, 630, 648, 666,
(19,38): 684, 702, 720, 738, 756, 774, 792, 810, 828, 846, 864, 882,
(19,50): 900, 918, 936, 954, 972, 990, 1008, 1026, 1044, 1062, 1080,
(19,61): 1098, 1116, 1134,
(20,0): 0, 19, 38, 57, 76, 95, 114, 133, 152, 171, 190, 209, 228, 247,
(20,14): 266, 285, 304, 323, 342, 361, 380, 399, 418, 437, 456, 475,
(20,26): 494, 513, 532, 551, 570, 589, 608, 627, 646, 665, 684, 703,
(20,38): 722, 741, 760, 779, 798, 817, 836, 855, 874, 893, 912, 931,
(20,50): 950, 969, 988, 1007, 1026, 1045, 1064, 1083, 1102, 1121, 1140,
(20,61): 1159, 1178, 1197,
(21,0): 0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260,
(21,14): 280, 300, 320, 340, 360, 380, 400, 420, 440, 460, 480, 500,
(21,26): 520, 540, 560, 580, 600, 620, 640, 660, 680, 700, 720, 740,
(21,38): 760, 780, 800, 820, 840, 860, 880, 900, 920, 940, 960, 980,
(21,50): 1000, 1020, 1040, 1060, 1080, 1100, 1120, 1140, 1160, 1180,
(21,60): 1200, 1220, 1240, 1260,
(22,0): 0, 21, 42, 63, 84, 105, 126, 147, 168, 189, 210, 231, 252, 273,
(22,14): 294, 315, 336, 357, 378, 399, 420, 441, 462, 483, 504, 525,
(22,26): 546, 567, 588, 609, 630, 651, 672, 693, 714, 735, 756, 777,
(22,38): 798, 819, 840, 861, 882, 903, 924, 945, 966, 987, 1008, 1029,
(22,50): 1050, 1071, 1092, 1113, 1134, 1155, 1176, 1197, 1218, 1239,
(22,60): 1260, 1281, 1302, 1323,
(23,0): 0, 22, 44, 66, 88, 110, 132, 154, 176, 198, 220, 242, 264, 286,
(23,14): 308, 330, 352, 374, 396, 418, 440, 462, 484, 506, 528, 550,
(23,26): 572, 594, 616, 638, 660, 682, 704, 726, 748, 770, 792, 814,
(23,38): 836, 858, 880, 902, 924, 946, 968, 990, 1012, 1034, 1056,
(23,49): 1078, 1100, 1122, 1144, 1166, 1188, 1210, 1232, 1254, 1276,
(23,59): 1298, 1320, 1342, 1364, 1386,
(24,0): 0, 23, 46, 69, 92, 115, 138, 161, 184, 207, 230, 253, 276, 299,
(24,14): 322, 345, 368, 391, 414, 437, 460, 483, 506, 529, 552, 575,
(24,26): 598, 621, 644, 667, 690, 713, 736, 759, 782, 805, 828, 851,
(24,38): 874, 897, 920, 943, 966, 989, 1012, 1035, 1058, 1081, 1104,
(24,49): 1127, 1150, 1173, 1196, 1219, 1242, 1265, 1288, 1311, 1334,
(24,59): 1357, 1380, 1403, 1426, 1449,
(25,0): 0, 24, 48, 72, 96, 120, 144, 168, 192, 216, 240, 264, 288, 312,
(25,14): 336, 360, 384, 408, 432, 456, 480, 504, 528, 552, 576, 600,
(25,26): 624, 648, 672, 696, 720, 744, 768, 792, 816, 840, 864, 888,
(25,38): 912, 936, 960, 984, 1008, 1032, 1056, 1080, 1104, 1128, 1152,
(25,49): 1176, 1200, 1224, 1248, 1272, 1296, 1320, 1344, 1368, 1392,
(25,59): 1416, 1440, 1464, 1488, 1512,
(26,0): 0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300,
(26,13): 325, 350, 375, 400, 425, 450, 475, 500, 525, 550, 575, 600,
(26,25): 625, 650, 675, 700, 725, 750, 775, 800, 825, 850, 875, 900,
(26,37): 925, 950, 975, 1000, 1025, 1050, 1075, 1100, 1125, 1150, 1175,
(26,48): 1200, 1225, 1250, 1275, 1300, 1325, 1350, 1375, 1400, 1425,
(26,58): 1450, 1475, 1500, 1525, 1550, 1575,
(27,0): 0, 26, 52, 78, 104, 130, 156, 182, 208, 234, 260, 286, 312,
(27,13): 338, 364, 390, 416, 442, 468, 494, 520, 546, 572, 598, 624,
(27,25): 650, 676, 702, 728, 754, 780, 806, 832, 858, 884, 910, 936,
(27,37): 962, 988, 1014, 1040, 1066, 1092, 1118, 1144, 1170, 1196,
(27,47): 1222, 1248, 1274, 1300, 1326, 1352, 1378, 1404, 1430, 1456,
(27,57): 1482, 1508, 1534, 1560, 1586, 1612, 1638,
(28,0): 0, 27, 54, 81, 108, 135, 162, 189, 216, 243, 270, 297, 324,
(28,13): 351, 378, 405, 432, 459, 486, 513, 540, 567, 594, 621, 648,
(28,25): 675, 702, 729, 756, 783, 810, 837, 864, 891, 918, 945, 972,
(28,37): 999, 1026, 1053, 1080, 1107, 1134, 1161, 1188, 1215, 1242,
(28,47): 1269, 1296, 1323, 1350, 1377, 1404, 1431, 1458, 1485, 1512,
(28,57): 1539, 1566, 1593, 1620, 1647, 1674, 1701,
(29,0): 0, 28, 56, 84, 112, 140, 168, 196, 224, 252, 280, 308, 336,
(29,13): 364, 392, 420, 448, 476, 504, 532, 560, 588, 616, 644, 672,
(29,25): 700, 728, 756, 784, 812, 840, 868, 896, 924, 952, 980, 1008,
(29,37): 1036, 1064, 1092, 1120, 1148, 1176, 1204, 1232, 1260, 1288,
(29,47): 1316, 1344, 1372, 1400, 1428, 1456, 1484, 1512, 1540, 1568,
(29,57): 1596, 1624, 1652, 1680, 1708, 1736, 1764,
(30,0): 0, 29, 58, 87, 116, 145, 174, 203, 232, 261, 290, 319, 348,
(30,13): 377, 406, 435, 464, 493, 522, 551, 580, 609, 638, 667, 696,
(30,25): 725, 754, 783, 812, 841, 870, 899, 928, 957, 986, 1015, 1044,
(30,37): 1073, 1102, 1131, 1160, 1189, 1218, 1247, 1276, 1305, 1334,
(30,47): 1363, 1392, 1421, 1450, 1479, 1508, 1537, 1566, 1595, 1624,
(30,57): 1653, 1682, 1711, 1740, 1769, 1798, 1827,
(31,0): 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360,
(31,13): 390, 420, 450, 480, 510, 540, 570, 600, 630, 660, 690, 720,
(31,25): 750, 780, 810, 840, 870, 900, 930, 960, 990, 1020, 1050, 1080,
(31,37): 1110, 1140, 1170, 1200, 1230, 1260, 1290, 1320, 1350, 1380,
(31,47): 1410, 1440, 1470, 1500, 1530, 1560, 1590, 1620, 1650, 1680,
(31,57): 1710, 1740, 1770, 1800, 1830, 1860, 1890
}
}
}
}
@@ -0,0 +1,2 @@
Filter type is: H5Z_FILTER_SZIP
Maximum value in DS1 is: 1890
@@ -0,0 +1,16 @@
HDF5 "h5ex_d_unlimadd.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 6, 10 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6, 7, 8, 9,
(1,0): 0, 0, 0, 0, 0, 0, 0, 7, 8, 9,
(2,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
(3,0): 0, 2, 4, 6, 8, 10, 12, 7, 8, 9,
(4,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
(5,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
}
}
}
}
@@ -0,0 +1,13 @@
Dataset before extension:
[ 0 -1 -2 -3 -4 -5 -6]
[ 0 0 0 0 0 0 0]
[ 0 1 2 3 4 5 6]
[ 0 2 4 6 8 10 12]
Dataset after extension:
[ 0 -1 -2 -3 -4 -5 -6 7 8 9]
[ 0 0 0 0 0 0 0 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9]
[ 0 2 4 6 8 10 12 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9]
@@ -0,0 +1,16 @@
HDF5 "h5ex_d_unlimgzip.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 6, 10 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6, 7, 8, 9,
(1,0): 0, 0, 0, 0, 0, 0, 0, 7, 8, 9,
(2,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
(3,0): 0, 2, 4, 6, 8, 10, 12, 7, 8, 9,
(4,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
(5,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
}
}
}
}
@@ -0,0 +1,14 @@
Dataset before extension:
[ 0 -1 -2 -3 -4 -5 -6]
[ 0 0 0 0 0 0 0]
[ 0 1 2 3 4 5 6]
[ 0 2 4 6 8 10 12]
Filter type is: H5Z_FILTER_DEFLATE
Dataset after extension:
[ 0 -1 -2 -3 -4 -5 -6 7 8 9]
[ 0 0 0 0 0 0 0 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9]
[ 0 2 4 6 8 10 12 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9]
@@ -0,0 +1,16 @@
HDF5 "h5ex_d_unlimmod.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 6, 10 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) }
DATA {
(0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
(1,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
(2,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
(3,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
(4,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
(5,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
}
}
}
}
@@ -0,0 +1,13 @@
Dataset before extension:
[ 0 -1 -2 -3 -4 -5 -6]
[ 0 0 0 0 0 0 0]
[ 0 1 2 3 4 5 6]
[ 0 2 4 6 8 10 12]
Dataset after extension:
[ 0 1 2 3 4 5 6 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9]
@@ -0,0 +1,191 @@
HDF5 "h5ex_d_nbit.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE 32-bit little-endian integer 16-bit precision
DATASPACE SIMPLE { ( 32, 64 ) / ( 32, 64 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14,
(0,15): -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26,
(0,27): -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38,
(0,39): -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49, -50,
(0,51): -51, -52, -53, -54, -55, -56, -57, -58, -59, -60, -61, -62,
(0,63): -63,
(1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,21): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,42): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,63): 0,
(2,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
(2,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
(2,34): 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
(2,50): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
(3,0): 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
(3,17): 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64,
(3,33): 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96,
(3,49): 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
(3,62): 124, 126,
(4,0): 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48,
(4,17): 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96,
(4,33): 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135,
(4,46): 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 168, 171,
(4,58): 174, 177, 180, 183, 186, 189,
(5,0): 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64,
(5,17): 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120,
(5,31): 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168,
(5,43): 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216,
(5,55): 220, 224, 228, 232, 236, 240, 244, 248, 252,
(6,0): 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75,
(6,16): 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140,
(6,29): 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200,
(6,41): 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260,
(6,53): 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315,
(7,0): 0, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90,
(7,16): 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168,
(7,29): 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240,
(7,41): 246, 252, 258, 264, 270, 276, 282, 288, 294, 300, 306, 312,
(7,53): 318, 324, 330, 336, 342, 348, 354, 360, 366, 372, 378,
(8,0): 0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98, 105,
(8,16): 112, 119, 126, 133, 140, 147, 154, 161, 168, 175, 182, 189,
(8,28): 196, 203, 210, 217, 224, 231, 238, 245, 252, 259, 266, 273,
(8,40): 280, 287, 294, 301, 308, 315, 322, 329, 336, 343, 350, 357,
(8,52): 364, 371, 378, 385, 392, 399, 406, 413, 420, 427, 434, 441,
(9,0): 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120,
(9,16): 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216,
(9,28): 224, 232, 240, 248, 256, 264, 272, 280, 288, 296, 304, 312,
(9,40): 320, 328, 336, 344, 352, 360, 368, 376, 384, 392, 400, 408,
(9,52): 416, 424, 432, 440, 448, 456, 464, 472, 480, 488, 496, 504,
(10,0): 0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126,
(10,15): 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234,
(10,27): 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342,
(10,39): 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450,
(10,51): 459, 468, 477, 486, 495, 504, 513, 522, 531, 540, 549, 558,
(10,63): 567,
(11,0): 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140,
(11,15): 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260,
(11,27): 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380,
(11,39): 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500,
(11,51): 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620,
(11,63): 630,
(12,0): 0, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110, 121, 132, 143, 154,
(12,15): 165, 176, 187, 198, 209, 220, 231, 242, 253, 264, 275, 286,
(12,27): 297, 308, 319, 330, 341, 352, 363, 374, 385, 396, 407, 418,
(12,39): 429, 440, 451, 462, 473, 484, 495, 506, 517, 528, 539, 550,
(12,51): 561, 572, 583, 594, 605, 616, 627, 638, 649, 660, 671, 682,
(12,63): 693,
(13,0): 0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156,
(13,14): 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300,
(13,26): 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, 432, 444,
(13,38): 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588,
(13,50): 600, 612, 624, 636, 648, 660, 672, 684, 696, 708, 720, 732,
(13,62): 744, 756,
(14,0): 0, 13, 26, 39, 52, 65, 78, 91, 104, 117, 130, 143, 156, 169,
(14,14): 182, 195, 208, 221, 234, 247, 260, 273, 286, 299, 312, 325,
(14,26): 338, 351, 364, 377, 390, 403, 416, 429, 442, 455, 468, 481,
(14,38): 494, 507, 520, 533, 546, 559, 572, 585, 598, 611, 624, 637,
(14,50): 650, 663, 676, 689, 702, 715, 728, 741, 754, 767, 780, 793,
(14,62): 806, 819,
(15,0): 0, 14, 28, 42, 56, 70, 84, 98, 112, 126, 140, 154, 168, 182,
(15,14): 196, 210, 224, 238, 252, 266, 280, 294, 308, 322, 336, 350,
(15,26): 364, 378, 392, 406, 420, 434, 448, 462, 476, 490, 504, 518,
(15,38): 532, 546, 560, 574, 588, 602, 616, 630, 644, 658, 672, 686,
(15,50): 700, 714, 728, 742, 756, 770, 784, 798, 812, 826, 840, 854,
(15,62): 868, 882,
(16,0): 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195,
(16,14): 210, 225, 240, 255, 270, 285, 300, 315, 330, 345, 360, 375,
(16,26): 390, 405, 420, 435, 450, 465, 480, 495, 510, 525, 540, 555,
(16,38): 570, 585, 600, 615, 630, 645, 660, 675, 690, 705, 720, 735,
(16,50): 750, 765, 780, 795, 810, 825, 840, 855, 870, 885, 900, 915,
(16,62): 930, 945,
(17,0): 0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208,
(17,14): 224, 240, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400,
(17,26): 416, 432, 448, 464, 480, 496, 512, 528, 544, 560, 576, 592,
(17,38): 608, 624, 640, 656, 672, 688, 704, 720, 736, 752, 768, 784,
(17,50): 800, 816, 832, 848, 864, 880, 896, 912, 928, 944, 960, 976,
(17,62): 992, 1008,
(18,0): 0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221,
(18,14): 238, 255, 272, 289, 306, 323, 340, 357, 374, 391, 408, 425,
(18,26): 442, 459, 476, 493, 510, 527, 544, 561, 578, 595, 612, 629,
(18,38): 646, 663, 680, 697, 714, 731, 748, 765, 782, 799, 816, 833,
(18,50): 850, 867, 884, 901, 918, 935, 952, 969, 986, 1003, 1020, 1037,
(18,62): 1054, 1071,
(19,0): 0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 216, 234,
(19,14): 252, 270, 288, 306, 324, 342, 360, 378, 396, 414, 432, 450,
(19,26): 468, 486, 504, 522, 540, 558, 576, 594, 612, 630, 648, 666,
(19,38): 684, 702, 720, 738, 756, 774, 792, 810, 828, 846, 864, 882,
(19,50): 900, 918, 936, 954, 972, 990, 1008, 1026, 1044, 1062, 1080,
(19,61): 1098, 1116, 1134,
(20,0): 0, 19, 38, 57, 76, 95, 114, 133, 152, 171, 190, 209, 228, 247,
(20,14): 266, 285, 304, 323, 342, 361, 380, 399, 418, 437, 456, 475,
(20,26): 494, 513, 532, 551, 570, 589, 608, 627, 646, 665, 684, 703,
(20,38): 722, 741, 760, 779, 798, 817, 836, 855, 874, 893, 912, 931,
(20,50): 950, 969, 988, 1007, 1026, 1045, 1064, 1083, 1102, 1121, 1140,
(20,61): 1159, 1178, 1197,
(21,0): 0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260,
(21,14): 280, 300, 320, 340, 360, 380, 400, 420, 440, 460, 480, 500,
(21,26): 520, 540, 560, 580, 600, 620, 640, 660, 680, 700, 720, 740,
(21,38): 760, 780, 800, 820, 840, 860, 880, 900, 920, 940, 960, 980,
(21,50): 1000, 1020, 1040, 1060, 1080, 1100, 1120, 1140, 1160, 1180,
(21,60): 1200, 1220, 1240, 1260,
(22,0): 0, 21, 42, 63, 84, 105, 126, 147, 168, 189, 210, 231, 252, 273,
(22,14): 294, 315, 336, 357, 378, 399, 420, 441, 462, 483, 504, 525,
(22,26): 546, 567, 588, 609, 630, 651, 672, 693, 714, 735, 756, 777,
(22,38): 798, 819, 840, 861, 882, 903, 924, 945, 966, 987, 1008, 1029,
(22,50): 1050, 1071, 1092, 1113, 1134, 1155, 1176, 1197, 1218, 1239,
(22,60): 1260, 1281, 1302, 1323,
(23,0): 0, 22, 44, 66, 88, 110, 132, 154, 176, 198, 220, 242, 264, 286,
(23,14): 308, 330, 352, 374, 396, 418, 440, 462, 484, 506, 528, 550,
(23,26): 572, 594, 616, 638, 660, 682, 704, 726, 748, 770, 792, 814,
(23,38): 836, 858, 880, 902, 924, 946, 968, 990, 1012, 1034, 1056,
(23,49): 1078, 1100, 1122, 1144, 1166, 1188, 1210, 1232, 1254, 1276,
(23,59): 1298, 1320, 1342, 1364, 1386,
(24,0): 0, 23, 46, 69, 92, 115, 138, 161, 184, 207, 230, 253, 276, 299,
(24,14): 322, 345, 368, 391, 414, 437, 460, 483, 506, 529, 552, 575,
(24,26): 598, 621, 644, 667, 690, 713, 736, 759, 782, 805, 828, 851,
(24,38): 874, 897, 920, 943, 966, 989, 1012, 1035, 1058, 1081, 1104,
(24,49): 1127, 1150, 1173, 1196, 1219, 1242, 1265, 1288, 1311, 1334,
(24,59): 1357, 1380, 1403, 1426, 1449,
(25,0): 0, 24, 48, 72, 96, 120, 144, 168, 192, 216, 240, 264, 288, 312,
(25,14): 336, 360, 384, 408, 432, 456, 480, 504, 528, 552, 576, 600,
(25,26): 624, 648, 672, 696, 720, 744, 768, 792, 816, 840, 864, 888,
(25,38): 912, 936, 960, 984, 1008, 1032, 1056, 1080, 1104, 1128, 1152,
(25,49): 1176, 1200, 1224, 1248, 1272, 1296, 1320, 1344, 1368, 1392,
(25,59): 1416, 1440, 1464, 1488, 1512,
(26,0): 0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300,
(26,13): 325, 350, 375, 400, 425, 450, 475, 500, 525, 550, 575, 600,
(26,25): 625, 650, 675, 700, 725, 750, 775, 800, 825, 850, 875, 900,
(26,37): 925, 950, 975, 1000, 1025, 1050, 1075, 1100, 1125, 1150, 1175,
(26,48): 1200, 1225, 1250, 1275, 1300, 1325, 1350, 1375, 1400, 1425,
(26,58): 1450, 1475, 1500, 1525, 1550, 1575,
(27,0): 0, 26, 52, 78, 104, 130, 156, 182, 208, 234, 260, 286, 312,
(27,13): 338, 364, 390, 416, 442, 468, 494, 520, 546, 572, 598, 624,
(27,25): 650, 676, 702, 728, 754, 780, 806, 832, 858, 884, 910, 936,
(27,37): 962, 988, 1014, 1040, 1066, 1092, 1118, 1144, 1170, 1196,
(27,47): 1222, 1248, 1274, 1300, 1326, 1352, 1378, 1404, 1430, 1456,
(27,57): 1482, 1508, 1534, 1560, 1586, 1612, 1638,
(28,0): 0, 27, 54, 81, 108, 135, 162, 189, 216, 243, 270, 297, 324,
(28,13): 351, 378, 405, 432, 459, 486, 513, 540, 567, 594, 621, 648,
(28,25): 675, 702, 729, 756, 783, 810, 837, 864, 891, 918, 945, 972,
(28,37): 999, 1026, 1053, 1080, 1107, 1134, 1161, 1188, 1215, 1242,
(28,47): 1269, 1296, 1323, 1350, 1377, 1404, 1431, 1458, 1485, 1512,
(28,57): 1539, 1566, 1593, 1620, 1647, 1674, 1701,
(29,0): 0, 28, 56, 84, 112, 140, 168, 196, 224, 252, 280, 308, 336,
(29,13): 364, 392, 420, 448, 476, 504, 532, 560, 588, 616, 644, 672,
(29,25): 700, 728, 756, 784, 812, 840, 868, 896, 924, 952, 980, 1008,
(29,37): 1036, 1064, 1092, 1120, 1148, 1176, 1204, 1232, 1260, 1288,
(29,47): 1316, 1344, 1372, 1400, 1428, 1456, 1484, 1512, 1540, 1568,
(29,57): 1596, 1624, 1652, 1680, 1708, 1736, 1764,
(30,0): 0, 29, 58, 87, 116, 145, 174, 203, 232, 261, 290, 319, 348,
(30,13): 377, 406, 435, 464, 493, 522, 551, 580, 609, 638, 667, 696,
(30,25): 725, 754, 783, 812, 841, 870, 899, 928, 957, 986, 1015, 1044,
(30,37): 1073, 1102, 1131, 1160, 1189, 1218, 1247, 1276, 1305, 1334,
(30,47): 1363, 1392, 1421, 1450, 1479, 1508, 1537, 1566, 1595, 1624,
(30,57): 1653, 1682, 1711, 1740, 1769, 1798, 1827,
(31,0): 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360,
(31,13): 390, 420, 450, 480, 510, 540, 570, 600, 630, 660, 690, 720,
(31,25): 750, 780, 810, 840, 870, 900, 930, 960, 990, 1020, 1050, 1080,
(31,37): 1110, 1140, 1170, 1200, 1230, 1260, 1290, 1320, 1350, 1380,
(31,47): 1410, 1440, 1470, 1500, 1530, 1560, 1590, 1620, 1650, 1680,
(31,57): 1710, 1740, 1770, 1800, 1830, 1860, 1890
}
}
}
}
@@ -0,0 +1,2 @@
Filter type is: H5Z_FILTER_NBIT
Maximum value in DS1 is: 1890
@@ -0,0 +1,191 @@
HDF5 "h5ex_d_nbit.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE 32-bit little-endian integer 16-bit precision
DATASPACE SIMPLE { ( 32, 64 ) / ( 32, 64 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14,
(0,15): -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26,
(0,27): -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38,
(0,39): -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49, -50,
(0,51): -51, -52, -53, -54, -55, -56, -57, -58, -59, -60, -61, -62,
(0,63): -63,
(1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,21): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,42): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,63): 0,
(2,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
(2,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
(2,34): 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
(2,50): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
(3,0): 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
(3,17): 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64,
(3,33): 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96,
(3,49): 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
(3,62): 124, 126,
(4,0): 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48,
(4,17): 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96,
(4,33): 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135,
(4,46): 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 168, 171,
(4,58): 174, 177, 180, 183, 186, 189,
(5,0): 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64,
(5,17): 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120,
(5,31): 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168,
(5,43): 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216,
(5,55): 220, 224, 228, 232, 236, 240, 244, 248, 252,
(6,0): 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75,
(6,16): 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140,
(6,29): 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200,
(6,41): 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260,
(6,53): 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315,
(7,0): 0, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90,
(7,16): 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168,
(7,29): 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240,
(7,41): 246, 252, 258, 264, 270, 276, 282, 288, 294, 300, 306, 312,
(7,53): 318, 324, 330, 336, 342, 348, 354, 360, 366, 372, 378,
(8,0): 0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98, 105,
(8,16): 112, 119, 126, 133, 140, 147, 154, 161, 168, 175, 182, 189,
(8,28): 196, 203, 210, 217, 224, 231, 238, 245, 252, 259, 266, 273,
(8,40): 280, 287, 294, 301, 308, 315, 322, 329, 336, 343, 350, 357,
(8,52): 364, 371, 378, 385, 392, 399, 406, 413, 420, 427, 434, 441,
(9,0): 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120,
(9,16): 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216,
(9,28): 224, 232, 240, 248, 256, 264, 272, 280, 288, 296, 304, 312,
(9,40): 320, 328, 336, 344, 352, 360, 368, 376, 384, 392, 400, 408,
(9,52): 416, 424, 432, 440, 448, 456, 464, 472, 480, 488, 496, 504,
(10,0): 0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126,
(10,15): 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234,
(10,27): 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342,
(10,39): 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450,
(10,51): 459, 468, 477, 486, 495, 504, 513, 522, 531, 540, 549, 558,
(10,63): 567,
(11,0): 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140,
(11,15): 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260,
(11,27): 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380,
(11,39): 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500,
(11,51): 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620,
(11,63): 630,
(12,0): 0, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110, 121, 132, 143, 154,
(12,15): 165, 176, 187, 198, 209, 220, 231, 242, 253, 264, 275, 286,
(12,27): 297, 308, 319, 330, 341, 352, 363, 374, 385, 396, 407, 418,
(12,39): 429, 440, 451, 462, 473, 484, 495, 506, 517, 528, 539, 550,
(12,51): 561, 572, 583, 594, 605, 616, 627, 638, 649, 660, 671, 682,
(12,63): 693,
(13,0): 0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156,
(13,14): 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300,
(13,26): 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, 432, 444,
(13,38): 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588,
(13,50): 600, 612, 624, 636, 648, 660, 672, 684, 696, 708, 720, 732,
(13,62): 744, 756,
(14,0): 0, 13, 26, 39, 52, 65, 78, 91, 104, 117, 130, 143, 156, 169,
(14,14): 182, 195, 208, 221, 234, 247, 260, 273, 286, 299, 312, 325,
(14,26): 338, 351, 364, 377, 390, 403, 416, 429, 442, 455, 468, 481,
(14,38): 494, 507, 520, 533, 546, 559, 572, 585, 598, 611, 624, 637,
(14,50): 650, 663, 676, 689, 702, 715, 728, 741, 754, 767, 780, 793,
(14,62): 806, 819,
(15,0): 0, 14, 28, 42, 56, 70, 84, 98, 112, 126, 140, 154, 168, 182,
(15,14): 196, 210, 224, 238, 252, 266, 280, 294, 308, 322, 336, 350,
(15,26): 364, 378, 392, 406, 420, 434, 448, 462, 476, 490, 504, 518,
(15,38): 532, 546, 560, 574, 588, 602, 616, 630, 644, 658, 672, 686,
(15,50): 700, 714, 728, 742, 756, 770, 784, 798, 812, 826, 840, 854,
(15,62): 868, 882,
(16,0): 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195,
(16,14): 210, 225, 240, 255, 270, 285, 300, 315, 330, 345, 360, 375,
(16,26): 390, 405, 420, 435, 450, 465, 480, 495, 510, 525, 540, 555,
(16,38): 570, 585, 600, 615, 630, 645, 660, 675, 690, 705, 720, 735,
(16,50): 750, 765, 780, 795, 810, 825, 840, 855, 870, 885, 900, 915,
(16,62): 930, 945,
(17,0): 0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208,
(17,14): 224, 240, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400,
(17,26): 416, 432, 448, 464, 480, 496, 512, 528, 544, 560, 576, 592,
(17,38): 608, 624, 640, 656, 672, 688, 704, 720, 736, 752, 768, 784,
(17,50): 800, 816, 832, 848, 864, 880, 896, 912, 928, 944, 960, 976,
(17,62): 992, 1008,
(18,0): 0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221,
(18,14): 238, 255, 272, 289, 306, 323, 340, 357, 374, 391, 408, 425,
(18,26): 442, 459, 476, 493, 510, 527, 544, 561, 578, 595, 612, 629,
(18,38): 646, 663, 680, 697, 714, 731, 748, 765, 782, 799, 816, 833,
(18,50): 850, 867, 884, 901, 918, 935, 952, 969, 986, 1003, 1020, 1037,
(18,62): 1054, 1071,
(19,0): 0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 216, 234,
(19,14): 252, 270, 288, 306, 324, 342, 360, 378, 396, 414, 432, 450,
(19,26): 468, 486, 504, 522, 540, 558, 576, 594, 612, 630, 648, 666,
(19,38): 684, 702, 720, 738, 756, 774, 792, 810, 828, 846, 864, 882,
(19,50): 900, 918, 936, 954, 972, 990, 1008, 1026, 1044, 1062, 1080,
(19,61): 1098, 1116, 1134,
(20,0): 0, 19, 38, 57, 76, 95, 114, 133, 152, 171, 190, 209, 228, 247,
(20,14): 266, 285, 304, 323, 342, 361, 380, 399, 418, 437, 456, 475,
(20,26): 494, 513, 532, 551, 570, 589, 608, 627, 646, 665, 684, 703,
(20,38): 722, 741, 760, 779, 798, 817, 836, 855, 874, 893, 912, 931,
(20,50): 950, 969, 988, 1007, 1026, 1045, 1064, 1083, 1102, 1121, 1140,
(20,61): 1159, 1178, 1197,
(21,0): 0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260,
(21,14): 280, 300, 320, 340, 360, 380, 400, 420, 440, 460, 480, 500,
(21,26): 520, 540, 560, 580, 600, 620, 640, 660, 680, 700, 720, 740,
(21,38): 760, 780, 800, 820, 840, 860, 880, 900, 920, 940, 960, 980,
(21,50): 1000, 1020, 1040, 1060, 1080, 1100, 1120, 1140, 1160, 1180,
(21,60): 1200, 1220, 1240, 1260,
(22,0): 0, 21, 42, 63, 84, 105, 126, 147, 168, 189, 210, 231, 252, 273,
(22,14): 294, 315, 336, 357, 378, 399, 420, 441, 462, 483, 504, 525,
(22,26): 546, 567, 588, 609, 630, 651, 672, 693, 714, 735, 756, 777,
(22,38): 798, 819, 840, 861, 882, 903, 924, 945, 966, 987, 1008, 1029,
(22,50): 1050, 1071, 1092, 1113, 1134, 1155, 1176, 1197, 1218, 1239,
(22,60): 1260, 1281, 1302, 1323,
(23,0): 0, 22, 44, 66, 88, 110, 132, 154, 176, 198, 220, 242, 264, 286,
(23,14): 308, 330, 352, 374, 396, 418, 440, 462, 484, 506, 528, 550,
(23,26): 572, 594, 616, 638, 660, 682, 704, 726, 748, 770, 792, 814,
(23,38): 836, 858, 880, 902, 924, 946, 968, 990, 1012, 1034, 1056,
(23,49): 1078, 1100, 1122, 1144, 1166, 1188, 1210, 1232, 1254, 1276,
(23,59): 1298, 1320, 1342, 1364, 1386,
(24,0): 0, 23, 46, 69, 92, 115, 138, 161, 184, 207, 230, 253, 276, 299,
(24,14): 322, 345, 368, 391, 414, 437, 460, 483, 506, 529, 552, 575,
(24,26): 598, 621, 644, 667, 690, 713, 736, 759, 782, 805, 828, 851,
(24,38): 874, 897, 920, 943, 966, 989, 1012, 1035, 1058, 1081, 1104,
(24,49): 1127, 1150, 1173, 1196, 1219, 1242, 1265, 1288, 1311, 1334,
(24,59): 1357, 1380, 1403, 1426, 1449,
(25,0): 0, 24, 48, 72, 96, 120, 144, 168, 192, 216, 240, 264, 288, 312,
(25,14): 336, 360, 384, 408, 432, 456, 480, 504, 528, 552, 576, 600,
(25,26): 624, 648, 672, 696, 720, 744, 768, 792, 816, 840, 864, 888,
(25,38): 912, 936, 960, 984, 1008, 1032, 1056, 1080, 1104, 1128, 1152,
(25,49): 1176, 1200, 1224, 1248, 1272, 1296, 1320, 1344, 1368, 1392,
(25,59): 1416, 1440, 1464, 1488, 1512,
(26,0): 0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300,
(26,13): 325, 350, 375, 400, 425, 450, 475, 500, 525, 550, 575, 600,
(26,25): 625, 650, 675, 700, 725, 750, 775, 800, 825, 850, 875, 900,
(26,37): 925, 950, 975, 1000, 1025, 1050, 1075, 1100, 1125, 1150, 1175,
(26,48): 1200, 1225, 1250, 1275, 1300, 1325, 1350, 1375, 1400, 1425,
(26,58): 1450, 1475, 1500, 1525, 1550, 1575,
(27,0): 0, 26, 52, 78, 104, 130, 156, 182, 208, 234, 260, 286, 312,
(27,13): 338, 364, 390, 416, 442, 468, 494, 520, 546, 572, 598, 624,
(27,25): 650, 676, 702, 728, 754, 780, 806, 832, 858, 884, 910, 936,
(27,37): 962, 988, 1014, 1040, 1066, 1092, 1118, 1144, 1170, 1196,
(27,47): 1222, 1248, 1274, 1300, 1326, 1352, 1378, 1404, 1430, 1456,
(27,57): 1482, 1508, 1534, 1560, 1586, 1612, 1638,
(28,0): 0, 27, 54, 81, 108, 135, 162, 189, 216, 243, 270, 297, 324,
(28,13): 351, 378, 405, 432, 459, 486, 513, 540, 567, 594, 621, 648,
(28,25): 675, 702, 729, 756, 783, 810, 837, 864, 891, 918, 945, 972,
(28,37): 999, 1026, 1053, 1080, 1107, 1134, 1161, 1188, 1215, 1242,
(28,47): 1269, 1296, 1323, 1350, 1377, 1404, 1431, 1458, 1485, 1512,
(28,57): 1539, 1566, 1593, 1620, 1647, 1674, 1701,
(29,0): 0, 28, 56, 84, 112, 140, 168, 196, 224, 252, 280, 308, 336,
(29,13): 364, 392, 420, 448, 476, 504, 532, 560, 588, 616, 644, 672,
(29,25): 700, 728, 756, 784, 812, 840, 868, 896, 924, 952, 980, 1008,
(29,37): 1036, 1064, 1092, 1120, 1148, 1176, 1204, 1232, 1260, 1288,
(29,47): 1316, 1344, 1372, 1400, 1428, 1456, 1484, 1512, 1540, 1568,
(29,57): 1596, 1624, 1652, 1680, 1708, 1736, 1764,
(30,0): 0, 29, 58, 87, 116, 145, 174, 203, 232, 261, 290, 319, 348,
(30,13): 377, 406, 435, 464, 493, 522, 551, 580, 609, 638, 667, 696,
(30,25): 725, 754, 783, 812, 841, 870, 899, 928, 957, 986, 1015, 1044,
(30,37): 1073, 1102, 1131, 1160, 1189, 1218, 1247, 1276, 1305, 1334,
(30,47): 1363, 1392, 1421, 1450, 1479, 1508, 1537, 1566, 1595, 1624,
(30,57): 1653, 1682, 1711, 1740, 1769, 1798, 1827,
(31,0): 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360,
(31,13): 390, 420, 450, 480, 510, 540, 570, 600, 630, 660, 690, 720,
(31,25): 750, 780, 810, 840, 870, 900, 930, 960, 990, 1020, 1050, 1080,
(31,37): 1110, 1140, 1170, 1200, 1230, 1260, 1290, 1320, 1350, 1380,
(31,47): 1410, 1440, 1470, 1500, 1530, 1560, 1590, 1620, 1650, 1680,
(31,57): 1710, 1740, 1770, 1800, 1830, 1860, 1890
}
}
}
}
@@ -0,0 +1,191 @@
HDF5 "h5ex_d_nbit.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE 32-bit little-endian integer
DATASPACE SIMPLE { ( 32, 64 ) / ( 32, 64 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14,
(0,15): -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26,
(0,27): -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38,
(0,39): -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49, -50,
(0,51): -51, -52, -53, -54, -55, -56, -57, -58, -59, -60, -61, -62,
(0,63): -63,
(1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,21): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,42): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,63): 0,
(2,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
(2,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
(2,34): 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
(2,50): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
(3,0): 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
(3,17): 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64,
(3,33): 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96,
(3,49): 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
(3,62): 124, 126,
(4,0): 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48,
(4,17): 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96,
(4,33): 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135,
(4,46): 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 168, 171,
(4,58): 174, 177, 180, 183, 186, 189,
(5,0): 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64,
(5,17): 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120,
(5,31): 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168,
(5,43): 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216,
(5,55): 220, 224, 228, 232, 236, 240, 244, 248, 252,
(6,0): 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75,
(6,16): 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140,
(6,29): 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200,
(6,41): 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260,
(6,53): 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315,
(7,0): 0, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90,
(7,16): 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168,
(7,29): 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240,
(7,41): 246, 252, 258, 264, 270, 276, 282, 288, 294, 300, 306, 312,
(7,53): 318, 324, 330, 336, 342, 348, 354, 360, 366, 372, 378,
(8,0): 0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98, 105,
(8,16): 112, 119, 126, 133, 140, 147, 154, 161, 168, 175, 182, 189,
(8,28): 196, 203, 210, 217, 224, 231, 238, 245, 252, 259, 266, 273,
(8,40): 280, 287, 294, 301, 308, 315, 322, 329, 336, 343, 350, 357,
(8,52): 364, 371, 378, 385, 392, 399, 406, 413, 420, 427, 434, 441,
(9,0): 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120,
(9,16): 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216,
(9,28): 224, 232, 240, 248, 256, 264, 272, 280, 288, 296, 304, 312,
(9,40): 320, 328, 336, 344, 352, 360, 368, 376, 384, 392, 400, 408,
(9,52): 416, 424, 432, 440, 448, 456, 464, 472, 480, 488, 496, 504,
(10,0): 0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126,
(10,15): 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234,
(10,27): 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342,
(10,39): 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450,
(10,51): 459, 468, 477, 486, 495, 504, 513, 522, 531, 540, 549, 558,
(10,63): 567,
(11,0): 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140,
(11,15): 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260,
(11,27): 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380,
(11,39): 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500,
(11,51): 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620,
(11,63): 630,
(12,0): 0, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110, 121, 132, 143, 154,
(12,15): 165, 176, 187, 198, 209, 220, 231, 242, 253, 264, 275, 286,
(12,27): 297, 308, 319, 330, 341, 352, 363, 374, 385, 396, 407, 418,
(12,39): 429, 440, 451, 462, 473, 484, 495, 506, 517, 528, 539, 550,
(12,51): 561, 572, 583, 594, 605, 616, 627, 638, 649, 660, 671, 682,
(12,63): 693,
(13,0): 0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156,
(13,14): 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300,
(13,26): 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, 432, 444,
(13,38): 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588,
(13,50): 600, 612, 624, 636, 648, 660, 672, 684, 696, 708, 720, 732,
(13,62): 744, 756,
(14,0): 0, 13, 26, 39, 52, 65, 78, 91, 104, 117, 130, 143, 156, 169,
(14,14): 182, 195, 208, 221, 234, 247, 260, 273, 286, 299, 312, 325,
(14,26): 338, 351, 364, 377, 390, 403, 416, 429, 442, 455, 468, 481,
(14,38): 494, 507, 520, 533, 546, 559, 572, 585, 598, 611, 624, 637,
(14,50): 650, 663, 676, 689, 702, 715, 728, 741, 754, 767, 780, 793,
(14,62): 806, 819,
(15,0): 0, 14, 28, 42, 56, 70, 84, 98, 112, 126, 140, 154, 168, 182,
(15,14): 196, 210, 224, 238, 252, 266, 280, 294, 308, 322, 336, 350,
(15,26): 364, 378, 392, 406, 420, 434, 448, 462, 476, 490, 504, 518,
(15,38): 532, 546, 560, 574, 588, 602, 616, 630, 644, 658, 672, 686,
(15,50): 700, 714, 728, 742, 756, 770, 784, 798, 812, 826, 840, 854,
(15,62): 868, 882,
(16,0): 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195,
(16,14): 210, 225, 240, 255, 270, 285, 300, 315, 330, 345, 360, 375,
(16,26): 390, 405, 420, 435, 450, 465, 480, 495, 510, 525, 540, 555,
(16,38): 570, 585, 600, 615, 630, 645, 660, 675, 690, 705, 720, 735,
(16,50): 750, 765, 780, 795, 810, 825, 840, 855, 870, 885, 900, 915,
(16,62): 930, 945,
(17,0): 0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208,
(17,14): 224, 240, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400,
(17,26): 416, 432, 448, 464, 480, 496, 512, 528, 544, 560, 576, 592,
(17,38): 608, 624, 640, 656, 672, 688, 704, 720, 736, 752, 768, 784,
(17,50): 800, 816, 832, 848, 864, 880, 896, 912, 928, 944, 960, 976,
(17,62): 992, 1008,
(18,0): 0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221,
(18,14): 238, 255, 272, 289, 306, 323, 340, 357, 374, 391, 408, 425,
(18,26): 442, 459, 476, 493, 510, 527, 544, 561, 578, 595, 612, 629,
(18,38): 646, 663, 680, 697, 714, 731, 748, 765, 782, 799, 816, 833,
(18,50): 850, 867, 884, 901, 918, 935, 952, 969, 986, 1003, 1020, 1037,
(18,62): 1054, 1071,
(19,0): 0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 216, 234,
(19,14): 252, 270, 288, 306, 324, 342, 360, 378, 396, 414, 432, 450,
(19,26): 468, 486, 504, 522, 540, 558, 576, 594, 612, 630, 648, 666,
(19,38): 684, 702, 720, 738, 756, 774, 792, 810, 828, 846, 864, 882,
(19,50): 900, 918, 936, 954, 972, 990, 1008, 1026, 1044, 1062, 1080,
(19,61): 1098, 1116, 1134,
(20,0): 0, 19, 38, 57, 76, 95, 114, 133, 152, 171, 190, 209, 228, 247,
(20,14): 266, 285, 304, 323, 342, 361, 380, 399, 418, 437, 456, 475,
(20,26): 494, 513, 532, 551, 570, 589, 608, 627, 646, 665, 684, 703,
(20,38): 722, 741, 760, 779, 798, 817, 836, 855, 874, 893, 912, 931,
(20,50): 950, 969, 988, 1007, 1026, 1045, 1064, 1083, 1102, 1121, 1140,
(20,61): 1159, 1178, 1197,
(21,0): 0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260,
(21,14): 280, 300, 320, 340, 360, 380, 400, 420, 440, 460, 480, 500,
(21,26): 520, 540, 560, 580, 600, 620, 640, 660, 680, 700, 720, 740,
(21,38): 760, 780, 800, 820, 840, 860, 880, 900, 920, 940, 960, 980,
(21,50): 1000, 1020, 1040, 1060, 1080, 1100, 1120, 1140, 1160, 1180,
(21,60): 1200, 1220, 1240, 1260,
(22,0): 0, 21, 42, 63, 84, 105, 126, 147, 168, 189, 210, 231, 252, 273,
(22,14): 294, 315, 336, 357, 378, 399, 420, 441, 462, 483, 504, 525,
(22,26): 546, 567, 588, 609, 630, 651, 672, 693, 714, 735, 756, 777,
(22,38): 798, 819, 840, 861, 882, 903, 924, 945, 966, 987, 1008, 1029,
(22,50): 1050, 1071, 1092, 1113, 1134, 1155, 1176, 1197, 1218, 1239,
(22,60): 1260, 1281, 1302, 1323,
(23,0): 0, 22, 44, 66, 88, 110, 132, 154, 176, 198, 220, 242, 264, 286,
(23,14): 308, 330, 352, 374, 396, 418, 440, 462, 484, 506, 528, 550,
(23,26): 572, 594, 616, 638, 660, 682, 704, 726, 748, 770, 792, 814,
(23,38): 836, 858, 880, 902, 924, 946, 968, 990, 1012, 1034, 1056,
(23,49): 1078, 1100, 1122, 1144, 1166, 1188, 1210, 1232, 1254, 1276,
(23,59): 1298, 1320, 1342, 1364, 1386,
(24,0): 0, 23, 46, 69, 92, 115, 138, 161, 184, 207, 230, 253, 276, 299,
(24,14): 322, 345, 368, 391, 414, 437, 460, 483, 506, 529, 552, 575,
(24,26): 598, 621, 644, 667, 690, 713, 736, 759, 782, 805, 828, 851,
(24,38): 874, 897, 920, 943, 966, 989, 1012, 1035, 1058, 1081, 1104,
(24,49): 1127, 1150, 1173, 1196, 1219, 1242, 1265, 1288, 1311, 1334,
(24,59): 1357, 1380, 1403, 1426, 1449,
(25,0): 0, 24, 48, 72, 96, 120, 144, 168, 192, 216, 240, 264, 288, 312,
(25,14): 336, 360, 384, 408, 432, 456, 480, 504, 528, 552, 576, 600,
(25,26): 624, 648, 672, 696, 720, 744, 768, 792, 816, 840, 864, 888,
(25,38): 912, 936, 960, 984, 1008, 1032, 1056, 1080, 1104, 1128, 1152,
(25,49): 1176, 1200, 1224, 1248, 1272, 1296, 1320, 1344, 1368, 1392,
(25,59): 1416, 1440, 1464, 1488, 1512,
(26,0): 0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300,
(26,13): 325, 350, 375, 400, 425, 450, 475, 500, 525, 550, 575, 600,
(26,25): 625, 650, 675, 700, 725, 750, 775, 800, 825, 850, 875, 900,
(26,37): 925, 950, 975, 1000, 1025, 1050, 1075, 1100, 1125, 1150, 1175,
(26,48): 1200, 1225, 1250, 1275, 1300, 1325, 1350, 1375, 1400, 1425,
(26,58): 1450, 1475, 1500, 1525, 1550, 1575,
(27,0): 0, 26, 52, 78, 104, 130, 156, 182, 208, 234, 260, 286, 312,
(27,13): 338, 364, 390, 416, 442, 468, 494, 520, 546, 572, 598, 624,
(27,25): 650, 676, 702, 728, 754, 780, 806, 832, 858, 884, 910, 936,
(27,37): 962, 988, 1014, 1040, 1066, 1092, 1118, 1144, 1170, 1196,
(27,47): 1222, 1248, 1274, 1300, 1326, 1352, 1378, 1404, 1430, 1456,
(27,57): 1482, 1508, 1534, 1560, 1586, 1612, 1638,
(28,0): 0, 27, 54, 81, 108, 135, 162, 189, 216, 243, 270, 297, 324,
(28,13): 351, 378, 405, 432, 459, 486, 513, 540, 567, 594, 621, 648,
(28,25): 675, 702, 729, 756, 783, 810, 837, 864, 891, 918, 945, 972,
(28,37): 999, 1026, 1053, 1080, 1107, 1134, 1161, 1188, 1215, 1242,
(28,47): 1269, 1296, 1323, 1350, 1377, 1404, 1431, 1458, 1485, 1512,
(28,57): 1539, 1566, 1593, 1620, 1647, 1674, 1701,
(29,0): 0, 28, 56, 84, 112, 140, 168, 196, 224, 252, 280, 308, 336,
(29,13): 364, 392, 420, 448, 476, 504, 532, 560, 588, 616, 644, 672,
(29,25): 700, 728, 756, 784, 812, 840, 868, 896, 924, 952, 980, 1008,
(29,37): 1036, 1064, 1092, 1120, 1148, 1176, 1204, 1232, 1260, 1288,
(29,47): 1316, 1344, 1372, 1400, 1428, 1456, 1484, 1512, 1540, 1568,
(29,57): 1596, 1624, 1652, 1680, 1708, 1736, 1764,
(30,0): 0, 29, 58, 87, 116, 145, 174, 203, 232, 261, 290, 319, 348,
(30,13): 377, 406, 435, 464, 493, 522, 551, 580, 609, 638, 667, 696,
(30,25): 725, 754, 783, 812, 841, 870, 899, 928, 957, 986, 1015, 1044,
(30,37): 1073, 1102, 1131, 1160, 1189, 1218, 1247, 1276, 1305, 1334,
(30,47): 1363, 1392, 1421, 1450, 1479, 1508, 1537, 1566, 1595, 1624,
(30,57): 1653, 1682, 1711, 1740, 1769, 1798, 1827,
(31,0): 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360,
(31,13): 390, 420, 450, 480, 510, 540, 570, 600, 630, 660, 690, 720,
(31,25): 750, 780, 810, 840, 870, 900, 930, 960, 990, 1020, 1050, 1080,
(31,37): 1110, 1140, 1170, 1200, 1230, 1260, 1290, 1320, 1350, 1380,
(31,47): 1410, 1440, 1470, 1500, 1530, 1560, 1590, 1620, 1650, 1680,
(31,57): 1710, 1740, 1770, 1800, 1830, 1860, 1890
}
}
}
}
@@ -0,0 +1,326 @@
HDF5 "h5ex_d_sofloat.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_IEEE_F64LE
DATASPACE SIMPLE { ( 32, 64 ) / ( 32, 64 ) }
DATA {
(0,0): 3.32923, 1.76923, 2.43923, 3.29923, 4.22923, 5.18923, 6.15923,
(0,7): 7.13923, 8.12048, 9.11048, 10.1005, 11.0905, 12.0805, 13.0705,
(0,14): 14.0705, 15.0605, 16.0613, 17.0613, 18.0513, 19.0513, 20.0513,
(0,21): 21.0513, 22.0413, 23.0413, 24.0412, 25.0412, 26.0412, 27.0412,
(0,28): 28.0312, 29.0312, 30.0312, 31.0312, 32.031, 33.031, 34.031,
(0,35): 35.031, 36.031, 37.031, 38.031, 39.021, 40.0248, 41.0248,
(0,42): 42.0248, 43.0248, 44.0248, 45.0248, 46.0248, 47.0248, 48.0207,
(0,49): 49.0207, 50.0207, 51.0207, 52.0207, 53.0207, 54.0207, 55.0207,
(0,56): 56.0178, 57.0178, 58.0178, 59.0178, 60.0178, 61.0178, 62.0178,
(0,63): 63.0178,
(1,0): 6.66923, 2.53923, 2.86923, 3.60923, 4.46923, 5.37923, 6.31923,
(1,7): 7.26923, 8.24048, 9.21048, 10.1905, 11.1805, 12.1605, 13.1505,
(1,14): 14.1405, 15.1305, 16.1213, 17.1113, 18.1113, 19.1013, 20.1013,
(1,21): 21.0913, 22.0913, 23.0813, 24.0812, 25.0812, 26.0712, 27.0712,
(1,28): 28.0712, 29.0712, 30.0612, 31.0612, 32.061, 33.061, 34.061,
(1,35): 35.061, 36.051, 37.051, 38.051, 39.051, 40.0448, 41.0448,
(1,42): 42.0448, 43.0448, 44.0448, 45.0448, 46.0448, 47.0448, 48.0407,
(1,49): 49.0407, 50.0407, 51.0407, 52.0407, 53.0407, 54.0407, 55.0407,
(1,56): 56.0378, 57.0378, 58.0378, 59.0378, 60.0378, 61.0278, 62.0278,
(1,63): 63.0278,
(2,0): 9.99923, 3.30923, 3.30923, 3.90923, 4.69923, 5.56923, 6.47923,
(2,7): 7.40923, 8.36048, 9.32048, 10.2905, 11.2705, 12.2405, 13.2305,
(2,14): 14.2105, 15.2005, 16.1813, 17.1713, 18.1613, 19.1513, 20.1513,
(2,21): 21.1413, 22.1313, 23.1313, 24.1212, 25.1212, 26.1112, 27.1112,
(2,28): 28.1012, 29.1012, 30.1012, 31.0912, 32.091, 33.091, 34.091,
(2,35): 35.081, 36.081, 37.081, 38.081, 39.081, 40.0748, 41.0748,
(2,42): 42.0748, 43.0648, 44.0648, 45.0648, 46.0648, 47.0648, 48.0607,
(2,49): 49.0607, 50.0607, 51.0607, 52.0607, 53.0607, 54.0507, 55.0507,
(2,56): 56.0578, 57.0478, 58.0478, 59.0478, 60.0478, 61.0478, 62.0478,
(2,63): 63.0478,
(3,0): 13.3292, 4.07923, 3.73923, 4.20923, 4.92923, 5.75923, 6.63923,
(3,7): 7.54923, 8.48048, 9.43048, 10.3905, 11.3505, 12.3205, 13.3005,
(3,14): 14.2805, 15.2605, 16.2413, 17.2313, 18.2213, 19.2113, 20.2013,
(3,21): 21.1913, 22.1813, 23.1713, 24.1612, 25.1612, 26.1512, 27.1512,
(3,28): 28.1412, 29.1412, 30.1312, 31.1312, 32.121, 33.121, 34.121,
(3,35): 35.111, 36.111, 37.111, 38.101, 39.101, 40.0948, 41.0948,
(3,42): 42.0948, 43.0948, 44.0948, 45.0848, 46.0848, 47.0848, 48.0807,
(3,49): 49.0807, 50.0807, 51.0807, 52.0807, 53.0707, 54.0707, 55.0707,
(3,56): 56.0678, 57.0678, 58.0678, 59.0678, 60.0678, 61.0678, 62.0678,
(3,63): 63.0678,
(4,0): 16.6639, 4.84391, 4.17391, 4.51391, 5.16391, 5.94391, 6.79391,
(4,7): 7.68391, 8.60241, 9.54241, 10.4824, 11.4424, 12.4024, 13.3724,
(4,14): 14.3524, 15.3224, 16.3067, 17.2867, 18.2767, 19.2567, 20.2467,
(4,21): 21.2367, 22.2267, 23.2167, 24.2058, 25.1958, 26.1858, 27.1858,
(4,28): 28.1758, 29.1658, 30.1658, 31.1558, 32.1548, 33.1548, 34.1448,
(4,35): 35.1448, 36.1348, 37.1348, 38.1348, 39.1248, 40.1241, 41.1241,
(4,42): 42.1141, 43.1141, 44.1141, 45.1141, 46.1041, 47.1041, 48.1035,
(4,49): 49.1035, 50.1035, 51.0935, 52.0935, 53.0935, 54.0935, 55.0935,
(4,56): 56.0888, 57.0888, 58.0888, 59.0888, 60.0788, 61.0788, 62.0788,
(4,63): 63.0788,
(5,0): 20.0039, 5.61391, 4.60391, 4.81391, 5.39391, 6.13391, 6.95391,
(5,7): 7.82391, 8.72241, 9.64241, 10.5824, 11.5324, 12.4924, 13.4524,
(5,14): 14.4224, 15.3924, 16.3667, 17.3467, 18.3267, 19.3067, 20.2967,
(5,21): 21.2767, 22.2667, 23.2567, 24.2458, 25.2358, 26.2258, 27.2158,
(5,28): 28.2158, 29.2058, 30.1958, 31.1958, 32.1848, 33.1848, 34.1748,
(5,35): 35.1748, 36.1648, 37.1648, 38.1548, 39.1548, 40.1441, 41.1441,
(5,42): 42.1441, 43.1341, 44.1341, 45.1341, 46.1341, 47.1241, 48.1235,
(5,49): 49.1235, 50.1235, 51.1135, 52.1135, 53.1135, 54.1135, 55.1035,
(5,56): 56.1088, 57.1088, 58.0988, 59.0988, 60.0988, 61.0988, 62.0988,
(5,63): 63.0988,
(6,0): 23.3339, 6.38391, 5.04391, 5.12391, 5.62391, 6.32391, 7.11391,
(6,7): 7.95391, 8.84241, 9.75241, 10.6824, 11.6224, 12.5724, 13.5224,
(6,14): 14.4924, 15.4624, 16.4267, 17.4067, 18.3867, 19.3667, 20.3467,
(6,21): 21.3267, 22.3167, 23.2967, 24.2858, 25.2758, 26.2658, 27.2558,
(6,28): 28.2458, 29.2358, 30.2358, 31.2258, 32.2148, 33.2148, 34.2048,
(6,35): 35.1948, 36.1948, 37.1848, 38.1848, 39.1748, 40.1741, 41.1741,
(6,42): 42.1641, 43.1641, 44.1541, 45.1541, 46.1541, 47.1441, 48.1435,
(6,49): 49.1435, 50.1435, 51.1335, 52.1335, 53.1335, 54.1335, 55.1235,
(6,56): 56.1288, 57.1188, 58.1188, 59.1188, 60.1188, 61.1188, 62.1088,
(6,63): 63.1088,
(7,0): 26.6639, 7.15391, 5.47391, 5.42391, 5.86391, 6.51391, 7.27391,
(7,7): 8.09391, 8.96241, 9.86241, 10.7724, 11.7124, 12.6524, 13.6024,
(7,14): 14.5624, 15.5224, 16.4867, 17.4667, 18.4367, 19.4167, 20.3967,
(7,21): 21.3767, 22.3567, 23.3467, 24.3258, 25.3158, 26.3058, 27.2958,
(7,28): 28.2858, 29.2758, 30.2658, 31.2558, 32.2448, 33.2448, 34.2348,
(7,35): 35.2248, 36.2248, 37.2148, 38.2048, 39.2048, 40.1941, 41.1941,
(7,42): 42.1941, 43.1841, 44.1841, 45.1741, 46.1741, 47.1741, 48.1635,
(7,49): 49.1635, 50.1635, 51.1535, 52.1535, 53.1535, 54.1435, 55.1435,
(7,56): 56.1388, 57.1388, 58.1388, 59.1388, 60.1288, 61.1288, 62.1288,
(7,63): 63.1288,
(8,0): 29.9973, 7.92727, 5.91727, 5.72727, 6.09727, 6.69727, 7.42727,
(8,7): 8.23727, 9.08434, 9.96434, 10.8743, 11.7943, 12.7343, 13.6743,
(8,14): 14.6343, 15.5843, 16.5521, 17.5221, 18.4921, 19.4621, 20.4421,
(8,21): 21.4221, 22.4021, 23.3821, 24.3704, 25.3604, 26.3404, 27.3304,
(8,28): 28.3204, 29.3104, 30.3004, 31.2904, 32.2786, 33.2686, 34.2586,
(8,35): 35.2586, 36.2486, 37.2386, 38.2386, 39.2286, 40.2233, 41.2133,
(8,42): 42.2133, 43.2033, 44.2033, 45.2033, 46.1933, 47.1933, 48.1863,
(8,49): 49.1863, 50.1763, 51.1763, 52.1763, 53.1663, 54.1663, 55.1663,
(8,56): 56.1599, 57.1599, 58.1499, 59.1499, 60.1499, 61.1499, 62.1399,
(8,63): 63.1399,
(9,0): 33.3373, 8.69727, 6.34727, 6.02727, 6.32727, 6.88727, 7.58727,
(9,7): 8.36727, 9.20434, 10.0743, 10.9743, 11.8843, 12.8143, 13.7543,
(9,14): 14.6943, 15.6543, 16.6121, 17.5821, 18.5421, 19.5221, 20.4921,
(9,21): 21.4721, 22.4521, 23.4321, 24.4104, 25.3904, 26.3804, 27.3704,
(9,28): 28.3504, 29.3404, 30.3304, 31.3204, 32.3086, 33.2986, 34.2886,
(9,35): 35.2786, 36.2786, 37.2686, 38.2586, 39.2586, 40.2433, 41.2433,
(9,42): 42.2333, 43.2333, 44.2233, 45.2233, 46.2133, 47.2133, 48.2063,
(9,49): 49.2063, 50.1963, 51.1963, 52.1863, 53.1863, 54.1863, 55.1763,
(9,56): 56.1799, 57.1699, 58.1699, 59.1699, 60.1699, 61.1599, 62.1599,
(9,63): 63.1599,
(10,0): 36.6673, 9.45727, 6.78727, 6.33727, 6.55727, 7.07727, 7.74727,
(10,7): 8.50727, 9.32434, 10.1843, 11.0643, 11.9743, 12.8943, 13.8243,
(10,14): 14.7643, 15.7143, 16.6721, 17.6321, 18.6021, 19.5721, 20.5421,
(10,21): 21.5121, 22.4921, 23.4721, 24.4504, 25.4304, 26.4204, 27.4004,
(10,28): 28.3904, 29.3804, 30.3604, 31.3504, 32.3386, 33.3286, 34.3186,
(10,35): 35.3086, 36.2986, 37.2986, 38.2886, 39.2786, 40.2733, 41.2633,
(10,42): 42.2633, 43.2533, 44.2433, 45.2433, 46.2333, 47.2333, 48.2263,
(10,49): 49.2263, 50.2163, 51.2163, 52.2063, 53.2063, 54.2063, 55.1963,
(10,56): 56.1999, 57.1899, 58.1899, 59.1899, 60.1799, 61.1799, 62.1799,
(10,63): 63.1699,
(11,0): 39.9973, 10.2273, 7.21727, 6.63727, 6.78727, 7.26727, 7.90727,
(11,7): 8.64727, 9.44434, 10.2943, 11.1643, 12.0643, 12.9743, 13.9043,
(11,14): 14.8343, 15.7843, 16.7321, 17.6921, 18.6521, 19.6221, 20.5921,
(11,21): 21.5621, 22.5421, 23.5121, 24.4904, 25.4704, 26.4604, 27.4404,
(11,28): 28.4204, 29.4104, 30.4004, 31.3804, 32.3686, 33.3586, 34.3486,
(11,35): 35.3386, 36.3286, 37.3186, 38.3086, 39.3086, 40.2933, 41.2933,
(11,42): 42.2833, 43.2733, 44.2733, 45.2633, 46.2633, 47.2533, 48.2463,
(11,49): 49.2463, 50.2363, 51.2363, 52.2263, 53.2263, 54.2163, 55.2163,
(11,56): 56.2099, 57.2099, 58.2099, 59.1999, 60.1999, 61.1999, 62.1899,
(11,63): 63.1899,
(12,0): 43.3294, 10.9994, 7.64939, 6.93939, 7.01939, 7.44939, 8.05939,
(12,7): 8.77939, 9.56627, 10.3963, 11.2663, 12.1463, 13.0563, 13.9763,
(12,14): 14.9063, 15.8463, 16.7975, 17.7475, 18.7075, 19.6775, 20.6375,
(12,21): 21.6075, 22.5875, 23.5575, 24.535, 25.515, 26.495, 27.475,
(12,28): 28.455, 29.445, 30.425, 31.415, 32.4025, 33.3925, 34.3825,
(12,35): 35.3725, 36.3625, 37.3525, 38.3425, 39.3325, 40.3226, 41.3126,
(12,42): 42.3026, 43.3026, 44.2926, 45.2826, 46.2826, 47.2726, 48.2692,
(12,49): 49.2592, 50.2592, 51.2492, 52.2492, 53.2392, 54.2392, 55.2392,
(12,56): 56.2309, 57.2309, 58.2209, 59.2209, 60.2109, 61.2109, 62.2109,
(12,63): 63.2009,
(13,0): 46.6694, 11.7694, 8.08939, 7.23939, 7.25939, 7.63939, 8.21939,
(13,7): 8.91939, 9.68627, 10.5063, 11.3563, 12.2363, 13.1363, 14.0563,
(13,14): 14.9763, 15.9163, 16.8575, 17.8075, 18.7675, 19.7275, 20.6875,
(13,21): 21.6575, 22.6275, 23.5975, 24.575, 25.555, 26.535, 27.515,
(13,28): 28.495, 29.475, 30.465, 31.445, 32.4325, 33.4225, 34.4125,
(13,35): 35.3925, 36.3825, 37.3725, 38.3625, 39.3525, 40.3426, 41.3426,
(13,42): 42.3326, 43.3226, 44.3126, 45.3126, 46.3026, 47.2926, 48.2892,
(13,49): 49.2792, 50.2792, 51.2692, 52.2692, 53.2592, 54.2592, 55.2492,
(13,56): 56.2509, 57.2409, 58.2409, 59.2409, 60.2309, 61.2309, 62.2209,
(13,63): 63.2209,
(14,0): 49.9994, 12.5394, 8.51939, 7.54939, 7.48939, 7.82939, 8.37939,
(14,7): 9.05939, 9.80627, 10.6163, 11.4563, 12.3263, 13.2163, 14.1263,
(14,14): 15.0463, 15.9763, 16.9175, 17.8675, 18.8175, 19.7775, 20.7375,
(14,21): 21.7075, 22.6775, 23.6475, 24.615, 25.595, 26.575, 27.545,
(14,28): 28.535, 29.515, 30.495, 31.475, 32.4625, 33.4525, 34.4325,
(14,35): 35.4225, 36.4125, 37.4025, 38.3925, 39.3825, 40.3726, 41.3626,
(14,42): 42.3526, 43.3426, 44.3426, 45.3326, 46.3226, 47.3126, 48.3092,
(14,49): 49.3092, 50.2992, 51.2892, 52.2892, 53.2792, 54.2792, 55.2692,
(14,56): 56.2709, 57.2609, 58.2609, 59.2509, 60.2509, 61.2409, 62.2409,
(14,63): 63.2409,
(15,0): 53.3294, 13.3094, 8.95939, 7.84939, 7.71939, 8.01939, 8.53939,
(15,7): 9.18939, 9.92627, 10.7163, 11.5563, 12.4163, 13.2963, 14.2063,
(15,14): 15.1163, 16.0463, 16.9775, 17.9275, 18.8775, 19.8275, 20.7875,
(15,21): 21.7475, 22.7175, 23.6875, 24.655, 25.635, 26.605, 27.585,
(15,28): 28.565, 29.545, 30.525, 31.515, 32.4925, 33.4825, 34.4625,
(15,35): 35.4525, 36.4425, 37.4325, 38.4225, 39.4025, 40.3926, 41.3826,
(15,42): 42.3826, 43.3726, 44.3626, 45.3526, 46.3426, 47.3426, 48.3292,
(15,49): 49.3292, 50.3192, 51.3092, 52.3092, 53.2992, 54.2992, 55.2892,
(15,56): 56.2809, 57.2809, 58.2709, 59.2709, 60.2609, 61.2609, 62.2609,
(15,63): 63.2509,
(16,0): 56.6635, 14.0735, 9.39349, 8.15349, 7.95349, 8.20349, 8.69349,
(16,7): 9.33349, 10.0482, 10.8282, 11.6482, 12.5082, 13.3782, 14.2782,
(16,14): 15.1882, 16.1082, 17.0429, 17.9829, 18.9329, 19.8829, 20.8329,
(16,21): 21.8029, 22.7629, 23.7329, 24.6996, 25.6696, 26.6496, 27.6196,
(16,28): 28.5996, 29.5796, 30.5596, 31.5396, 32.5263, 33.5063, 34.4963,
(16,35): 35.4863, 36.4663, 37.4563, 38.4463, 39.4363, 40.4218, 41.4118,
(16,42): 42.4018, 43.3918, 44.3818, 45.3718, 46.3718, 47.3618, 48.352,
(16,49): 49.342, 50.342, 51.332, 52.322, 53.322, 54.312, 55.312,
(16,56): 56.302, 57.292, 58.292, 59.282, 60.282, 61.282, 62.272,
(16,63): 63.272,
(17,0): 60.0035, 14.8435, 9.82349, 8.45349, 8.18349, 8.39349, 8.85349,
(17,7): 9.46349, 10.1682, 10.9382, 11.7482, 12.5882, 13.4682, 14.3582,
(17,14): 15.2582, 16.1782, 17.1029, 18.0429, 18.9829, 19.9329, 20.8829,
(17,21): 21.8429, 22.8029, 23.7729, 24.7396, 25.7096, 26.6796, 27.6596,
(17,28): 28.6396, 29.6096, 30.5896, 31.5796, 32.5563, 33.5363, 34.5263,
(17,35): 35.5063, 36.4963, 37.4863, 38.4663, 39.4563, 40.4418, 41.4318,
(17,42): 42.4218, 43.4118, 44.4018, 45.4018, 46.3918, 47.3818, 48.372,
(17,49): 49.362, 50.362, 51.352, 52.342, 53.342, 54.332, 55.322,
(17,56): 56.322, 57.312, 58.312, 59.302, 60.302, 61.292, 62.292,
(17,63): 63.282,
(18,0): 63.3335, 15.6135, 10.2635, 8.75349, 8.42349, 8.58349, 9.01349,
(18,7): 9.60349, 10.2882, 11.0382, 11.8482, 12.6782, 13.5482, 14.4282,
(18,14): 15.3282, 16.2382, 17.1629, 18.1029, 19.0429, 19.9829, 20.9329,
(18,21): 21.8929, 22.8529, 23.8129, 24.7796, 25.7496, 26.7196, 27.6996,
(18,28): 28.6696, 29.6496, 30.6296, 31.6096, 32.5863, 33.5663, 34.5563,
(18,35): 35.5363, 36.5263, 37.5063, 38.4963, 39.4863, 40.4718, 41.4618,
(18,42): 42.4518, 43.4418, 44.4318, 45.4218, 46.4118, 47.4018, 48.392,
(18,49): 49.382, 50.382, 51.372, 52.362, 53.352, 54.352, 55.342,
(18,56): 56.342, 57.332, 58.322, 59.322, 60.312, 61.312, 62.302,
(18,63): 63.302,
(19,0): 66.6635, 16.3835, 10.6935, 9.06349, 8.65349, 8.77349, 9.17349,
(19,7): 9.74349, 10.4082, 11.1482, 11.9382, 12.7682, 13.6282, 14.5082,
(19,14): 15.3982, 16.3082, 17.2229, 18.1529, 19.0929, 20.0329, 20.9829,
(19,21): 21.9429, 22.8929, 23.8629, 24.8196, 25.7896, 26.7596, 27.7296,
(19,28): 28.7096, 29.6796, 30.6596, 31.6396, 32.6163, 33.5963, 34.5863,
(19,35): 35.5663, 36.5463, 37.5363, 38.5263, 39.5063, 40.4918, 41.4818,
(19,42): 42.4718, 43.4618, 44.4518, 45.4418, 46.4318, 47.4218, 48.412,
(19,49): 49.402, 50.402, 51.392, 52.382, 53.372, 54.372, 55.362,
(19,56): 56.352, 57.352, 58.342, 59.342, 60.332, 61.322, 62.322,
(19,63): 63.312,
(20,0): 70.0037, 17.1537, 11.1337, 9.36372, 8.88372, 8.96372, 9.33372,
(20,7): 9.87372, 10.5301, 11.2601, 12.0401, 12.8601, 13.7101, 14.5801,
(20,14): 15.4701, 16.3701, 17.2883, 18.2183, 19.1483, 20.0883, 21.0383,
(20,21): 21.9883, 22.9383, 23.8983, 24.8642, 25.8342, 26.7942, 27.7742,
(20,28): 28.7442, 29.7142, 30.6942, 31.6742, 32.6502, 33.6302, 34.6102,
(20,35): 35.5902, 36.5802, 37.5602, 38.5502, 39.5302, 40.5211, 41.5111,
(20,42): 42.5011, 43.4811, 44.4711, 45.4611, 46.4511, 47.4411, 48.4348,
(20,49): 49.4248, 50.4148, 51.4048, 52.4048, 53.3948, 54.3848, 55.3748,
(20,56): 56.373, 57.363, 58.363, 59.353, 60.353, 61.343, 62.333,
(20,63): 63.333,
(21,0): 73.3337, 17.9237, 11.5637, 9.66372, 9.11372, 9.15372, 9.49372,
(21,7): 10.0137, 10.6501, 11.3701, 12.1401, 12.9501, 13.7901, 14.6501,
(21,14): 15.5401, 16.4401, 17.3483, 18.2683, 19.1983, 20.1383, 21.0883,
(21,21): 22.0283, 22.9883, 23.9483, 24.9042, 25.8742, 26.8342, 27.8042,
(21,28): 28.7742, 29.7542, 30.7242, 31.7042, 32.6802, 33.6602, 34.6402,
(21,35): 35.6202, 36.6102, 37.5902, 38.5702, 39.5602, 40.5411, 41.5311,
(21,42): 42.5211, 43.5111, 44.5011, 45.4811, 46.4711, 47.4611, 48.4548,
(21,49): 49.4448, 50.4348, 51.4248, 52.4248, 53.4148, 54.4048, 55.3948,
(21,56): 56.393, 57.383, 58.373, 59.373, 60.363, 61.363, 62.353,
(21,63): 63.343,
(22,0): 76.6637, 18.6937, 12.0037, 9.97372, 9.35372, 9.34372, 9.65372,
(22,7): 10.1537, 10.7701, 11.4701, 12.2301, 13.0401, 13.8701, 14.7301,
(22,14): 15.6101, 16.5001, 17.4083, 18.3283, 19.2583, 20.1883, 21.1283,
(22,21): 22.0783, 23.0283, 23.9883, 24.9442, 25.9042, 26.8742, 27.8442,
(22,28): 28.8142, 29.7842, 30.7542, 31.7342, 32.7102, 33.6902, 34.6702,
(22,35): 35.6502, 36.6302, 37.6202, 38.6002, 39.5902, 40.5711, 41.5611,
(22,42): 42.5411, 43.5311, 44.5211, 45.5111, 46.5011, 47.4911, 48.4748,
(22,49): 49.4648, 50.4548, 51.4448, 52.4348, 53.4348, 54.4248, 55.4148,
(22,56): 56.413, 57.403, 58.393, 59.383, 60.383, 61.373, 62.373,
(22,63): 63.363,
(23,0): 80.0037, 19.4637, 12.4337, 10.2737, 9.58372, 9.52372, 9.81372,
(23,7): 10.2837, 10.8901, 11.5801, 12.3301, 13.1201, 13.9501, 14.8001,
(23,14): 15.6801, 16.5701, 17.4683, 18.3883, 19.3083, 20.2483, 21.1783,
(23,21): 22.1283, 23.0783, 24.0283, 24.9842, 25.9442, 26.9142, 27.8742,
(23,28): 28.8442, 29.8142, 30.7942, 31.7642, 32.7402, 33.7202, 34.7002,
(23,35): 35.6802, 36.6602, 37.6402, 38.6302, 39.6102, 40.5911, 41.5811,
(23,42): 42.5711, 43.5511, 44.5411, 45.5311, 46.5211, 47.5111, 48.4948,
(23,49): 49.4848, 50.4748, 51.4648, 52.4548, 53.4548, 54.4448, 55.4348,
(23,56): 56.423, 57.423, 58.413, 59.403, 60.403, 61.393, 62.383,
(23,63): 63.383,
(24,0): 83.337, 20.227, 12.867, 10.577, 9.81698, 9.71698, 9.96698,
(24,7): 10.427, 11.012, 11.692, 12.432, 13.212, 14.032, 14.882, 15.752,
(24,15): 16.632, 17.5337, 18.4437, 19.3637, 20.2937, 21.2337, 22.1737,
(24,22): 23.1237, 24.0737, 25.0288, 25.9888, 26.9488, 27.9188, 28.8788,
(24,29): 29.8488, 30.8288, 31.7988, 32.774, 33.754, 34.724, 35.704,
(24,36): 36.684, 37.674, 38.654, 39.634, 40.6203, 41.6003, 42.5903,
(24,43): 43.5803, 44.5603, 45.5503, 46.5403, 47.5303, 48.5176, 49.5076,
(24,50): 50.4976, 51.4876, 52.4776, 53.4676, 54.4576, 55.4476, 56.444,
(24,57): 57.434, 58.424, 59.424, 60.414, 61.404, 62.404, 63.394,
(25,0): 86.667, 20.997, 13.307, 10.877, 10.047, 9.90698, 10.127,
(25,7): 10.557, 11.132, 11.792, 12.522, 13.302, 14.112, 14.952, 15.822,
(25,15): 16.702, 17.5937, 18.5037, 19.4237, 20.3437, 21.2837, 22.2237,
(25,22): 23.1637, 24.1137, 25.0688, 26.0288, 26.9888, 27.9488, 28.9188,
(25,29): 29.8888, 30.8588, 31.8288, 32.804, 33.784, 34.754, 35.734,
(25,36): 36.714, 37.694, 38.674, 39.664, 40.6403, 41.6303, 42.6103,
(25,43): 43.6003, 44.5903, 45.5703, 46.5603, 47.5503, 48.5376, 49.5276,
(25,50): 50.5176, 51.5076, 52.4976, 53.4876, 54.4776, 55.4676, 56.464,
(25,57): 57.454, 58.444, 59.434, 60.434, 61.424, 62.414, 63.414,
(26,0): 89.997, 21.767, 13.737, 11.177, 10.277, 10.097, 10.287, 10.697,
(26,8): 11.252, 11.902, 12.622, 13.392, 14.192, 15.032, 15.892, 16.762,
(26,16): 17.6537, 18.5637, 19.4737, 20.4037, 21.3337, 22.2637, 23.2137,
(26,23): 24.1637, 25.1088, 26.0688, 27.0288, 27.9888, 28.9588, 29.9188,
(26,30): 30.8888, 31.8588, 32.834, 33.814, 34.784, 35.764, 36.744,
(26,37): 37.724, 38.704, 39.684, 40.6703, 41.6503, 42.6403, 43.6203,
(26,44): 44.6103, 45.6003, 46.5803, 47.5703, 48.5576, 49.5476, 50.5376,
(26,51): 51.5276, 52.5176, 53.5076, 54.4976, 55.4876, 56.484, 57.474,
(26,58): 58.464, 59.454, 60.444, 61.444, 62.434, 63.424,
(27,0): 93.337, 22.537, 14.177, 11.487, 10.507, 10.287, 10.447, 10.837,
(27,8): 11.372, 12.012, 12.722, 13.482, 14.272, 15.102, 15.962, 16.832,
(27,16): 17.7137, 18.6137, 19.5337, 20.4537, 21.3837, 22.3137, 23.2537,
(27,23): 24.2037, 25.1488, 26.1088, 27.0688, 28.0288, 28.9888, 29.9588,
(27,30): 30.9288, 31.8988, 32.864, 33.844, 34.814, 35.794, 36.774,
(27,37): 37.754, 38.734, 39.714, 40.6903, 41.6803, 42.6603, 43.6503,
(27,44): 44.6303, 45.6203, 46.6003, 47.5903, 48.5776, 49.5676, 50.5576,
(27,51): 51.5476, 52.5376, 53.5276, 54.5176, 55.5076, 56.494, 57.484,
(27,58): 58.484, 59.474, 60.464, 61.454, 62.454, 63.444,
(28,0): 96.6617, 23.3117, 14.6117, 11.7917, 10.7417, 10.4717, 10.6017,
(28,7): 10.9717, 11.494, 12.114, 12.814, 13.564, 14.354, 15.184,
(28,14): 16.024, 16.894, 17.7791, 18.6791, 19.5891, 20.4991, 21.4291,
(28,21): 22.3591, 23.2991, 24.2491, 25.1934, 26.1434, 27.1034, 28.0634,
(28,28): 29.0234, 29.9934, 30.9534, 31.9234, 32.8978, 33.8678, 34.8478,
(28,35): 35.8178, 36.7978, 37.7778, 38.7578, 39.7378, 40.7196, 41.6996,
(28,42): 42.6896, 43.6696, 44.6596, 45.6396, 46.6296, 47.6096, 48.6004,
(28,49): 49.5904, 50.5804, 51.5604, 52.5504, 53.5404, 54.5304, 55.5204,
(28,56): 56.5151, 57.5051, 58.4951, 59.4851, 60.4851, 61.4751, 62.4651,
(28,63): 63.4551,
(29,0): 100.002, 24.0817, 15.0417, 12.0917, 10.9817, 10.6617, 10.7617,
(29,7): 11.1117, 11.614, 12.224, 12.914, 13.654, 14.444, 15.254,
(29,14): 16.094, 16.964, 17.8391, 18.7291, 19.6391, 20.5591, 21.4791,
(29,21): 22.4091, 23.3491, 24.2891, 25.2334, 26.1834, 27.1434, 28.1034,
(29,28): 29.0634, 30.0234, 30.9934, 31.9634, 32.9278, 33.8978, 34.8778,
(29,35): 35.8478, 36.8278, 37.8078, 38.7878, 39.7678, 40.7396, 41.7296,
(29,42): 42.7096, 43.6896, 44.6796, 45.6596, 46.6496, 47.6296, 48.6204,
(29,49): 49.6104, 50.6004, 51.5804, 52.5704, 53.5604, 54.5504, 55.5404,
(29,56): 56.5351, 57.5251, 58.5151, 59.5051, 60.4951, 61.4851, 62.4851,
(29,63): 63.4751,
(30,0): 103.332, 24.8417, 15.4817, 12.3917, 11.2117, 10.8517, 10.9217,
(30,7): 11.2417, 11.734, 12.334, 13.014, 13.744, 14.524, 15.334,
(30,14): 16.164, 17.024, 17.8991, 18.7891, 19.6891, 20.6091, 21.5291,
(30,21): 22.4591, 23.3891, 24.3291, 25.2734, 26.2234, 27.1834, 28.1334,
(30,28): 29.0934, 30.0534, 31.0234, 31.9934, 32.9578, 33.9278, 34.9078,
(30,35): 35.8778, 36.8578, 37.8278, 38.8078, 39.7878, 40.7696, 41.7496,
(30,42): 42.7296, 43.7196, 44.6996, 45.6796, 46.6696, 47.6596, 48.6404,
(30,49): 49.6304, 50.6204, 51.6004, 52.5904, 53.5804, 54.5704, 55.5604,
(30,56): 56.5551, 57.5451, 58.5351, 59.5251, 60.5151, 61.5051, 62.4951,
(30,63): 63.4851,
(31,0): 106.662, 25.6117, 15.9117, 12.7017, 11.4417, 11.0417, 11.0817,
(31,7): 11.3817, 11.854, 12.444, 13.104, 13.834, 14.604, 15.404,
(31,14): 16.234, 17.094, 17.9591, 18.8491, 19.7491, 20.6591, 21.5791,
(31,21): 22.4991, 23.4391, 24.3691, 25.3134, 26.2634, 27.2134, 28.1734,
(31,28): 29.1334, 30.0934, 31.0534, 32.0234, 32.9878, 33.9578, 34.9378,
(31,35): 35.9078, 36.8778, 37.8578, 38.8378, 39.8178, 40.7896, 41.7796,
(31,42): 42.7596, 43.7396, 44.7196, 45.7096, 46.6896, 47.6796, 48.6604,
(31,49): 49.6504, 50.6404, 51.6204, 52.6104, 53.6004, 54.5904, 55.5804,
(31,56): 56.5651, 57.5551, 58.5451, 59.5351, 60.5351, 61.5251, 62.5151,
(31,63): 63.5051
}
}
}
}
@@ -0,0 +1,5 @@
Maximum value in write buffer is: 106.666667
Minimum value in write buffer is: 1.769231
Filter type is: H5Z_FILTER_SCALEOFFSET
Maximum value in DS1 is: 106.661698
Minimum value in DS1 is: 1.769231
@@ -0,0 +1,191 @@
HDF5 "h5ex_d_soint.h5" {
GROUP "/" {
DATASET "DS1" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 32, 64 ) / ( 32, 64 ) }
DATA {
(0,0): 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14,
(0,15): -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26,
(0,27): -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38,
(0,39): -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49, -50,
(0,51): -51, -52, -53, -54, -55, -56, -57, -58, -59, -60, -61, -62,
(0,63): -63,
(1,0): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,21): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,42): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(1,63): 0,
(2,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
(2,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
(2,34): 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
(2,50): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
(3,0): 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
(3,17): 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64,
(3,33): 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96,
(3,49): 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
(3,62): 124, 126,
(4,0): 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48,
(4,17): 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96,
(4,33): 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135,
(4,46): 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 168, 171,
(4,58): 174, 177, 180, 183, 186, 189,
(5,0): 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64,
(5,17): 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120,
(5,31): 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168,
(5,43): 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216,
(5,55): 220, 224, 228, 232, 236, 240, 244, 248, 252,
(6,0): 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75,
(6,16): 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140,
(6,29): 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200,
(6,41): 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260,
(6,53): 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315,
(7,0): 0, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90,
(7,16): 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168,
(7,29): 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240,
(7,41): 246, 252, 258, 264, 270, 276, 282, 288, 294, 300, 306, 312,
(7,53): 318, 324, 330, 336, 342, 348, 354, 360, 366, 372, 378,
(8,0): 0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98, 105,
(8,16): 112, 119, 126, 133, 140, 147, 154, 161, 168, 175, 182, 189,
(8,28): 196, 203, 210, 217, 224, 231, 238, 245, 252, 259, 266, 273,
(8,40): 280, 287, 294, 301, 308, 315, 322, 329, 336, 343, 350, 357,
(8,52): 364, 371, 378, 385, 392, 399, 406, 413, 420, 427, 434, 441,
(9,0): 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120,
(9,16): 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216,
(9,28): 224, 232, 240, 248, 256, 264, 272, 280, 288, 296, 304, 312,
(9,40): 320, 328, 336, 344, 352, 360, 368, 376, 384, 392, 400, 408,
(9,52): 416, 424, 432, 440, 448, 456, 464, 472, 480, 488, 496, 504,
(10,0): 0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126,
(10,15): 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234,
(10,27): 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342,
(10,39): 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450,
(10,51): 459, 468, 477, 486, 495, 504, 513, 522, 531, 540, 549, 558,
(10,63): 567,
(11,0): 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140,
(11,15): 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260,
(11,27): 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380,
(11,39): 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500,
(11,51): 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620,
(11,63): 630,
(12,0): 0, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110, 121, 132, 143, 154,
(12,15): 165, 176, 187, 198, 209, 220, 231, 242, 253, 264, 275, 286,
(12,27): 297, 308, 319, 330, 341, 352, 363, 374, 385, 396, 407, 418,
(12,39): 429, 440, 451, 462, 473, 484, 495, 506, 517, 528, 539, 550,
(12,51): 561, 572, 583, 594, 605, 616, 627, 638, 649, 660, 671, 682,
(12,63): 693,
(13,0): 0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156,
(13,14): 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300,
(13,26): 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, 432, 444,
(13,38): 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588,
(13,50): 600, 612, 624, 636, 648, 660, 672, 684, 696, 708, 720, 732,
(13,62): 744, 756,
(14,0): 0, 13, 26, 39, 52, 65, 78, 91, 104, 117, 130, 143, 156, 169,
(14,14): 182, 195, 208, 221, 234, 247, 260, 273, 286, 299, 312, 325,
(14,26): 338, 351, 364, 377, 390, 403, 416, 429, 442, 455, 468, 481,
(14,38): 494, 507, 520, 533, 546, 559, 572, 585, 598, 611, 624, 637,
(14,50): 650, 663, 676, 689, 702, 715, 728, 741, 754, 767, 780, 793,
(14,62): 806, 819,
(15,0): 0, 14, 28, 42, 56, 70, 84, 98, 112, 126, 140, 154, 168, 182,
(15,14): 196, 210, 224, 238, 252, 266, 280, 294, 308, 322, 336, 350,
(15,26): 364, 378, 392, 406, 420, 434, 448, 462, 476, 490, 504, 518,
(15,38): 532, 546, 560, 574, 588, 602, 616, 630, 644, 658, 672, 686,
(15,50): 700, 714, 728, 742, 756, 770, 784, 798, 812, 826, 840, 854,
(15,62): 868, 882,
(16,0): 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195,
(16,14): 210, 225, 240, 255, 270, 285, 300, 315, 330, 345, 360, 375,
(16,26): 390, 405, 420, 435, 450, 465, 480, 495, 510, 525, 540, 555,
(16,38): 570, 585, 600, 615, 630, 645, 660, 675, 690, 705, 720, 735,
(16,50): 750, 765, 780, 795, 810, 825, 840, 855, 870, 885, 900, 915,
(16,62): 930, 945,
(17,0): 0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208,
(17,14): 224, 240, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400,
(17,26): 416, 432, 448, 464, 480, 496, 512, 528, 544, 560, 576, 592,
(17,38): 608, 624, 640, 656, 672, 688, 704, 720, 736, 752, 768, 784,
(17,50): 800, 816, 832, 848, 864, 880, 896, 912, 928, 944, 960, 976,
(17,62): 992, 1008,
(18,0): 0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221,
(18,14): 238, 255, 272, 289, 306, 323, 340, 357, 374, 391, 408, 425,
(18,26): 442, 459, 476, 493, 510, 527, 544, 561, 578, 595, 612, 629,
(18,38): 646, 663, 680, 697, 714, 731, 748, 765, 782, 799, 816, 833,
(18,50): 850, 867, 884, 901, 918, 935, 952, 969, 986, 1003, 1020, 1037,
(18,62): 1054, 1071,
(19,0): 0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 216, 234,
(19,14): 252, 270, 288, 306, 324, 342, 360, 378, 396, 414, 432, 450,
(19,26): 468, 486, 504, 522, 540, 558, 576, 594, 612, 630, 648, 666,
(19,38): 684, 702, 720, 738, 756, 774, 792, 810, 828, 846, 864, 882,
(19,50): 900, 918, 936, 954, 972, 990, 1008, 1026, 1044, 1062, 1080,
(19,61): 1098, 1116, 1134,
(20,0): 0, 19, 38, 57, 76, 95, 114, 133, 152, 171, 190, 209, 228, 247,
(20,14): 266, 285, 304, 323, 342, 361, 380, 399, 418, 437, 456, 475,
(20,26): 494, 513, 532, 551, 570, 589, 608, 627, 646, 665, 684, 703,
(20,38): 722, 741, 760, 779, 798, 817, 836, 855, 874, 893, 912, 931,
(20,50): 950, 969, 988, 1007, 1026, 1045, 1064, 1083, 1102, 1121, 1140,
(20,61): 1159, 1178, 1197,
(21,0): 0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260,
(21,14): 280, 300, 320, 340, 360, 380, 400, 420, 440, 460, 480, 500,
(21,26): 520, 540, 560, 580, 600, 620, 640, 660, 680, 700, 720, 740,
(21,38): 760, 780, 800, 820, 840, 860, 880, 900, 920, 940, 960, 980,
(21,50): 1000, 1020, 1040, 1060, 1080, 1100, 1120, 1140, 1160, 1180,
(21,60): 1200, 1220, 1240, 1260,
(22,0): 0, 21, 42, 63, 84, 105, 126, 147, 168, 189, 210, 231, 252, 273,
(22,14): 294, 315, 336, 357, 378, 399, 420, 441, 462, 483, 504, 525,
(22,26): 546, 567, 588, 609, 630, 651, 672, 693, 714, 735, 756, 777,
(22,38): 798, 819, 840, 861, 882, 903, 924, 945, 966, 987, 1008, 1029,
(22,50): 1050, 1071, 1092, 1113, 1134, 1155, 1176, 1197, 1218, 1239,
(22,60): 1260, 1281, 1302, 1323,
(23,0): 0, 22, 44, 66, 88, 110, 132, 154, 176, 198, 220, 242, 264, 286,
(23,14): 308, 330, 352, 374, 396, 418, 440, 462, 484, 506, 528, 550,
(23,26): 572, 594, 616, 638, 660, 682, 704, 726, 748, 770, 792, 814,
(23,38): 836, 858, 880, 902, 924, 946, 968, 990, 1012, 1034, 1056,
(23,49): 1078, 1100, 1122, 1144, 1166, 1188, 1210, 1232, 1254, 1276,
(23,59): 1298, 1320, 1342, 1364, 1386,
(24,0): 0, 23, 46, 69, 92, 115, 138, 161, 184, 207, 230, 253, 276, 299,
(24,14): 322, 345, 368, 391, 414, 437, 460, 483, 506, 529, 552, 575,
(24,26): 598, 621, 644, 667, 690, 713, 736, 759, 782, 805, 828, 851,
(24,38): 874, 897, 920, 943, 966, 989, 1012, 1035, 1058, 1081, 1104,
(24,49): 1127, 1150, 1173, 1196, 1219, 1242, 1265, 1288, 1311, 1334,
(24,59): 1357, 1380, 1403, 1426, 1449,
(25,0): 0, 24, 48, 72, 96, 120, 144, 168, 192, 216, 240, 264, 288, 312,
(25,14): 336, 360, 384, 408, 432, 456, 480, 504, 528, 552, 576, 600,
(25,26): 624, 648, 672, 696, 720, 744, 768, 792, 816, 840, 864, 888,
(25,38): 912, 936, 960, 984, 1008, 1032, 1056, 1080, 1104, 1128, 1152,
(25,49): 1176, 1200, 1224, 1248, 1272, 1296, 1320, 1344, 1368, 1392,
(25,59): 1416, 1440, 1464, 1488, 1512,
(26,0): 0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300,
(26,13): 325, 350, 375, 400, 425, 450, 475, 500, 525, 550, 575, 600,
(26,25): 625, 650, 675, 700, 725, 750, 775, 800, 825, 850, 875, 900,
(26,37): 925, 950, 975, 1000, 1025, 1050, 1075, 1100, 1125, 1150, 1175,
(26,48): 1200, 1225, 1250, 1275, 1300, 1325, 1350, 1375, 1400, 1425,
(26,58): 1450, 1475, 1500, 1525, 1550, 1575,
(27,0): 0, 26, 52, 78, 104, 130, 156, 182, 208, 234, 260, 286, 312,
(27,13): 338, 364, 390, 416, 442, 468, 494, 520, 546, 572, 598, 624,
(27,25): 650, 676, 702, 728, 754, 780, 806, 832, 858, 884, 910, 936,
(27,37): 962, 988, 1014, 1040, 1066, 1092, 1118, 1144, 1170, 1196,
(27,47): 1222, 1248, 1274, 1300, 1326, 1352, 1378, 1404, 1430, 1456,
(27,57): 1482, 1508, 1534, 1560, 1586, 1612, 1638,
(28,0): 0, 27, 54, 81, 108, 135, 162, 189, 216, 243, 270, 297, 324,
(28,13): 351, 378, 405, 432, 459, 486, 513, 540, 567, 594, 621, 648,
(28,25): 675, 702, 729, 756, 783, 810, 837, 864, 891, 918, 945, 972,
(28,37): 999, 1026, 1053, 1080, 1107, 1134, 1161, 1188, 1215, 1242,
(28,47): 1269, 1296, 1323, 1350, 1377, 1404, 1431, 1458, 1485, 1512,
(28,57): 1539, 1566, 1593, 1620, 1647, 1674, 1701,
(29,0): 0, 28, 56, 84, 112, 140, 168, 196, 224, 252, 280, 308, 336,
(29,13): 364, 392, 420, 448, 476, 504, 532, 560, 588, 616, 644, 672,
(29,25): 700, 728, 756, 784, 812, 840, 868, 896, 924, 952, 980, 1008,
(29,37): 1036, 1064, 1092, 1120, 1148, 1176, 1204, 1232, 1260, 1288,
(29,47): 1316, 1344, 1372, 1400, 1428, 1456, 1484, 1512, 1540, 1568,
(29,57): 1596, 1624, 1652, 1680, 1708, 1736, 1764,
(30,0): 0, 29, 58, 87, 116, 145, 174, 203, 232, 261, 290, 319, 348,
(30,13): 377, 406, 435, 464, 493, 522, 551, 580, 609, 638, 667, 696,
(30,25): 725, 754, 783, 812, 841, 870, 899, 928, 957, 986, 1015, 1044,
(30,37): 1073, 1102, 1131, 1160, 1189, 1218, 1247, 1276, 1305, 1334,
(30,47): 1363, 1392, 1421, 1450, 1479, 1508, 1537, 1566, 1595, 1624,
(30,57): 1653, 1682, 1711, 1740, 1769, 1798, 1827,
(31,0): 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360,
(31,13): 390, 420, 450, 480, 510, 540, 570, 600, 630, 660, 690, 720,
(31,25): 750, 780, 810, 840, 870, 900, 930, 960, 990, 1020, 1050, 1080,
(31,37): 1110, 1140, 1170, 1200, 1230, 1260, 1290, 1320, 1350, 1380,
(31,47): 1410, 1440, 1470, 1500, 1530, 1560, 1590, 1620, 1650, 1680,
(31,57): 1710, 1740, 1770, 1800, 1830, 1860, 1890
}
}
}
}
@@ -0,0 +1,2 @@
Filter type is: H5Z_FILTER_SCALEOFFSET
Maximum value in DS1 is: 1890

Some files were not shown because too many files have changed in this diff Show More