| 1 | /* |
| 2 | * Test case inputs for: long double __floattitf (__int128_t) |
| 3 | * Conversion from 128 bit integer to long double (IBM double-double). |
| 4 | */ |
| 5 | |
| 6 | #define INIT_U128(HI, LO) (((__uint128_t) (HI) << 64) | (LO)) |
| 7 | |
| 8 | struct testCase { |
| 9 | __int128_t input128; |
| 10 | double hi; |
| 11 | double lo; |
| 12 | }; |
| 13 | |
| 14 | struct testCase tests[] = { |
| 15 | { INIT_U128( 0x0000000000000000, 0x0000000000000000 ), .hi: 0x0p+0, .lo: 0x0p+0 }, |
| 16 | { INIT_U128( 0x0000000000000000, 0x0000000000000001 ), .hi: 0x1p+0, .lo: 0x0p+0 }, |
| 17 | { INIT_U128( 0x0000000000000000, 0x1000000000000000 ), .hi: 0x1p+60, .lo: 0x0p+0 }, |
| 18 | { INIT_U128( 0x0000000000000000, 0xffffffffffffffff ), .hi: 0x1p+64, .lo: -0x1p+0 }, |
| 19 | { INIT_U128( 0x0000000000000000, 0x7fffffffffffffff ), .hi: 0x1p+63, .lo: -0x1p+0 }, |
| 20 | { INIT_U128( 0x0000000000000001, 0x0000000000000000 ), .hi: 0x1p+64, .lo: 0x0p+0 }, |
| 21 | { INIT_U128( 0x0000000000000001, 0x0000000000000001 ), .hi: 0x1p+64, .lo: 0x1p+0 }, |
| 22 | { INIT_U128( 0x0000000000000001, 0x7fffffffffffffff ), .hi: 0x1.8p+64, .lo: -0x1p+0 }, |
| 23 | { INIT_U128( 0x0000000000000001, 0x1000000000000000 ), .hi: 0x1.1p+64, .lo: 0x0p+0 }, |
| 24 | { INIT_U128( 0x0000000000000001, 0xffffffffffffffff ), .hi: 0x1p+65, .lo: -0x1p+0 }, |
| 25 | { INIT_U128( 0x7fffffffffffffff, 0x0000000000000000 ), .hi: 0x1p+127, .lo: -0x1p+64 }, |
| 26 | { INIT_U128( 0x7fffffffffffffff, 0x0000000000000001 ), .hi: 0x1p+127, .lo: -0x1p+64 }, |
| 27 | { INIT_U128( 0x7fffffffffffffff, 0x7fffffffffffffff ), .hi: 0x1p+127, .lo: -0x1p+63 }, |
| 28 | { INIT_U128( 0x7fffffffffffffff, 0x1000000000000000 ), .hi: 0x1p+127, .lo: -0x1.ep+63 }, |
| 29 | { INIT_U128( 0x7fffffffffffffff, 0xffffffffffffffff ), .hi: 0x1p+127, .lo: -0x1p+0 }, |
| 30 | { INIT_U128( 0x1000000000000000, 0x0000000000000000 ), .hi: 0x1p+124, .lo: 0x0p+0 }, |
| 31 | { INIT_U128( 0x1000000000000000, 0x0000000000000001 ), .hi: 0x1p+124, .lo: 0x1p+0 }, |
| 32 | { INIT_U128( 0x1000000000000000, 0x7fffffffffffffff ), .hi: 0x1p+124, .lo: 0x1p+63 }, |
| 33 | { INIT_U128( 0x1000000000000000, 0x1000000000000000 ), .hi: 0x1p+124, .lo: 0x1p+60 }, |
| 34 | { INIT_U128( 0x1000000000000000, 0xffffffffffffffff ), .hi: 0x1p+124, .lo: 0x1p+64 }, |
| 35 | { INIT_U128( 0xffffffffffffffff, 0x0000000000000000 ), .hi: -0x1p+64, .lo: 0x0p+0 }, |
| 36 | { INIT_U128( 0xffffffffffffffff, 0x0000000000000001 ), .hi: -0x1p+64, .lo: 0x1p+0 }, |
| 37 | { INIT_U128( 0xffffffffffffffff, 0x7fffffffffffffff ), .hi: -0x1p+63, .lo: -0x1p+0 }, |
| 38 | { INIT_U128( 0xffffffffffffffff, 0x1000000000000000 ), .hi: -0x1.ep+63, .lo: 0x0p+0 }, |
| 39 | { INIT_U128( 0xffffffffffffffff, 0xffffffffffffffff ), .hi: -0x1p+0, .lo: 0x0p+0 }, |
| 40 | { INIT_U128( 0x0000000000000061, 0x0000000000000061 ), .hi: 0x1.84p+70, .lo: 0x1.84p+6 }, |
| 41 | { INIT_U128( 0x0000000000000000, 0x0000000000000057 ), .hi: 0x1.5cp+6, .lo: 0x0p+0 }, |
| 42 | { INIT_U128( 0x0000000000000000, 0xffffffffffffff9e ), .hi: 0x1p+64, .lo: -0x1.88p+6 }, |
| 43 | { INIT_U128( 0x0000000000000000, 0x0000000000000062 ), .hi: 0x1.88p+6, .lo: 0x0p+0 }, |
| 44 | { INIT_U128( 0x0000000000000000, 0x0000000000000403 ), .hi: 0x1.00cp+10, .lo: 0x0p+0 }, |
| 45 | { INIT_U128( 0x0000000000000000, 0xfffffffffffffbfc ), .hi: 0x1.fffffffffffffp+63, .lo: 0x1.fep+9 }, |
| 46 | { INIT_U128( 0x0000000000000000, 0x000000000000040a ), .hi: 0x1.028p+10, .lo: 0x0p+0 }, |
| 47 | { INIT_U128( 0x0000000000000000, 0x000000000000040c ), .hi: 0x1.03p+10, .lo: 0x0p+0 }, |
| 48 | { INIT_U128( 0x0000000000000000, 0x000000000000041a ), .hi: 0x1.068p+10, .lo: 0x0p+0 }, |
| 49 | { INIT_U128( 0x0000000000000000, 0x0000000000000510 ), .hi: 0x1.44p+10, .lo: 0x0p+0 }, |
| 50 | { INIT_U128( 0x0000000000000000, 0x0000000000000518 ), .hi: 0x1.46p+10, .lo: 0x0p+0 }, |
| 51 | { INIT_U128( 0x0000000000000000, 0xfffffffffffffae7 ), .hi: 0x1.fffffffffffffp+63, .lo: 0x1.738p+9 }, |
| 52 | { INIT_U128( 0x0000000000000000, 0x0000000000000602 ), .hi: 0x1.808p+10, .lo: 0x0p+0 }, |
| 53 | { INIT_U128( 0x0000000000000000, 0xfffffffffffff9fd ), .hi: 0x1.fffffffffffffp+63, .lo: 0x1.fdp+8 }, |
| 54 | { INIT_U128( 0x0000000000000000, 0x0000000000002090 ), .hi: 0x1.048p+13, .lo: 0x0p+0 }, |
| 55 | { INIT_U128( 0x0000000000000000, 0xffffffffffffdbdb ), .hi: 0x1.ffffffffffffbp+63, .lo: 0x1.ed8p+9 }, |
| 56 | { INIT_U128( 0x0000000000000000, 0x0000000000002430 ), .hi: 0x1.218p+13, .lo: 0x0p+0 }, |
| 57 | { INIT_U128( 0x0000000000000000, 0x0000000000020202 ), .hi: 0x1.0101p+17, .lo: 0x0p+0 }, |
| 58 | { INIT_U128( 0x0000000000000000, 0xfffffffffffdeef7 ), .hi: 0x1.fffffffffffbep+63, .lo: -0x1.09p+8 }, |
| 59 | { INIT_U128( 0x0000000000000000, 0x0000000000032004 ), .hi: 0x1.9002p+17, .lo: 0x0p+0 }, |
| 60 | { INIT_U128( 0x0000000000000000, 0xfffffffffffcdffb ), .hi: 0x1.fffffffffff9cp+63, .lo: -0x1.4p+2 }, |
| 61 | { INIT_U128( 0x0000000000000000, 0x0000000000032040 ), .hi: 0x1.902p+17, .lo: 0x0p+0 }, |
| 62 | { INIT_U128( 0x0000000000000000, 0xffffffffffbfdfbb ), .hi: 0x1.ffffffffff7fcp+63, .lo: -0x1.14p+6 }, |
| 63 | { INIT_U128( 0x0000000000000000, 0x0000000000402088 ), .hi: 0x1.00822p+22, .lo: 0x0p+0 }, |
| 64 | { INIT_U128( 0x0000000000000000, 0x0000000080080088 ), .hi: 0x1.0010011p+31, .lo: 0x0p+0 }, |
| 65 | { INIT_U128( 0xffffffff7ff7ff77, 0xffffffff7ff7ff77 ), .hi: -0x1.0010011p+95, .lo: -0x1.00100112p+31 }, |
| 66 | { INIT_U128( 0x0000000000000000, 0x0000000850000008 ), .hi: 0x1.0a000001p+35, .lo: 0x0p+0 }, |
| 67 | { INIT_U128( 0x0000000000000000, 0x0000002000000448 ), .hi: 0x1.000000224p+37, .lo: 0x0p+0 }, |
| 68 | { INIT_U128( 0x0000000000000000, 0xffffffdfff7dbfff ), .hi: 0x1.ffffffbffefb8p+63, .lo: -0x1p+0 }, |
| 69 | { INIT_U128( 0x0000004002001100, 0x0000004002001100 ), .hi: 0x1.00080044p+102, .lo: 0x1.00080044p+38 }, |
| 70 | { INIT_U128( 0x000008020000000c, 0x000008020000000c ), .hi: 0x1.00400000018p+107, .lo: 0x1.00400000018p+43 }, |
| 71 | { INIT_U128( 0x0000000000000000, 0xfffff7fdfffffff3 ), .hi: 0x1.ffffeffcp+63, .lo: -0x1.ap+3 }, |
| 72 | { INIT_U128( 0x0000000000000000, 0x0000800000000824 ), .hi: 0x1.000000001048p+47, .lo: 0x0p+0 }, |
| 73 | { INIT_U128( 0x0000000000000000, 0xfffdffffff7ffcff ), .hi: 0x1.fffbffffffp+63, .lo: -0x1.808p+9 }, |
| 74 | { INIT_U128( 0x0000000000000000, 0x4002040010000000 ), .hi: 0x1.000810004p+62, .lo: 0x0p+0 }, |
| 75 | { INIT_U128( 0x0000000000000000, 0xbffdfbffefffffff ), .hi: 0x1.7ffbf7ffep+63, .lo: -0x1p+0 }, |
| 76 | { INIT_U128( 0x0000000000000000, 0x8000000000000000 ), .hi: 0x1p+63, .lo: 0x0p+0 }, |
| 77 | { INIT_U128( 0x0000000000000000, 0xfffffffff418c5c1 ), .hi: 0x1.ffffffffe8319p+63, .lo: -0x1.1f8p+9 }, |
| 78 | { INIT_U128( 0x000000000000000f, 0xffffffffffffffff ), .hi: 0x1p+68, .lo: -0x1p+0 }, |
| 79 | { INIT_U128( 0x00000000000000ff, 0xffffffffffffffff ), .hi: 0x1p+72, .lo: -0x1p+0 }, |
| 80 | { INIT_U128( 0x0000000000000fff, 0xffffffffffffffff ), .hi: 0x1p+76, .lo: -0x1p+0 }, |
| 81 | { INIT_U128( 0x000000000000ffff, 0xffffffffffffffff ), .hi: 0x1p+80, .lo: -0x1p+0 }, |
| 82 | { INIT_U128( 0x00000000000fffff, 0xffffffffffffffff ), .hi: 0x1p+84, .lo: -0x1p+0 }, |
| 83 | { INIT_U128( 0x0000000000ffffff, 0xffffffffffffffff ), .hi: 0x1p+88, .lo: -0x1p+0 }, |
| 84 | { INIT_U128( 0x000000000fffffff, 0xffffffffffffffff ), .hi: 0x1p+92, .lo: -0x1p+0 }, |
| 85 | { INIT_U128( 0x00000000ffffffff, 0xffffffffffffffff ), .hi: 0x1p+96, .lo: -0x1p+0 }, |
| 86 | { INIT_U128( 0x0000000fffffffff, 0xffffffffffffffff ), .hi: 0x1p+100, .lo: -0x1p+0 }, |
| 87 | { INIT_U128( 0x000000ffffffffff, 0xffffffffffffffff ), .hi: 0x1p+104, .lo: -0x1p+0 }, |
| 88 | { INIT_U128( 0x00000fffffffffff, 0xffffffffffffffff ), .hi: 0x1p+108, .lo: -0x1p+0 }, |
| 89 | { INIT_U128( 0x0000ffffffffffff, 0xffffffffffffffff ), .hi: 0x1p+112, .lo: -0x1p+0 }, |
| 90 | { INIT_U128( 0x000fffffffffffff, 0xffffffffffffffff ), .hi: 0x1p+116, .lo: -0x1p+0 }, |
| 91 | { INIT_U128( 0x00ffffffffffffff, 0xffffffffffffffff ), .hi: 0x1p+120, .lo: -0x1p+0 }, |
| 92 | { INIT_U128( 0x0fffffffffffffff, 0xffffffffffffffff ), .hi: 0x1p+124, .lo: -0x1p+0 }, |
| 93 | { INIT_U128( 0x1000000000000000, 0x0000000000000000 ), .hi: 0x1p+124, .lo: 0x0p+0 }, |
| 94 | { INIT_U128( 0x1000000000000000, 0x0000000000000011 ), .hi: 0x1p+124, .lo: 0x1.1p+4 }, |
| 95 | { INIT_U128( 0x1000000000000000, 0x0000000000000111 ), .hi: 0x1p+124, .lo: 0x1.11p+8 }, |
| 96 | { INIT_U128( 0x1000000000000000, 0x0000000000001111 ), .hi: 0x1p+124, .lo: 0x1.111p+12 }, |
| 97 | { INIT_U128( 0x1000000000000000, 0x0000000000011111 ), .hi: 0x1p+124, .lo: 0x1.1111p+16 }, |
| 98 | { INIT_U128( 0x1000000000000000, 0x0000000000111111 ), .hi: 0x1p+124, .lo: 0x1.11111p+20 }, |
| 99 | { INIT_U128( 0x1000000000000000, 0x0000000001111111 ), .hi: 0x1p+124, .lo: 0x1.111111p+24 }, |
| 100 | { INIT_U128( 0x1000000000000000, 0x0000000011111111 ), .hi: 0x1p+124, .lo: 0x1.1111111p+28 }, |
| 101 | { INIT_U128( 0x1000000000000000, 0x0000000111111111 ), .hi: 0x1p+124, .lo: 0x1.11111111p+32 }, |
| 102 | { INIT_U128( 0x1000000000000000, 0x0000001111111111 ), .hi: 0x1p+124, .lo: 0x1.111111111p+36 }, |
| 103 | { INIT_U128( 0x1000000000000000, 0x0000011111111111 ), .hi: 0x1p+124, .lo: 0x1.1111111111p+40 }, |
| 104 | { INIT_U128( 0x1000000000000000, 0x0000111111111111 ), .hi: 0x1p+124, .lo: 0x1.11111111111p+44 }, |
| 105 | { INIT_U128( 0x1000000000000000, 0x0001111111111111 ), .hi: 0x1p+124, .lo: 0x1.111111111111p+48 }, |
| 106 | { INIT_U128( 0x1000000000000000, 0x0011111111111111 ), .hi: 0x1p+124, .lo: 0x1.1111111111111p+52 }, |
| 107 | { INIT_U128( 0x1000000000000000, 0x0111111111111111 ), .hi: 0x1p+124, .lo: 0x1.11111111111111p+56 }, |
| 108 | { INIT_U128( 0x1000000000000000, 0x1111111111111111 ), .hi: 0x1p+124, .lo: 0x1.111111111111111p+60 }, |
| 109 | { INIT_U128( 0xffffffffffffffff, 0xf000000000000000 ), .hi: -0x1p+60, .lo: 0x0p+0 }, |
| 110 | { INIT_U128( 0xffffffffffffffff, 0xff00000000000000 ), .hi: -0x1p+56, .lo: 0x0p+0 }, |
| 111 | { INIT_U128( 0x0000000000000000, 0xb7ffffff77ffffff ), .hi: 0x1.6ffffffefp+63, .lo: -0x1p+0 }, |
| 112 | { INIT_U128( 0xb7ffffff3fffffff, 0xb7ffffff3fffffff ), .hi: -0x1.20000003p+126, .lo: -0x1.20000003p+62 }, |
| 113 | { INIT_U128( 0xb7fffffefffffffe, 0xb7fffffefffffffe ), .hi: -0x1.20000004p+126, .lo: -0x1.48000001p+64 }, |
| 114 | { INIT_U128( 0xb7fffffeffffefff, 0xb7fffffeffffefff ), .hi: -0x1.2000000400004p+126, .lo: -0x1.2000000400004p+62 }, |
| 115 | { INIT_U128( 0x0000040000000000, 0x0000000000000000 ), .hi: 0x1p+106, .lo: 0x0p+0 }, |
| 116 | { INIT_U128( 0x0000000000000000, 0x000000003ff00000 ), .hi: 0x1.ff8p+29, .lo: 0x0p+0 }, |
| 117 | { INIT_U128( 0x0000000000000000, 0xb7fbffffffffdfff ), .hi: 0x1.6ff7ffffffffcp+63, .lo: -0x1p+0 }, |
| 118 | { INIT_U128( 0x0000000000000000, 0x4804000000010000 ), .hi: 0x1.201000000004p+62, .lo: 0x0p+0 }, |
| 119 | { INIT_U128( 0x0000000000000000, 0x4900000000001000 ), .hi: 0x1.2400000000004p+62, .lo: 0x0p+0 }, |
| 120 | { INIT_U128( 0x0000000000000000, 0xb6ffffffffffefff ), .hi: 0x1.6dffffffffffep+63, .lo: -0x1p+0 }, |
| 121 | { INIT_U128( 0x0000000000000000, 0x4900000000008000 ), .hi: 0x1.240000000002p+62, .lo: 0x0p+0 }, |
| 122 | { INIT_U128( 0xb6ffffffffff7fff, 0xb6ffffffffff7fff ), .hi: -0x1.240000000002p+126, .lo: -0x1.240000000002p+62 }, |
| 123 | { INIT_U128( 0x4900000000040000, 0x4900000000040000 ), .hi: 0x1.24000000001p+126, .lo: 0x1.24000000001p+62 }, |
| 124 | { INIT_U128( 0xb6fffffffffbffff, 0xb6fffffffffbffff ), .hi: -0x1.24000000001p+126, .lo: -0x1.24000000001p+62 }, |
| 125 | { INIT_U128( 0x4900000000200000, 0x4900000000200000 ), .hi: 0x1.24000000008p+126, .lo: 0x1.24000000008p+62 }, |
| 126 | { INIT_U128( 0xb6ffffffffdfffff, 0xb6ffffffffdfffff ), .hi: -0x1.24000000008p+126, .lo: -0x1.24000000008p+62 }, |
| 127 | { INIT_U128( 0x4900000000800000, 0x4900000000800000 ), .hi: 0x1.2400000002p+126, .lo: 0x1.2400000002p+62 }, |
| 128 | { INIT_U128( 0xb6ffffffff7fffff, 0xb6ffffffff7fffff ), .hi: -0x1.2400000002p+126, .lo: -0x1.2400000002p+62 }, |
| 129 | { INIT_U128( 0x4900000008000000, 0x4900000008000000 ), .hi: 0x1.240000002p+126, .lo: 0x1.240000002p+62 }, |
| 130 | { INIT_U128( 0xb6fffffff7ffffff, 0xb6fffffff7ffffff ), .hi: -0x1.240000002p+126, .lo: -0x1.240000002p+62 }, |
| 131 | { INIT_U128( 0x4900000040000000, 0x4900000040000000 ), .hi: 0x1.24000001p+126, .lo: 0x1.24000001p+62 }, |
| 132 | { INIT_U128( 0xb6ffffffbfffffff, 0xb6ffffffbfffffff ), .hi: -0x1.24000001p+126, .lo: -0x1.24000001p+62 }, |
| 133 | { INIT_U128( 0x4900000080000000, 0x4900000080000000 ), .hi: 0x1.24000002p+126, .lo: 0x1.24000002p+62 }, |
| 134 | { INIT_U128( 0xb6ffffff7fffffff, 0xb6ffffff7fffffff ), .hi: -0x1.24000002p+126, .lo: -0x1.24000002p+62 }, |
| 135 | { INIT_U128( 0x4900000400000000, 0x4900000400000000 ), .hi: 0x1.2400001p+126, .lo: 0x1.2400001p+62 }, |
| 136 | { INIT_U128( 0xb6fffffbffffffff, 0xb6fffffbffffffff ), .hi: -0x1.2400001p+126, .lo: -0x1.2400001p+62 }, |
| 137 | { INIT_U128( 0x4900001000000000, 0x4900001000000000 ), .hi: 0x1.2400004p+126, .lo: 0x1.2400004p+62 }, |
| 138 | { INIT_U128( 0xb6ffffefffffffff, 0xb6ffffefffffffff ), .hi: -0x1.2400004p+126, .lo: -0x1.2400004p+62 }, |
| 139 | { INIT_U128( 0x4900004000000000, 0x4900004000000000 ), .hi: 0x1.240001p+126, .lo: 0x1.240001p+62 }, |
| 140 | { INIT_U128( 0xb6ffffbfffffffff, 0xb6ffffbfffffffff ), .hi: -0x1.240001p+126, .lo: -0x1.240001p+62 }, |
| 141 | { INIT_U128( 0x4900040000000000, 0x4900040000000000 ), .hi: 0x1.24001p+126, .lo: 0x1.24001p+62 }, |
| 142 | { INIT_U128( 0xb6fffbffffffffff, 0xb6fffbffffffffff ), .hi: -0x1.24001p+126, .lo: -0x1.24001p+62 }, |
| 143 | { INIT_U128( 0x4900200000000000, 0x4900200000000000 ), .hi: 0x1.24008p+126, .lo: 0x1.24008p+62 }, |
| 144 | { INIT_U128( 0xb6ffdfffffffffff, 0xb6ffdfffffffffff ), .hi: -0x1.24008p+126, .lo: -0x1.24008p+62 }, |
| 145 | { INIT_U128( 0x4901000000000000, 0x4901000000000000 ), .hi: 0x1.2404p+126, .lo: 0x1.2404p+62 }, |
| 146 | { INIT_U128( 0xb6feffffffffffff, 0xb6feffffffffffff ), .hi: -0x1.2404p+126, .lo: -0x1.2404p+62 }, |
| 147 | { INIT_U128( 0x4910000000000000, 0x4910000000000000 ), .hi: 0x1.244p+126, .lo: 0x1.244p+62 }, |
| 148 | { INIT_U128( 0xb6efffffffffffff, 0xb6efffffffffffff ), .hi: -0x1.244p+126, .lo: -0x1.244p+62 }, |
| 149 | { INIT_U128( 0x4980000000000000, 0x4980000000000000 ), .hi: 0x1.26p+126, .lo: 0x1.26p+62 }, |
| 150 | { INIT_U128( 0xb67fffffffffffff, 0xb67fffffffffffff ), .hi: -0x1.26p+126, .lo: -0x1.26p+62 }, |
| 151 | { INIT_U128( 0x4c00000000000000, 0x4c00000000000000 ), .hi: 0x1.3p+126, .lo: 0x1.3p+62 }, |
| 152 | { INIT_U128( 0xb3ffffffffffffff, 0xb3ffffffffffffff ), .hi: -0x1.3p+126, .lo: -0x1.3p+62 }, |
| 153 | { INIT_U128( 0x9fffffffffffbfff, 0x9fffffffffffbfff ), .hi: -0x1.800000000001p+126, .lo: -0x1.800000000001p+62 }, |
| 154 | { INIT_U128( 0x6000000000004001, 0x6000000000004001 ), .hi: 0x1.800000000001p+126, .lo: 0x1.6000000000004p+64 }, |
| 155 | { INIT_U128( 0x8fffffffffffffbf, 0x8fffffffffffffbf ), .hi: -0x1.cp+126, .lo: -0x1.01cp+70 }, |
| 156 | { INIT_U128( 0x7000000000000080, 0x7000000000000080 ), .hi: 0x1.cp+126, .lo: 0x1.00ep+71 }, |
| 157 | { INIT_U128( 0x8fffffffffffff7f, 0x8fffffffffffff7f ), .hi: -0x1.cp+126, .lo: -0x1.00ep+71 }, |
| 158 | { INIT_U128( 0x7000000000000800, 0x7000000000000800 ), .hi: 0x1.c000000000002p+126, .lo: 0x1.c000000000002p+62 }, |
| 159 | { INIT_U128( 0x8ffffffffffff7ff, 0x8ffffffffffff7ff ), .hi: -0x1.c000000000002p+126, .lo: -0x1.c000000000002p+62 }, |
| 160 | { INIT_U128( 0x7000000000002000, 0x7000000000002000 ), .hi: 0x1.c000000000008p+126, .lo: 0x1.c000000000008p+62 }, |
| 161 | { INIT_U128( 0x8fffffffffffdfff, 0x8fffffffffffdfff ), .hi: -0x1.c000000000008p+126, .lo: -0x1.c000000000008p+62 }, |
| 162 | { INIT_U128( 0x7000000000010000, 0x7000000000010000 ), .hi: 0x1.c00000000004p+126, .lo: 0x1.c00000000004p+62 }, |
| 163 | { INIT_U128( 0x8ffffffffffeffff, 0x8ffffffffffeffff ), .hi: -0x1.c00000000004p+126, .lo: -0x1.c00000000004p+62 }, |
| 164 | { INIT_U128( 0x7000000000040000, 0x7000000000040000 ), .hi: 0x1.c0000000001p+126, .lo: 0x1.c0000000001p+62 }, |
| 165 | { INIT_U128( 0x8ffffffffffbffff, 0x8ffffffffffbffff ), .hi: -0x1.c0000000001p+126, .lo: -0x1.c0000000001p+62 }, |
| 166 | { INIT_U128( 0x7000000000080000, 0x7000000000080000 ), .hi: 0x1.c0000000002p+126, .lo: 0x1.c0000000002p+62 }, |
| 167 | { INIT_U128( 0x8ffffffffff7ffff, 0x8ffffffffff7ffff ), .hi: -0x1.c0000000002p+126, .lo: -0x1.c0000000002p+62 }, |
| 168 | { INIT_U128( 0x7000000000800000, 0x7000000000800000 ), .hi: 0x1.c000000002p+126, .lo: 0x1.c000000002p+62 }, |
| 169 | { INIT_U128( 0x8fffffffff7fffff, 0x8fffffffff7fffff ), .hi: -0x1.c000000002p+126, .lo: -0x1.c000000002p+62 }, |
| 170 | { INIT_U128( 0x7000000008000000, 0x7000000008000000 ), .hi: 0x1.c00000002p+126, .lo: 0x1.c00000002p+62 }, |
| 171 | { INIT_U128( 0x8ffffffff7ffffff, 0x8ffffffff7ffffff ), .hi: -0x1.c00000002p+126, .lo: -0x1.c00000002p+62 }, |
| 172 | { INIT_U128( 0x7000000010000000, 0x7000000010000000 ), .hi: 0x1.c00000004p+126, .lo: 0x1.c00000004p+62 }, |
| 173 | { INIT_U128( 0x8fffffffefffffff, 0x8fffffffefffffff ), .hi: -0x1.c00000004p+126, .lo: -0x1.c00000004p+62 }, |
| 174 | { INIT_U128( 0x7000000100000000, 0x7000000100000000 ), .hi: 0x1.c0000004p+126, .lo: 0x1.c0000004p+62 }, |
| 175 | { INIT_U128( 0x8ffffffeffffffff, 0x8ffffffeffffffff ), .hi: -0x1.c0000004p+126, .lo: -0x1.c0000004p+62 }, |
| 176 | { INIT_U128( 0x7000000200000000, 0x7000000200000000 ), .hi: 0x1.c0000008p+126, .lo: 0x1.c0000008p+62 }, |
| 177 | { INIT_U128( 0x8ffffffdffffffff, 0x8ffffffdffffffff ), .hi: -0x1.c0000008p+126, .lo: -0x1.c0000008p+62 }, |
| 178 | { INIT_U128( 0x7000000800000000, 0x7000000800000000 ), .hi: 0x1.c000002p+126, .lo: 0x1.c000002p+62 }, |
| 179 | { INIT_U128( 0x8ffffff7ffffffff, 0x8ffffff7ffffffff ), .hi: -0x1.c000002p+126, .lo: -0x1.c000002p+62 }, |
| 180 | { INIT_U128( 0x7000008000000000, 0x7000008000000000 ), .hi: 0x1.c00002p+126, .lo: 0x1.c00002p+62 }, |
| 181 | { INIT_U128( 0x8fffff7fffffffff, 0x8fffff7fffffffff ), .hi: -0x1.c00002p+126, .lo: -0x1.c00002p+62 }, |
| 182 | { INIT_U128( 0x7000010000000000, 0x7000010000000000 ), .hi: 0x1.c00004p+126, .lo: 0x1.c00004p+62 }, |
| 183 | { INIT_U128( 0x8ffffeffffffffff, 0x8ffffeffffffffff ), .hi: -0x1.c00004p+126, .lo: -0x1.c00004p+62 }, |
| 184 | { INIT_U128( 0x7000080000000000, 0x7000080000000000 ), .hi: 0x1.c0002p+126, .lo: 0x1.c0002p+62 }, |
| 185 | { INIT_U128( 0x8ffff7ffffffffff, 0x8ffff7ffffffffff ), .hi: -0x1.c0002p+126, .lo: -0x1.c0002p+62 }, |
| 186 | { INIT_U128( 0x7000800000000000, 0x7000800000000000 ), .hi: 0x1.c002p+126, .lo: 0x1.c002p+62 }, |
| 187 | { INIT_U128( 0x8fff7fffffffffff, 0x8fff7fffffffffff ), .hi: -0x1.c002p+126, .lo: -0x1.c002p+62 }, |
| 188 | { INIT_U128( 0x7002000000000000, 0x7002000000000000 ), .hi: 0x1.c008p+126, .lo: 0x1.c008p+62 }, |
| 189 | { INIT_U128( 0x8ffdffffffffffff, 0x8ffdffffffffffff ), .hi: -0x1.c008p+126, .lo: -0x1.c008p+62 }, |
| 190 | { INIT_U128( 0x7008000000000000, 0x7008000000000000 ), .hi: 0x1.c02p+126, .lo: 0x1.c02p+62 }, |
| 191 | { INIT_U128( 0x8ff7ffffffffffff, 0x8ff7ffffffffffff ), .hi: -0x1.c02p+126, .lo: -0x1.c02p+62 }, |
| 192 | { INIT_U128( 0x7080000000000000, 0x7080000000000000 ), .hi: 0x1.c2p+126, .lo: 0x1.c2p+62 }, |
| 193 | { INIT_U128( 0x8f7fffffffffffff, 0x8f7fffffffffffff ), .hi: -0x1.c2p+126, .lo: -0x1.c2p+62 }, |
| 194 | { INIT_U128( 0x7400000000000000, 0x7400000000000000 ), .hi: 0x1.dp+126, .lo: 0x1.dp+62 } |
| 195 | }; |
| 196 | |
| 197 | static const int numTests = sizeof(tests) / sizeof(struct testCase); |
| 198 | |