| 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; |
| |
| /* CYGNUS LOCAL -- meissner/32bit doubles */ |
| if (sizeof (double) >= 8) |
| { |
| k = 0x8693ba6d7d220401ULL; |
| x = d (k); |
| k = (unsigned long long) x; |
| if (k != 0x8693ba6d7d220800ULL) |
| abort (); |
| } |
| /* END CYGNUS LOCAL -- meissner/32bit doubles */ |
| |
| k = 0x8234508000000001ULL; |
| x = s (k); |
| k = (unsigned long long) x; |
| if (k != 0x8234510000000000ULL) |
| abort (); |
| |
| exit (0); |
| } |
| |