diff options
author | Elena Pourmal <epourmal@hdfgroup.org> | 2000-11-03 19:45:50 (GMT) |
---|---|---|
committer | Elena Pourmal <epourmal@hdfgroup.org> | 2000-11-03 19:45:50 (GMT) |
commit | 46f49b84cf37d98fc68d582c857f98345f2e5835 (patch) | |
tree | 05496d12e49b67f871814f3c11f4f69b18d5b419 /fortran/src/H5Sf.c | |
parent | 0556db98e281f377b54e7e918bc296604b490993 (diff) | |
download | hdf5-46f49b84cf37d98fc68d582c857f98345f2e5835.zip hdf5-46f49b84cf37d98fc68d582c857f98345f2e5835.tar.gz hdf5-46f49b84cf37d98fc68d582c857f98345f2e5835.tar.bz2 |
[svn-r2795]
Purpose:
New feature
Description:
Now all Fortran flags such as H5F_ACC_RDONLY_F (previously defined in the
H5fortran_flags.f90 file) are generated at runtime when h5init_fortran_f
subroutine is called. All flags have now the same value as
corresponding C flags. This change affects user's programming model:
Every Fortran program that uses F90 HDF5 Library has to call
h5init_fortran_f(error) subroutine before the first call to the
F90 HDF5 Library and h5close_fortran_f(error) after the last call to the
Library. h5init(close)_types_f calls are not needed anymore since
F90 datatypes are intialized(closed) with the h5init(close)_fortran_f
calls.
Platforms tested:
O2K and Solaris2.7
Diffstat (limited to 'fortran/src/H5Sf.c')
-rw-r--r-- | fortran/src/H5Sf.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/fortran/src/H5Sf.c b/fortran/src/H5Sf.c index af9c4a5..df51ca3 100644 --- a/fortran/src/H5Sf.c +++ b/fortran/src/H5Sf.c @@ -87,8 +87,8 @@ nh5screate_c ( int_f *classtype, hid_t_f *space_id ) int CASE; int ret_value = 0; hid_t c_space_id; - CASE = (int)*classtype; - + c_classtype = (H5S_class_t) *classtype; +/* switch (CASE) { case (H5S_SCALAR_F): @@ -103,6 +103,7 @@ nh5screate_c ( int_f *classtype, hid_t_f *space_id ) ret_value = -1; return ret_value; } +*/ c_space_id = H5Screate(c_classtype); if ( c_space_id < 0 ) ret_value = -1; @@ -531,8 +532,11 @@ nh5sget_simple_extent_type_c ( hid_t_f *space_id , int_f *classtype) c_space_id = *space_id; c_classtype = H5Sget_simple_extent_type(c_space_id); if ( c_classtype < 0 ) ret_value = -1; + *classtype = c_classtype; +/* if (c_classtype == H5S_SCALAR) *classtype = H5S_SCALAR_F; if (c_classtype == H5S_SIMPLE) *classtype = H5S_SIMPLE_F; +*/ return ret_value; } @@ -809,9 +813,11 @@ nh5sselect_hyperslab_c ( hid_t_f *space_id , int_f *op, hssize_t_f *start, hsize c_block[i] = (hsize_t)block[t]; } + c_op = (H5S_seloper_t)*op; +/* if (*op == H5S_SELECT_SET_F) c_op = H5S_SELECT_SET; if (*op == H5S_SELECT_OR_F) c_op = H5S_SELECT_OR; - +*/ c_space_id = *space_id; status = H5Sselect_hyperslab(c_space_id, c_op, c_start, c_stride, c_count, c_block); @@ -850,8 +856,10 @@ nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *nelements, hss int i, j; hssize_t *c_coord; size_t c_nelements; - +/* if (*op != H5S_SELECT_SET_F) return ret_value; +*/ + if (*op != H5S_SELECT_SET) return ret_value; c_op = H5S_SELECT_SET; c_space_id = *space_id; |