!>
!> @file h5types.f90
!>
!> @brief HDF5 datatype codes
!>
!> @copyright
!> Copyright (©) 2021 EPFL (Ecole Polytechnique Fédérale de Lausanne)
!> SPC (Swiss Plasma Center)
!>
!> futils is free software: you can redistribute it and/or modify it under
!> the terms of the GNU Lesser General Public License as published by the Free
!> Software Foundation, either version 3 of the License, or (at your option)
!> any later version.
!>
!> futils is distributed in the hope that it will be useful, but WITHOUT ANY
!> WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
!> FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
!>
!> You should have received a copy of the GNU Lesser General Public License
!> along with this program. If not, see .
!>
!> @authors
!> (in alphabetical order)
!> @author Trach-Minh Tran
!>
PROGRAM main
USE hdf5
IMPLICIT NONE
INTEGER :: ierr, d0=0
INTEGER :: majnum, minnum, relnum
CHARACTER(len=3) :: majn, minn, reln
CHARACTER(len=64) :: libver
!
CALL h5open_f(ierr)
CALL h5get_libversion_f(majnum, minnum, relnum, ierr)
WRITE(majn,'(i3)') majnum
WRITE(minn,'(i3)') minnum
WRITE(reln,'(i3)') relnum
libver = TRIM(ADJUSTL(majn))//'.'//TRIM(ADJUSTL(minn))//'.'//TRIM(ADJUSTL(reln))
WRITE(*,'(a,1X,i0)') 'Kind of H5T_NATIVE_INTEGER', KIND(H5T_NATIVE_INTEGER)
WRITE(*,'(a,1X,i0)') 'HID_T', HID_T
WRITE(*,'(a,1X,i0)') 'H5T_NATIVE_INTEGER', H5T_NATIVE_INTEGER
WRITE(*,'(a)') TRIM(libver)
!!$ d0=H5T_NATIVE_INTEGER
WRITE(*,'(a24,1X,i0)') 'H5T_NATIVE_INTEGER', H5T_NATIVE_INTEGER
WRITE(*,'(a24,1X,i0)') 'H5T_NATIVE_REAL', H5T_NATIVE_REAL
WRITE(*,'(a24,1X,i0)') 'H5T_NATIVE_DOUBLE', H5T_NATIVE_DOUBLE
WRITE(*,'(a24,1X,i0)') 'H5T_NATIVE_CHARACTER', H5T_NATIVE_CHARACTER
WRITE(*,'(a24,1X,i0)') 'H5T_STD_I8BE', H5T_STD_I8BE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_I8LE', H5T_STD_I8LE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_I16BE', H5T_STD_I16BE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_I16LE', H5T_STD_I16LE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_I32BE', H5T_STD_I32BE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_I32LE', H5T_STD_I32LE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_I64BE', H5T_STD_I64BE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_I64LE', H5T_STD_I64LE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_U8BE', H5T_STD_U8BE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_U8LE', H5T_STD_U8LE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_U16BE', H5T_STD_U16BE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_U16LE', H5T_STD_U16LE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_U32BE', H5T_STD_U32BE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_U32LE', H5T_STD_U32LE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_U64BE', H5T_STD_U64BE
WRITE(*,'(a24,1X,i0)') 'H5T_STD_U64LE', H5T_STD_U64LE
WRITE(*,'(a24,1X,i0)') 'H5T_IEEE_F32BE', H5T_IEEE_F32BE
WRITE(*,'(a24,1X,i0)') 'H5T_IEEE_F32LE', H5T_IEEE_F32LE
WRITE(*,'(a24,1X,i0)') 'H5T_IEEE_F64BE', H5T_IEEE_F64BE
WRITE(*,'(a24,1X,i0)') 'H5T_IEEE_F64LE', H5T_IEEE_F64LE
END PROGRAM main