diff options
author | Nat Furrer <nfurrer@ncsa.uiuc.edu> | 2004-06-28 19:46:03 (GMT) |
---|---|---|
committer | Nat Furrer <nfurrer@ncsa.uiuc.edu> | 2004-06-28 19:46:03 (GMT) |
commit | 6d682a5a28f1ad599db5ad77e135b25a2efe7ae7 (patch) | |
tree | 678b86bf8d678460c0db11fa9cb9e09f40206775 /fortran/test | |
parent | 903580837a2e43d2b72c39206746a20d840c54e8 (diff) | |
download | hdf5-6d682a5a28f1ad599db5ad77e135b25a2efe7ae7.zip hdf5-6d682a5a28f1ad599db5ad77e135b25a2efe7ae7.tar.gz hdf5-6d682a5a28f1ad599db5ad77e135b25a2efe7ae7.tar.bz2 |
[svn-r8753]
Purpose:
Handled SZIP without the encoder present.
Description:
It is now an error for a user to try to create, extend, or write to a
dataset without the encoder present in their SZIP library.
Added H5Zget_filter_info to provide users with a way to query HDF5
about the presence (or lack thereof) of the SZIP encoder.
Platforms tested:
Windows
Verbena
Arabica
Copper
Misc. update:
Diffstat (limited to 'fortran/test')
-rw-r--r-- | fortran/test/tH5Z.f90 | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/fortran/test/tH5Z.f90 b/fortran/test/tH5Z.f90 index 91a3bc7..4216d1b 100644 --- a/fortran/test/tH5Z.f90 +++ b/fortran/test/tH5Z.f90 @@ -137,7 +137,36 @@ INTEGER :: filter_flag = -1 INTEGER(SIZE_T) :: cd_nelemnts = 4 INTEGER(SIZE_T) :: filter_name_len = 4 - INTEGER, DIMENSION(4) :: cd_values + INTEGER, DIMENSION(4) :: cd_values + INTEGER :: config_flag = 0 + + ! + ! Make sure that Szip has an encoder available + ! + CALL h5zget_filter_info_f(H5Z_FILTER_SZIP_F, config_flag, error) + CALL check("h5zget_filter_info", error, total_error) + if ( IAND(config_flag, H5Z_FILTER_ENCODE_ENABLED_F) .EQ. 0 ) then + szip_flag = .FALSE. + total_error = -1 + return + endif + CALL h5zfilter_avail_f(H5Z_FILTER_SZIP_F, flag, error) + CALL check("h5zfilter_avail", error, total_error) + + ! + ! Make sure h5zget_filter_info_f returns the right flag + ! + if( flag ) then + if ( config_flag .NE. IOR( H5Z_FILTER_ENCODE_ENABLED_F, H5Z_FILTER_DECODE_ENABLED_F) ) then + error = -1 + CALL check("h5zget_filter_info config_flag", error, total_error) + endif + else + if ( config_flag .NE. 0 ) then + error = -1 + CALL check("h5zget_filter_info config_flag", error, total_error) + endif + endif options_mask = H5_SZIP_NN_OM_F + H5_SZIP_CHIP_OM_F pix_per_block = 32 |