[svn-r26626] Description:
Bring r26587 from trunk to 1.8 branch:
Bring r26489 from autotools_rework branch to trunk:
Remove the ULONG_TO_FP_BOTTOM_BIT_ACCURATE macro/define, as it was added
for SGI systems and old Solaris systems, which are no longer supported.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on trunk for 2+ days)
This commit is contained in:
@@ -409,69 +409,3 @@ done:
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE_TEST
|
||||
|
||||
#include <string.h>
|
||||
|
||||
|
||||
int main(void)
|
||||
{
|
||||
unsigned long l1;
|
||||
unsigned long l2;
|
||||
unsigned long l3;
|
||||
unsigned long l4;
|
||||
unsigned long long ld1;
|
||||
unsigned long long ld2;
|
||||
unsigned long long ld3;
|
||||
unsigned long long ld4;
|
||||
double d1, d2, d3, d4;
|
||||
unsigned char s[8];
|
||||
int ret = 0;
|
||||
|
||||
if(sizeof(unsigned long)==8) {
|
||||
l1 = 0xf000000000000b00UL; /*Round-down case*/
|
||||
l2 = 0xf000000000000401UL; /*Round-up case*/
|
||||
l3 = 0xf000000000000400UL; /*Round-down case*/
|
||||
l4 = 0xf000000000000c00UL; /*Round-up case*/
|
||||
|
||||
d1 = (double)l1;
|
||||
d2 = (double)l2;
|
||||
d3 = (double)l3;
|
||||
d4 = (double)l4;
|
||||
} else if(sizeof(unsigned long long)==8) {
|
||||
ld1 = 0xf000000000000b00ULL; /*Round-down case*/
|
||||
ld2 = 0xf000000000000401ULL; /*Round-up case*/
|
||||
ld3 = 0xf000000000000400ULL; /*Round-down case*/
|
||||
ld4 = 0xf000000000000c00ULL; /*Round-up case*/
|
||||
|
||||
d1 = (double)ld1;
|
||||
d2 = (double)ld2;
|
||||
d3 = (double)ld3;
|
||||
d4 = (double)ld4;
|
||||
} else {
|
||||
ret = 1;
|
||||
goto done;
|
||||
}
|
||||
|
||||
memcpy(s, &d1, 8);
|
||||
if(s[7]!=1)
|
||||
ret = 1;
|
||||
|
||||
memcpy(s, &d2, 8);
|
||||
if(s[7]!=1)
|
||||
ret = 1;
|
||||
|
||||
memcpy(s, &d3, 8);
|
||||
if(s[7]!=0)
|
||||
ret = 1;
|
||||
|
||||
memcpy(s, &d4, 8);
|
||||
if(s[7]!=2)
|
||||
ret = 1;
|
||||
|
||||
done:
|
||||
exit(ret);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user