summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/cmake/H5pubconf.h.in4
-rwxr-xr-xconfigure28
-rw-r--r--configure.ac17
-rw-r--r--release_docs/RELEASE.txt11
-rw-r--r--src/H5T.c6
-rw-r--r--src/H5Tconv.c20
-rw-r--r--src/H5Tpkg.h13
-rw-r--r--src/H5config.h.in4
-rw-r--r--test/dt_arith.c53
9 files changed, 21 insertions, 135 deletions
diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in
index 79adf68..e1eb57e 100644
--- a/config/cmake/H5pubconf.h.in
+++ b/config/cmake/H5pubconf.h.in
@@ -25,10 +25,6 @@
writing. */
#cmakedefine H5_CLEAR_MEMORY @H5_CLEAR_MEMORY@
-/* Define if your system can handle converting denormalized floating-point
- values. */
-#cmakedefine H5_CONVERT_DENORMAL_FLOAT @H5_CONVERT_DENORMAL_FLOAT@
-
/* Define if C++ compiler recognizes offsetof */
#cmakedefine H5_CXX_HAVE_OFFSETOF @H5_CXX_HAVE_OFFSETOF@
diff --git a/configure b/configure
index 7c77a49..e44509f 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.ac Id: configure.ac 27705 2015-09-08 22:21:01Z derobins .
+# From configure.ac Id: configure.ac 27730 2015-09-09 22:27:54Z derobins .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for HDF5 1.8.16-snap16.
#
@@ -27280,32 +27280,6 @@ fi
## ----------------------------------------------------------------------
## Set the flag to indicate that the machine can handle converting
-## denormalized floating-point values.
-## (This flag should be set for all machines, except for the Crays, where
-## the cache value is set in it's config file)
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if converting denormalized floating-point values is possible" >&5
-$as_echo_n "checking if converting denormalized floating-point values is possible... " >&6; }
-if ${hdf5_cv_convert_denormal_float+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- hdf5_cv_convert_denormal_float=yes
-fi
-
-
-if test ${hdf5_cv_convert_denormal_float} = "yes"; then
-
-$as_echo "#define CONVERT_DENORMAL_FLOAT 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can handle converting
## floating-point to long long values.
## (This flag should be _unset_ for all machines, except for Windows, where
## it's set in the custom Windows H5pubconf.h file)
diff --git a/configure.ac b/configure.ac
index a796f52..101882b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2238,23 +2238,6 @@ fi
## ----------------------------------------------------------------------
## Set the flag to indicate that the machine can handle converting
-## denormalized floating-point values.
-## (This flag should be set for all machines, except for the Crays, where
-## the cache value is set in it's config file)
-##
-AC_MSG_CHECKING([if converting denormalized floating-point values is possible])
-AC_CACHE_VAL([hdf5_cv_convert_denormal_float], [hdf5_cv_convert_denormal_float=yes])
-
-if test ${hdf5_cv_convert_denormal_float} = "yes"; then
- AC_DEFINE([CONVERT_DENORMAL_FLOAT], [1],
- [Define if your system can handle converting denormalized floating-point values.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can handle converting
## floating-point to long long values.
## (This flag should be _unset_ for all machines, except for Windows, where
## it's set in the custom Windows H5pubconf.h file)
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 076daf1..6ad90e5 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -132,7 +132,16 @@ New Features
Neither of these were used in any current library code and only appeared
in the dt_arith test.
- (DER - 2015/09/09 HDFFV-9187)
+ (DER - 2015/09/09 HDFFV-9187)
+
+ - Removed CONVERT_DENORMAL_FLOAT symbol and associated code from the
+ library.
+
+ This was only set in configure files for Cray and NEC computers. These
+ config files no longer exist so there is no effect on currently
+ supported platforms.
+
+ (DER - 2015/09/09 HDFFV-9188)
Library
-------
diff --git a/src/H5T.c b/src/H5T.c
index 4555cec..6f29459 100644
--- a/src/H5T.c
+++ b/src/H5T.c
@@ -1072,16 +1072,14 @@ H5T_init_interface(void)
*/
/* floating point */
-#if H5T_CONV_INTERNAL_FP_FP
status |= H5T_register(H5T_PERS_HARD, "flt_dbl", native_float, native_double, H5T__conv_float_double, H5AC_ind_dxpl_id, FALSE);
status |= H5T_register(H5T_PERS_HARD, "dbl_flt", native_double, native_float, H5T__conv_double_float, H5AC_ind_dxpl_id, FALSE);
-#endif /*H5T_CONV_INTERNAL_FP_FP*/
-#if H5T_CONV_INTERNAL_FP_LDOUBLE
+#if H5_SIZEOF_LONG_DOUBLE != 0
status |= H5T_register(H5T_PERS_HARD, "flt_ldbl", native_float, native_ldouble, H5T__conv_float_ldouble, H5AC_ind_dxpl_id, FALSE);
status |= H5T_register(H5T_PERS_HARD, "dbl_ldbl", native_double, native_ldouble, H5T__conv_double_ldouble, H5AC_ind_dxpl_id, FALSE);
status |= H5T_register(H5T_PERS_HARD, "ldbl_flt", native_ldouble, native_float, H5T__conv_ldouble_float, H5AC_ind_dxpl_id, FALSE);
status |= H5T_register(H5T_PERS_HARD, "ldbl_dbl", native_ldouble, native_double, H5T__conv_ldouble_double, H5AC_ind_dxpl_id, FALSE);
-#endif /*H5T_CONV_INTERNAL_FP_LDOUBLE*/
+#endif /* H5_SIZEOF_LONG_DOUBLE != 0 */
/* from long long */
status |= H5T_register(H5T_PERS_HARD, "llong_ullong", native_llong, native_ullong, H5T__conv_llong_ullong, H5AC_ind_dxpl_id, FALSE);
diff --git a/src/H5Tconv.c b/src/H5Tconv.c
index e87b1ff..b42b724 100644
--- a/src/H5Tconv.c
+++ b/src/H5Tconv.c
@@ -7089,7 +7089,6 @@ H5T__conv_ullong_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
* destination values are packed.
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_FP
herr_t
H5T__conv_float_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7098,7 +7097,6 @@ H5T__conv_float_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_fF(FLOAT, DOUBLE, float, double, -, -);
}
-#endif /* H5T_CONV_INTERNAL_FP_FP */
/*-------------------------------------------------------------------------
@@ -7116,7 +7114,7 @@ H5T__conv_float_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_LDOUBLE
+#if H5_SIZEOF_LONG_DOUBLE != 0
herr_t
H5T__conv_float_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7125,7 +7123,7 @@ H5T__conv_float_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_fF(FLOAT, LDOUBLE, float, long double, -, -);
}
-#endif /*H5T_CONV_INTERNAL_FP_LDOUBLE*/
+#endif /* H5_SIZEOF_LONG_DOUBLE != 0 */
/*-------------------------------------------------------------------------
@@ -7150,7 +7148,6 @@ H5T__conv_float_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
* destination values are packed.
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_FP
herr_t
H5T__conv_double_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7159,7 +7156,6 @@ H5T__conv_double_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_Ff(DOUBLE, FLOAT, double, float, -FLT_MAX, FLT_MAX);
}
-#endif /*H5T_CONV_INTERNAL_FP_FP*/
/*-------------------------------------------------------------------------
@@ -7177,7 +7173,7 @@ H5T__conv_double_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_LDOUBLE
+#if H5_SIZEOF_LONG_DOUBLE != 0
herr_t
H5T__conv_double_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7186,7 +7182,7 @@ H5T__conv_double_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_fF(DOUBLE, LDOUBLE, double, long double, -, -);
}
-#endif /*H5T_CONV_INTERNAL_FP_LDOUBLE*/
+#endif /* H5_SIZEOF_LONG_DOUBLE != 0 */
/*-------------------------------------------------------------------------
@@ -7204,7 +7200,7 @@ H5T__conv_double_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_LDOUBLE
+#if H5_SIZEOF_LONG_DOUBLE != 0
herr_t
H5T__conv_ldouble_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7213,7 +7209,7 @@ H5T__conv_ldouble_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_Ff(LDOUBLE, FLOAT, long double, float, -FLT_MAX, FLT_MAX);
}
-#endif /* H5T_CONV_INTERNAL_FP_LDOUBLE */
+#endif /* H5_SIZEOF_LONG_DOUBLE != 0 */
/*-------------------------------------------------------------------------
@@ -7231,7 +7227,7 @@ H5T__conv_ldouble_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
*
*-------------------------------------------------------------------------
*/
-#if H5T_CONV_INTERNAL_FP_LDOUBLE
+#if H5_SIZEOF_LONG_DOUBLE != 0
herr_t
H5T__conv_ldouble_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
size_t nelmts, size_t buf_stride,
@@ -7240,7 +7236,7 @@ H5T__conv_ldouble_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
{
H5T_CONV_Ff(LDOUBLE, DOUBLE, long double, double, -DBL_MAX, DBL_MAX);
}
-#endif /*H5T_CONV_INTERNAL_FP_LDOUBLE*/
+#endif /* H5_SIZEOF_LONG_DOUBLE != 0 */
/*-------------------------------------------------------------------------
diff --git a/src/H5Tpkg.h b/src/H5Tpkg.h
index ab64fdc..958462b 100644
--- a/src/H5Tpkg.h
+++ b/src/H5Tpkg.h
@@ -111,19 +111,6 @@
/* (_not_ setting H5T_VISIT_SIMPLE and setting either H5T_VISIT_COMPLEX_FIRST or H5T_VISIT_COMPLEX_LAST will mean visiting all nodes _except_ "simple" "leafs" in the "tree" */
-/* Define an internal macro for converting between floating number(float and double) and floating number.
- * All Cray compilers don't support denormalized floating values generating exception(?). */
-#if H5_CONVERT_DENORMAL_FLOAT
-#define H5T_CONV_INTERNAL_FP_FP 1
-#endif /*H5_CONVERT_DENORMAL_FLOAT*/
-
-/* Define an internal macro for converting between floating number(float and double) and long double.
- * All Cray compilers don't support denormalized floating values generating exception(?). NEC doesn't
- * support long double. */
-#if H5_SIZEOF_LONG_DOUBLE && H5_CONVERT_DENORMAL_FLOAT
-#define H5T_CONV_INTERNAL_FP_LDOUBLE 1
-#endif /*H5_SIZEOF_LONG_DOUBLE && H5_CONVERT_DENORMAL_FLOAT*/
-
/* Define an internal macro for converting long long to long double. Mac OS 10.4 gives some
* incorrect conversions. */
#if (H5_WANT_DATA_ACCURACY && defined(H5_LLONG_TO_LDOUBLE_CORRECT)) || (!H5_WANT_DATA_ACCURACY)
diff --git a/src/H5config.h.in b/src/H5config.h.in
index 0b74f0c..4d82835 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -10,10 +10,6 @@
writing. */
#undef CLEAR_MEMORY
-/* Define if your system can handle converting denormalized floating-point
- values. */
-#undef CONVERT_DENORMAL_FLOAT
-
/* Define if C++ compiler recognizes offsetof */
#undef CXX_HAVE_OFFSETOF
diff --git a/test/dt_arith.c b/test/dt_arith.c
index 0844847..c857b72 100644
--- a/test/dt_arith.c
+++ b/test/dt_arith.c
@@ -3192,7 +3192,6 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
check_mant[1] = HDfrexpl(hw_ld, check_expo+1);
#endif
}
-#ifdef H5_CONVERT_DENORMAL_FLOAT
/* Special check for denormalized values */
if(check_expo[0]<(-(int)dst_ebias) || check_expo[1]<(-(int)dst_ebias)) {
int expo_diff=check_expo[0]-check_expo[1];
@@ -3215,58 +3214,6 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
HDfabs(check_mant[0]-check_mant[1])<FP_EPSILON)
continue;
} /* end else */
-#else /* H5_CONVERT_DENORMAL_FLOAT */
- {
- hssize_t expo; /*exponent */
- uint8_t tmp[32];
-
- assert(src_size<=sizeof(tmp));
- if(sendian==H5T_ORDER_LE)
- HDmemcpy(tmp,&saved[j*src_size],src_size);
- else if(sendian==H5T_ORDER_BE)
- for (k=0; k<src_size; k++)
- tmp[k]=saved[j*src_size+(src_size-(k+1))];
- else {
- for (k = 0; k < src_size; k += 4) {
- tmp[k] = saved[j*src_size+(src_size-2)-k];
- tmp[k+1] = saved[j*src_size+(src_size-1)-k];
-
- tmp[(src_size-2)-k] = saved[j*src_size+k];
- tmp[(src_size-1)-k] = saved[j*src_size+k+1];
- }
- }
-
- expo = H5T__bit_get_d(tmp, src_epos, src_esize);
- if(expo==0)
- continue; /* Denormalized floating-point value detected */
- else {
- assert(dst_size<=sizeof(tmp));
- if(sendian==H5T_ORDER_LE)
- HDmemcpy(tmp,&buf[j*dst_size],dst_size);
- else if(sendian==H5T_ORDER_BE)
- for (k=0; k<dst_size; k++)
- tmp[k]=buf[j*dst_size+(dst_size-(k+1))];
- else {
- for (k = 0; k < src_size; k += 4) {
- tmp[k] = buf[j*dst_size+(dst_size-2)-k];
- tmp[k+1] = buf[j*dst_size+(dst_size-1)-k];
-
- tmp[(dst_size-2)-k] = buf[j*dst_size+k];
- tmp[(dst_size-1)-k] = buf[j*dst_size+k+1];
- }
- }
-
- expo = H5T__bit_get_d(tmp, dst_epos, dst_esize);
- if(expo==0)
- continue; /* Denormalized floating-point value detected */
- else {
- if (check_expo[0]==check_expo[1] &&
- HDfabs(check_mant[0]-check_mant[1])<FP_EPSILON)
- continue;
- } /* end else */
- } /* end else */
- }
-#endif /* H5_CONVERT_DENORMAL_FLOAT */
}
if (0==fails_this_test++) {