mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
[svn-r8505] *** empty log message ***
This commit is contained in:
parent
44cb906eb7
commit
980683f1e1
@ -505,10 +505,14 @@
|
||||
floating-point values. */
|
||||
#undef SW_ULONG_TO_FP_BOTTOM_BIT_WORKS
|
||||
|
||||
/* Define if your system can accurately convert unsigned long long values to
|
||||
/* Define if your system can roundup accurately convert unsigned long long values to
|
||||
floating-point values. */
|
||||
#undef FP_TO_ULLONG_BOTTOM_BIT_WORKS
|
||||
|
||||
/* Define if the maximal number is right on your system convert unsigned long long values to
|
||||
floating-point values. */
|
||||
#undef FP_TO_ULLONG_RIGHT_MAXIMUM
|
||||
|
||||
/* Define if your system supports pthread_attr_setscope(&attribute,
|
||||
PTHREAD_SCOPE_SYSTEM) call. */
|
||||
#undef SYSTEM_SCOPE_THREADS
|
||||
|
@ -4530,20 +4530,6 @@ test_conv_int_float(const char *name, hid_t src, hid_t dst)
|
||||
} /* end if */
|
||||
#endif /* end H5_ULONG_FP_BOTTOM_BIT_WORKS */
|
||||
|
||||
/* For PGI compiler on Linux, during conversion from 'float' or 'double' to
|
||||
* 'unsigned long long', round-up happens when the fraction of float-point
|
||||
* value is greater than 0.5. So we allow the converted value to be off by 1.
|
||||
*/
|
||||
#ifndef H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS
|
||||
if((src_type==FLT_FLOAT || src_type==FLT_DOUBLE) && dst_type==INT_ULLONG) {
|
||||
unsigned long_long tmp_s, tmp_h;
|
||||
HDmemcpy(&tmp_s,&buf[j*dst_size],sizeof(unsigned long_long));
|
||||
HDmemcpy(&tmp_h,&hw[0],sizeof(unsigned long_long));
|
||||
if((tmp_s+1)==tmp_h)
|
||||
continue; /*no error*/
|
||||
}
|
||||
#endif /*end H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS*/
|
||||
|
||||
/* Print errors */
|
||||
if (0==fails_this_test++)
|
||||
H5_FAILED();
|
||||
@ -5678,9 +5664,11 @@ run_float_int_conv(const char *name)
|
||||
nerrors += test_conv_int_float(name, H5T_NATIVE_FLOAT, H5T_NATIVE_LLONG);
|
||||
nerrors += test_conv_int_float(name, H5T_NATIVE_DOUBLE, H5T_NATIVE_LLONG);
|
||||
|
||||
|
||||
#ifdef H5_FP_TO_ULLONG_RIGHT_MAXIMUM
|
||||
nerrors += test_conv_int_float(name, H5T_NATIVE_FLOAT, H5T_NATIVE_ULLONG);
|
||||
nerrors += test_conv_int_float(name, H5T_NATIVE_DOUBLE, H5T_NATIVE_ULLONG);
|
||||
#ifdef LATER
|
||||
#else /*H5_FP_TO_ULLONG_RIGHT_MAXIMUM*/
|
||||
{
|
||||
char str[256]; /*hello string */
|
||||
|
||||
@ -5688,15 +5676,15 @@ run_float_int_conv(const char *name)
|
||||
name, "float", "unsigned long long");
|
||||
printf("%-70s", str);
|
||||
SKIPPED();
|
||||
HDputs(" Test skipped due to conversion being under construction.");
|
||||
HDputs(" Test skipped due to hardware conversion error.");
|
||||
|
||||
sprintf(str, "Testing random %s %s -> %s conversions",
|
||||
name, "double", "unsigned long long");
|
||||
printf("%-70s", str);
|
||||
SKIPPED();
|
||||
HDputs(" Test skipped due to conversion being under construction.");
|
||||
HDputs(" Test skipped due to hardware conversion error.");
|
||||
}
|
||||
#endif /* LATER */
|
||||
#endif /*H5_FP_TO_ULLONG_RIGHT_MAXIMUM*/
|
||||
#endif
|
||||
|
||||
return nerrors;
|
||||
|
Loading…
Reference in New Issue
Block a user