mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-04-24 17:51:25 +08:00
[svn-r27154] fixed issue with mis-matching long double between Fortran and C
This commit is contained in:
parent
043173a689
commit
8641814c4e
Makefile.in
c++
configureconfigure.acexamples
fortran
hl
m4
src
test
testpar
tools
@ -294,6 +294,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -454,6 +454,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -402,6 +402,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -465,6 +465,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -456,6 +456,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
27
configure
vendored
27
configure
vendored
@ -719,6 +719,7 @@ am__fastdepCXX_TRUE
|
||||
CXXDEPMODE
|
||||
ac_ct_CXX
|
||||
CXXFLAGS
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE
|
||||
HAVE_Fortran_INTEGER_SIZEOF_16
|
||||
PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF
|
||||
PAC_FORTRAN_NATIVE_DOUBLE_KIND
|
||||
@ -7118,10 +7119,15 @@ if ac_fn_fc_try_run "$LINENO"; then :
|
||||
if test -s pac_fconftest.out ; then
|
||||
|
||||
|
||||
tmp="`cat pac_fconftest.out`"
|
||||
tmp="`cat pac_fconftest.out`"
|
||||
pac_validIntKinds="`echo $tmp | sed -e 's/.*A\(.*\)B.*/\1/'`"
|
||||
pac_validRealKinds="`echo $tmp | sed -e 's/.*C\(.*\)D.*/\1/'`"
|
||||
PAC_FC_MAX_REAL_PRECISION="`echo $tmp | sed -e 's/.*E\(.*\)F.*/\1/'`"
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define PAC_FC_MAX_REAL_PRECISION $PAC_FC_MAX_REAL_PRECISION
|
||||
_ACEOF
|
||||
|
||||
PAC_FC_ALL_INTEGER_KINDS="{`echo $pac_validIntKinds | sed -e 's/ /,/g'`}"
|
||||
PAC_FC_ALL_REAL_KINDS="{`echo $pac_validRealKinds | sed -e 's/ /,/g'`}"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran INTEGER KINDs" >&5
|
||||
@ -7142,6 +7148,7 @@ $as_echo "Error" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No output from test program!" >&5
|
||||
$as_echo "$as_me: WARNING: No output from test program!" >&2;}
|
||||
fi
|
||||
rm -f pac_fconftest.out
|
||||
|
||||
else
|
||||
|
||||
@ -7181,7 +7188,7 @@ rm -f pac_fconftest.out
|
||||
INTEGER a
|
||||
REAL b
|
||||
DOUBLE PRECISION c
|
||||
OPEN(8, FILE="pac_fconftest.out", FORM="formatted")
|
||||
OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
|
||||
WRITE(8,*) $FC_SIZEOF_A
|
||||
WRITE(8,*) kind(a)
|
||||
WRITE(8,*) $FC_SIZEOF_B
|
||||
@ -7295,10 +7302,15 @@ if ac_fn_fc_try_run "$LINENO"; then :
|
||||
if test -s pac_fconftest.out ; then
|
||||
|
||||
|
||||
tmp="`cat pac_fconftest.out`"
|
||||
tmp="`cat pac_fconftest.out`"
|
||||
pac_validIntKinds="`echo $tmp | sed -e 's/.*A\(.*\)B.*/\1/'`"
|
||||
pac_validRealKinds="`echo $tmp | sed -e 's/.*C\(.*\)D.*/\1/'`"
|
||||
PAC_FC_MAX_REAL_PRECISION="`echo $tmp | sed -e 's/.*E\(.*\)F.*/\1/'`"
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define PAC_FC_MAX_REAL_PRECISION $PAC_FC_MAX_REAL_PRECISION
|
||||
_ACEOF
|
||||
|
||||
PAC_FC_ALL_INTEGER_KINDS="{`echo $pac_validIntKinds | sed -e 's/ /,/g'`}"
|
||||
PAC_FC_ALL_REAL_KINDS="{`echo $pac_validRealKinds | sed -e 's/ /,/g'`}"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran INTEGER KINDs" >&5
|
||||
@ -7319,6 +7331,7 @@ $as_echo "Error" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No output from test program!" >&5
|
||||
$as_echo "$as_me: WARNING: No output from test program!" >&2;}
|
||||
fi
|
||||
rm -f pac_fconftest.out
|
||||
|
||||
else
|
||||
|
||||
@ -7357,7 +7370,7 @@ for kind in $pac_validIntKinds; do
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
INTEGER (KIND=$kind) a
|
||||
OPEN(8, FILE="pac_fconftest.out", FORM="formatted")
|
||||
OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
|
||||
WRITE(8,'(I0)') $FC_SIZEOF_A
|
||||
CLOSE(8)
|
||||
END
|
||||
@ -7419,7 +7432,7 @@ for kind in $pac_validRealKinds; do
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
REAL (KIND=$kind) :: a
|
||||
OPEN(8, FILE="pac_fconftest.out", FORM="formatted")
|
||||
OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
|
||||
WRITE(8,'(I0)') $FC_SIZEOF_A
|
||||
CLOSE(8)
|
||||
END
|
||||
@ -7476,6 +7489,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu
|
||||
|
||||
|
||||
|
||||
|
||||
## Setting definition if there is a 16 byte fortran integer
|
||||
if `echo $PAC_FC_ALL_INTEGER_KINDS_SIZEOF | grep '16' >/dev/null`; then
|
||||
HAVE_Fortran_INTEGER_SIZEOF_16="1"
|
||||
@ -7513,8 +7527,9 @@ $as_echo "#define FORTRAN_HAVE_C_SIZEOF 1" >>confdefs.h
|
||||
$as_echo "#define FORTRAN_HAVE_SIZEOF 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE="0"
|
||||
if test "X$HAVE_C_LONG_DOUBLE_FORTRAN" = "Xyes"; then
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE="1"
|
||||
|
||||
$as_echo "#define FORTRAN_HAVE_C_LONG_DOUBLE 1" >>confdefs.h
|
||||
|
||||
|
@ -471,6 +471,7 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
|
||||
AC_SUBST([PAC_FORTRAN_NATIVE_DOUBLE_KIND])
|
||||
AC_SUBST([PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF])
|
||||
AC_SUBST([HAVE_Fortran_INTEGER_SIZEOF_16])
|
||||
AC_SUBST([FORTRAN_HAVE_C_LONG_DOUBLE])
|
||||
|
||||
## Setting definition if there is a 16 byte fortran integer
|
||||
if `echo $PAC_FC_ALL_INTEGER_KINDS_SIZEOF | grep '16' >/dev/null`; then
|
||||
@ -499,8 +500,9 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
|
||||
if test "X$HAVE_SIZEOF_FORTRAN" = "Xyes"; then
|
||||
AC_DEFINE([FORTRAN_HAVE_SIZEOF], [1], [Define if we have Fortran intrinsic SIZEOF])
|
||||
fi
|
||||
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE="0"
|
||||
if test "X$HAVE_C_LONG_DOUBLE_FORTRAN" = "Xyes"; then
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE="1"
|
||||
AC_DEFINE([FORTRAN_HAVE_C_LONG_DOUBLE], [1], [Define if we have Fortran C_LONG_DOUBLE])
|
||||
fi
|
||||
AC_DEFINE([FORTRAN_SIZEOF_LONG_DOUBLE], [SIZEOF_LONG_DOUBLE], [Determine the size of C long double])
|
||||
|
@ -402,6 +402,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -458,6 +458,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -402,6 +402,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -227,9 +227,14 @@ h5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertypes
|
||||
else if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(double)) {
|
||||
if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_DOUBLE)) < 0) return ret_value;
|
||||
} /*end if */
|
||||
#if H5_SIZEOF_LONG_DOUBLE!=0
|
||||
#if FORTRAN_HAVE_C_LONG_DOUBLE!=0
|
||||
else if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(long double)) {
|
||||
if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) return ret_value;
|
||||
if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) return ret_value;
|
||||
} /*end else */
|
||||
#else
|
||||
else if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(long double)) {
|
||||
if ((types[12] = H5Tcopy (H5T_NATIVE_FLOAT)) < 0) return ret_value;
|
||||
if ( H5Tset_precision (types[12], 128) < 0) return ret_value;
|
||||
} /*end else */
|
||||
#endif
|
||||
/*
|
||||
|
@ -391,9 +391,11 @@ CONTAINS
|
||||
h5_type = H5T_NATIVE_REAL_C_DOUBLE
|
||||
ELSE IF(kind.EQ.Fortran_REAL_C_LONG_DOUBLE)THEN
|
||||
h5_type = H5T_NATIVE_REAL_C_LONG_DOUBLE
|
||||
#if H5_PAC_FC_MAX_REAL_PRECISION > 28
|
||||
#if H5_PAC_FC_MAX_REAL_PRECISION > 28
|
||||
#ifdef H5_HAVE_FLOAT128
|
||||
ELSE IF(kind.EQ.Fortran_REAL_C_FLOAT128)THEN
|
||||
h5_type = H5T_NATIVE_FLOAT_128
|
||||
#endif
|
||||
#endif
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
@ -27,6 +27,9 @@
|
||||
! Define the maximum decimal precision for reals
|
||||
#undef PAC_FC_MAX_REAL_PRECISION
|
||||
|
||||
! If C has quad precision
|
||||
#undef HAVE_FLOAT128
|
||||
|
||||
! Define if INTEGER*16 is available
|
||||
#undef HAVE_Fortran_INTEGER_SIZEOF_16
|
||||
|
||||
|
@ -13,9 +13,4 @@
|
||||
#define H5_FORTRAN_REAL_KINDS_SIZEOF @PAC_FC_ALL_REAL_KINDS_SIZEOF@
|
||||
#define H5_PAC_FC_MAX_REAL_PRECISION @PAC_FC_MAX_REAL_PRECISION@
|
||||
#define H5_HAVE_Fortran_INTEGER_SIZEOF_16 @HAVE_Fortran_INTEGER_SIZEOF_16@
|
||||
#define C_LONG_DOUBLE_KIND 10
|
||||
#define C_LONG_DOUBLE_SIZEOF 12
|
||||
#define C_DOUBLE_KIND 8
|
||||
#define C_DOUBLE_SIZEOF 8
|
||||
#define C_FLOAT_KIND 4
|
||||
#define C_FLOAT_SIZEOF 4
|
||||
#define H5_HAVE_Fortran_INTRINSIC_C_LONG_DOUBLE @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
|
@ -215,6 +215,7 @@ int main(void)
|
||||
} else if(sizeof(double) == RealKinds_SizeOf[i]) {
|
||||
writeTypedef("float", "double", RealKinds[i]);
|
||||
strcpy(Real_C_TYPES[i], "C_DOUBLE");
|
||||
/* may not have long double in fortran need check */
|
||||
} else if(sizeof(long double) == RealKinds_SizeOf[i] && found_long_double == 0) {
|
||||
writeTypedef("float", "long double", RealKinds[i]);
|
||||
strcpy(Real_C_TYPES[i], "C_LONG_DOUBLE");
|
||||
@ -227,12 +228,27 @@ int main(void)
|
||||
strcpy(Real_C_TYPES[i], "C_FLOAT128");
|
||||
}
|
||||
#endif
|
||||
else {
|
||||
printf(" **** HDF5 WARNING ****/n");
|
||||
printf("Fortran REAL is %d bytes, but no corresponding C floating type exists\n",RealKinds_SizeOf[i]);
|
||||
printf("Fortran Interfaces for Fortran REALs of %d bytes will not exist\n",RealKinds_SizeOf[i]);
|
||||
}
|
||||
}
|
||||
/* else { */
|
||||
/* /\* Did not find the real type, use the next smallest *\/ */
|
||||
/* sprintf(chrA, "%d", RealKinds[i]); */
|
||||
/* if(sizeof(float) > RealKinds_SizeOf[H5_FORTRAN_NUM_REAL_KINDS-2]) { */
|
||||
/* writeTypedef("float", "float", RealKinds[i]); */
|
||||
/* strcpy(Real_C_TYPES[i], chrA); */
|
||||
/* } else if(sizeof(double) > RealKinds_SizeOf[H5_FORTRAN_NUM_REAL_KINDS-2]) { */
|
||||
/* writeTypedef("float", "double", RealKinds[i]); */
|
||||
/* strcpy(Real_C_TYPES[i], chrA); */
|
||||
/* } else if(sizeof(long double) > RealKinds_SizeOf[H5_FORTRAN_NUM_REAL_KINDS-2]) { */
|
||||
/* writeTypedef("float", "long double", RealKinds[i]); */
|
||||
/* strcpy(Real_C_TYPES[i], "C_LONG_DOUBLE"); } */
|
||||
else {
|
||||
printf(" **** HDF5 WARNING ****\n");
|
||||
printf("Fortran REAL is %d bytes, but no corresponding C floating type exists\n",RealKinds_SizeOf[i]);
|
||||
printf("Fortran Interface will create a custom datatype to store Fortran Real\n",RealKinds_SizeOf[i]);
|
||||
|
||||
writeTypedef("float", "long double", RealKinds[i]);
|
||||
strcpy(Real_C_TYPES[i], "C_LONG_DOUBLE"); }
|
||||
}
|
||||
/* } */
|
||||
|
||||
/* Now begin defining fortran types. */
|
||||
fprintf(c_header, "\n");
|
||||
|
@ -503,6 +503,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -514,6 +514,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -1810,10 +1810,10 @@ SUBROUTINE test_select_bounds(total_error)
|
||||
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
|
||||
CALL check("h5sget_select_bounds_f", error, total_error)
|
||||
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 1, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), SPACE11_DIM1, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), SPACE11_DIM2, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(1), 1_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(1), INT(SPACE11_DIM1, hsize_t), total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(2), INT(SPACE11_DIM2, hsize_t), total_error)
|
||||
|
||||
! Set offset for selection
|
||||
offset(1:2) = 1
|
||||
@ -1824,10 +1824,10 @@ SUBROUTINE test_select_bounds(total_error)
|
||||
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
|
||||
CALL check("h5sget_select_bounds_f", error, total_error)
|
||||
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 1, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), SPACE11_DIM1, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), SPACE11_DIM2, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(1), 1_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
|
||||
CALL VERIFY("h5sget_select_bounds_f", high_bounds(1), INT(SPACE11_DIM1, hsize_t), total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(2), INT(SPACE11_DIM2, hsize_t), total_error)
|
||||
|
||||
! Reset offset for selection
|
||||
offset(1:2) = 0
|
||||
@ -1856,10 +1856,10 @@ SUBROUTINE test_select_bounds(total_error)
|
||||
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
|
||||
CALL check("h5sget_select_bounds_f", error, total_error)
|
||||
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 3, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 3, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), INT(SPACE11_DIM1-4), total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), INT(SPACE11_DIM2-4), total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(1), 3_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(2), 3_hsize_t, total_error)
|
||||
CALL VERIFY("h5sget_select_bounds_f", high_bounds(1), INT(SPACE11_DIM1-4,hsize_t), total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(2), INT(SPACE11_DIM2-4,hsize_t), total_error)
|
||||
|
||||
! Set bad offset for selection
|
||||
|
||||
@ -1880,10 +1880,10 @@ SUBROUTINE test_select_bounds(total_error)
|
||||
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
|
||||
CALL check("h5sget_select_bounds_f", error, total_error)
|
||||
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 5, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), INT(SPACE11_DIM1-2), total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), INT(SPACE11_DIM2-6), total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(1), 5_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(1), INT(SPACE11_DIM1-2,hsize_t), total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(2), INT(SPACE11_DIM2-6,hsize_t), total_error)
|
||||
|
||||
! Reset offset for selection
|
||||
offset(1:2) = 0
|
||||
@ -1904,10 +1904,10 @@ SUBROUTINE test_select_bounds(total_error)
|
||||
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
|
||||
CALL check("h5sget_select_bounds_f", error, total_error)
|
||||
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 3, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 3, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), 37, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), 37, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(1), 3_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(2), 3_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(1), 37_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(2), 37_hsize_t, total_error)
|
||||
|
||||
! Set bad offset for selection
|
||||
offset(1:2) = (/5,-5/)
|
||||
@ -1927,10 +1927,10 @@ SUBROUTINE test_select_bounds(total_error)
|
||||
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
|
||||
CALL check("h5sget_select_bounds_f", error, total_error)
|
||||
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 8, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), 42, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), 35, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(1), 8_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(1), 42_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(2), 35_hsize_t, total_error)
|
||||
|
||||
! Reset offset for selection
|
||||
offset(1:2) = 0
|
||||
@ -1951,10 +1951,10 @@ SUBROUTINE test_select_bounds(total_error)
|
||||
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
|
||||
CALL check("h5sget_select_bounds_f", error, total_error)
|
||||
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 3, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 3, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), 50, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), 50, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(1), 3_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(2), 3_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(1), 50_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(2), 50_hsize_t, total_error)
|
||||
|
||||
! Set bad offset for selection
|
||||
offset(1:2) = (/5,-5/)
|
||||
@ -1974,10 +1974,10 @@ SUBROUTINE test_select_bounds(total_error)
|
||||
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
|
||||
CALL check("h5sget_select_bounds_f", error, total_error)
|
||||
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 8, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), 55, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), 48, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(1), 8_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(1), 55_hsize_t, total_error)
|
||||
CALL verify("h5sget_select_bounds_f", high_bounds(2), 48_hsize_t, total_error)
|
||||
|
||||
! Reset offset for selection
|
||||
offset(1:2) = 0
|
||||
|
@ -991,13 +991,13 @@ END SUBROUTINE test_array_compound_atomic
|
||||
INTEGER(HID_T) :: dset_id32 ! Dataset identifier
|
||||
CHARACTER(LEN=6), PARAMETER :: dsetname16 = "dset16" ! Dataset name
|
||||
#endif
|
||||
INTEGER, PARAMETER :: real_kind_7 = SELECTED_REAL_KIND(C_FLOAT) !should map to REAL*4 on most modern processors
|
||||
INTEGER, PARAMETER :: real_kind_15 = SELECTED_REAL_KIND(C_DOUBLE) !should map to REAL*8 on most modern processors
|
||||
INTEGER, PARAMETER :: real_kind_7 = C_FLOAT !should map to REAL*4 on most modern processors
|
||||
INTEGER, PARAMETER :: real_kind_15 = C_DOUBLE !should map to REAL*8 on most modern processors
|
||||
|
||||
#if H5_HAVE_FLOAT128!=0
|
||||
INTEGER, PARAMETER :: real_kind_31 = SELECTED_REAL_KIND(31)
|
||||
#else
|
||||
INTEGER, PARAMETER :: real_kind_31 = SELECTED_REAL_KIND(C_LONG_DOUBLE)
|
||||
INTEGER, PARAMETER :: real_kind_31 = SELECTED_REAL_KIND(17)
|
||||
#endif
|
||||
REAL(real_kind_31), DIMENSION(1:4), TARGET :: dset_data_r31, data_out_r31
|
||||
INTEGER(HID_T) :: dset_idr16 ! Dataset identifier
|
||||
@ -1183,7 +1183,7 @@ END SUBROUTINE test_array_compound_atomic
|
||||
CALL verify("h5kind_to_type",dset_data_r15(i),data_out_r15(i),total_error)
|
||||
CALL verify("h5kind_to_type",dset_data_r31(i),data_out_r31(i),total_error)
|
||||
END DO
|
||||
|
||||
|
||||
!
|
||||
! Close the dataset.
|
||||
!
|
||||
@ -1302,8 +1302,8 @@ SUBROUTINE t_array(total_error)
|
||||
CALL check("h5dget_type_f",error, error)
|
||||
CALL H5Tget_array_dims_f(filetype, adims, error)
|
||||
CALL check("h5dget_type_f",error, total_error)
|
||||
CALL VERIFY("H5Tget_array_dims_f", INT(adims(1)), adim0, total_error)
|
||||
CALL VERIFY("H5Tget_array_dims_f", INT(adims(2)), adim1, total_error)
|
||||
CALL VERIFY("H5Tget_array_dims_f", adims(1), INT(adim0,hsize_t), total_error)
|
||||
CALL VERIFY("H5Tget_array_dims_f", adims(2), INT(adim1,hsize_t), total_error)
|
||||
!
|
||||
! Get dataspace and allocate memory for read buffer. This is a
|
||||
! three dimensional attribute when the array datatype is included.
|
||||
@ -1312,7 +1312,7 @@ SUBROUTINE t_array(total_error)
|
||||
CALL check("H5Dget_space_f",error, error)
|
||||
CALL H5Sget_simple_extent_dims_f(space, dims, maxdims, error)
|
||||
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
|
||||
|
||||
ALLOCATE(rdata(1:dims(1),1:adims(1),1:adims(2)))
|
||||
!
|
||||
@ -1477,8 +1477,8 @@ SUBROUTINE t_enum(total_error)
|
||||
CALL check("H5Dget_space_f",error, total_error)
|
||||
CALL h5sget_simple_extent_dims_f(space, dims, maxdims, error)
|
||||
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(2)), dim1, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", dims(2), INT(dim1,hsize_t), total_error)
|
||||
|
||||
ALLOCATE(rdata(1:dims(1),1:dims(2)))
|
||||
|
||||
@ -1597,8 +1597,8 @@ SUBROUTINE t_bit(total_error)
|
||||
CALL check("H5Dget_space_f",error, total_error)
|
||||
CALL H5Sget_simple_extent_dims_f(space, dims, maxdims, error)
|
||||
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(2)), dim1, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", dims(2), INT(dim1,hsize_t), total_error)
|
||||
ALLOCATE(rdata(1:dims(1),1:dims(2)))
|
||||
!
|
||||
! Read the data.
|
||||
@ -1758,7 +1758,7 @@ SUBROUTINE t_opaque(total_error)
|
||||
CALL check("H5Dget_space_f",error, total_error)
|
||||
CALL h5sget_simple_extent_dims_f(space, dims, maxdims, error)
|
||||
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
|
||||
ALLOCATE(rdata(1:dims(1)))
|
||||
!
|
||||
! Read the data.
|
||||
@ -1879,7 +1879,7 @@ SUBROUTINE t_objref(total_error)
|
||||
CALL check("H5Dget_space_f",error, total_error)
|
||||
CALL h5sget_simple_extent_dims_f(space, dims, maxdims, error)
|
||||
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
|
||||
|
||||
ALLOCATE(rdata(1:maxdims(1)))
|
||||
!
|
||||
@ -2058,7 +2058,7 @@ SUBROUTINE t_regref(total_error)
|
||||
CALL check("H5Dget_space_f",error, total_error)
|
||||
CALL h5sget_simple_extent_dims_f(space, dims, maxdims, error)
|
||||
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
|
||||
ALLOCATE(rdata(1:dims(1)))
|
||||
CALL h5sclose_f(space, error)
|
||||
CALL check("h5sclose_f",error, total_error)
|
||||
@ -2733,7 +2733,7 @@ SUBROUTINE t_string(total_error)
|
||||
CALL check("H5Dget_space_f",error, total_error)
|
||||
CALL H5Sget_simple_extent_dims_f(space, dims, maxdims, error)
|
||||
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
|
||||
CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
|
||||
|
||||
ALLOCATE(rdata(1:dims(1)))
|
||||
!
|
||||
|
@ -454,6 +454,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -458,6 +458,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -454,6 +454,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -401,6 +401,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -457,6 +457,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -454,6 +454,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -401,6 +401,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -458,6 +458,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -401,6 +401,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -478,6 +478,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -466,6 +466,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -142,15 +142,11 @@ END DO
|
||||
! write dataset.
|
||||
!
|
||||
f_ptr = C_LOC(buf3(1))
|
||||
!PRINT*,h5kind_to_type(INT(KIND(buf3(1))), INT(H5_REAL_KIND)), H5T_NATIVE_REAL_8,H5T_NATIVE_REAL,H5T_NATIVE_REAL_16
|
||||
PRINT*, KIND(buf3(1)), Fortran_REAL_16
|
||||
mytype = h5kind_to_type(KIND(buf3(1)), H5_REAL_KIND)
|
||||
PRINT*,sizeof(buf3(1))
|
||||
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, &
|
||||
mytype, f_ptr, errcode)
|
||||
!CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_DOUBLE, buf3, errcode)
|
||||
! h5kind_to_type(KIND(buf3(1)), H5_REAL_KIND)
|
||||
stop
|
||||
!
|
||||
! read dataset.
|
||||
!
|
||||
|
@ -456,6 +456,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -493,6 +493,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -455,6 +455,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -469,6 +469,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -359,12 +359,11 @@ AC_RUN_IFELSE([
|
||||
dnl - valid real kinds are the numbers between A and B
|
||||
dnl - max decimal precision for reals is the number between E and F
|
||||
|
||||
dnl pac_validIntKinds="`sed -n -e 's/^.*ik://p' pac_fconftest.out`"
|
||||
dnl pac_validRealKinds="`sed -n -e 's/^.*rk://p' pac_fconftest.out`"
|
||||
tmp="`cat pac_fconftest.out`"
|
||||
pac_validIntKinds="`echo $tmp | sed -e 's/.*A\(.*\)B.*/\1/'`"
|
||||
pac_validRealKinds="`echo $tmp | sed -e 's/.*C\(.*\)D.*/\1/'`"
|
||||
PAC_FC_MAX_REAL_PRECISION="`echo $tmp | sed -e 's/.*E\(.*\)F.*/\1/'`"
|
||||
AC_DEFINE_UNQUOTED([PAC_FC_MAX_REAL_PRECISION], $PAC_FC_MAX_REAL_PRECISION, [Define Fortran Maximum Real Decimal Precision])
|
||||
PAC_FC_ALL_INTEGER_KINDS="{`echo $pac_validIntKinds | sed -e 's/ /,/g'`}"
|
||||
PAC_FC_ALL_REAL_KINDS="{`echo $pac_validRealKinds | sed -e 's/ /,/g'`}"
|
||||
AC_MSG_CHECKING([for Fortran INTEGER KINDs])
|
||||
@ -377,7 +376,7 @@ AC_RUN_IFELSE([
|
||||
AC_MSG_RESULT([Error])
|
||||
AC_MSG_WARN([No output from test program!])
|
||||
fi
|
||||
dnl rm -f pac_fconftest.out
|
||||
rm -f pac_fconftest.out
|
||||
],[
|
||||
AC_MSG_RESULT([Error])
|
||||
AC_MSG_WARN([Failed to run program to determine available KINDs])
|
||||
@ -403,7 +402,7 @@ for kind in $pac_validIntKinds; do
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
INTEGER (KIND=$kind) a
|
||||
OPEN(8, FILE="pac_fconftest.out", FORM="formatted")
|
||||
OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
|
||||
WRITE(8,'(I0)') $FC_SIZEOF_A
|
||||
CLOSE(8)
|
||||
END
|
||||
@ -441,7 +440,7 @@ for kind in $pac_validRealKinds; do
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
REAL (KIND=$kind) :: a
|
||||
OPEN(8, FILE="pac_fconftest.out", FORM="formatted")
|
||||
OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
|
||||
WRITE(8,'(I0)') $FC_SIZEOF_A
|
||||
CLOSE(8)
|
||||
END
|
||||
@ -480,7 +479,7 @@ rm -f pac_fconftest.out
|
||||
INTEGER a
|
||||
REAL b
|
||||
DOUBLE PRECISION c
|
||||
OPEN(8, FILE="pac_fconftest.out", FORM="formatted")
|
||||
OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
|
||||
WRITE(8,*) $FC_SIZEOF_A
|
||||
WRITE(8,*) kind(a)
|
||||
WRITE(8,*) $FC_SIZEOF_B
|
||||
|
@ -422,6 +422,9 @@
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define Fortran Maximum Real Decimal Precision */
|
||||
#undef PAC_FC_MAX_REAL_PRECISION
|
||||
|
||||
/* Width for printf() for type `long long' or `__int64', use `ll' */
|
||||
#undef PRINTF_LL_WIDTH
|
||||
|
||||
|
@ -517,6 +517,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -861,6 +861,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -484,6 +484,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -455,6 +455,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -463,6 +463,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -470,6 +470,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -469,6 +469,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -463,6 +463,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -475,6 +475,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -455,6 +455,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -487,6 +487,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -465,6 +465,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -452,6 +452,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -490,6 +490,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
@ -494,6 +494,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
|
||||
FCLIBS = @FCLIBS@
|
||||
FC_VERSION = @FC_VERSION@
|
||||
FGREP = @FGREP@
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
|
||||
FSEARCH_DIRS = @FSEARCH_DIRS@
|
||||
GREP = @GREP@
|
||||
H5_CFLAGS = @H5_CFLAGS@
|
||||
|
Loading…
x
Reference in New Issue
Block a user