#include "testharness.h" int __finite (double __x) { return (__extension__ (((((union { double __d; int __i[2]; }) {__d: __x}).__i[1] | 0x800fffffu) + 1) >> 31)); } int main() { double inf = 10000000000.0; double old; if(! __finite(2.0)) E(1); do { // Create an infinity old = inf; inf *= inf; } while(old != inf); if(__finite(inf)) E(2); SUCCESS; }