more checks
[libfirm] / ir / be / test / llvm / 2003-05-21-UnionBitfields.c
1 #include <stdio.h>
2 #include <math.h>
3
4 int target_isinf(double x) {
5   union {
6     double d;
7     struct {
8       unsigned mantissa2;
9       unsigned mantissa1 : 20;
10       unsigned exponent  : 11;
11       unsigned sign      :  1;
12     } big_endian;
13   } u;
14
15   u.d = x;
16   return (u.big_endian.exponent == 2047 && u.big_endian.mantissa1 == 0 && u.big_endian.mantissa2 == 0);
17 }
18
19 int main() {
20   printf("%d %d\n", target_isinf(1234.42), target_isinf(1.0/1.0e-1000));
21   return 0;
22 }