double d (unsigned long long k) | |
{ | |
double x; | |
x = (double) k; | |
return x; | |
} | |
float s (unsigned long long k) | |
{ | |
float x; | |
x = (float) k; | |
return x; | |
} | |
main () | |
{ | |
unsigned long long int k; | |
double x; | |
if (sizeof (double) >= 8) | |
{ | |
k = 0x8693ba6d7d220401ULL; | |
x = d (k); | |
k = (unsigned long long) x; | |
if (k != 0x8693ba6d7d220800ULL) | |
abort (); | |
} | |
k = 0x8234508000000001ULL; | |
x = s (k); | |
k = (unsigned long long) x; | |
if (k != 0x8234510000000000ULL) | |
abort (); | |
exit (0); | |
} | |