1 1.1 joerg //===-- cmpdf2_test.c - Test __cmpdf2 -------------------------------------===// 2 1.1 joerg // 3 1.1 joerg // The LLVM Compiler Infrastructure 4 1.1 joerg // 5 1.1 joerg // This file is dual licensed under the MIT and the University of Illinois Open 6 1.1 joerg // Source Licenses. See LICENSE.TXT for details. 7 1.1 joerg // 8 1.1 joerg //===----------------------------------------------------------------------===// 9 1.1 joerg // 10 1.1 joerg // This file tests single-precision soft-double comparisons for the compiler-rt 11 1.1 joerg // library. 12 1.1 joerg // 13 1.1 joerg //===----------------------------------------------------------------------===// 14 1.1 joerg 15 1.1 joerg #include <stdio.h> 16 1.1 joerg 17 1.1 joerg int __eqdf2(double, double); 18 1.1 joerg int __gedf2(double, double); 19 1.1 joerg int __gtdf2(double, double); 20 1.1 joerg int __ledf2(double, double); 21 1.1 joerg int __ltdf2(double, double); 22 1.1 joerg int __nedf2(double, double); 23 1.1 joerg int __unorddf2(double, double); 24 1.1 joerg 25 1.1 joerg struct TestVector { 26 1.1 joerg double a; 27 1.1 joerg double b; 28 1.1 joerg int eqReference; 29 1.1 joerg int geReference; 30 1.1 joerg int gtReference; 31 1.1 joerg int leReference; 32 1.1 joerg int ltReference; 33 1.1 joerg int neReference; 34 1.1 joerg int unReference; 35 1.1 joerg }; 36 1.1 joerg 37 1.1 joerg int test__cmpdf2(const struct TestVector *vector) { 38 1.1 joerg 39 1.1 joerg if (__eqdf2(vector->a, vector->b) != vector->eqReference) { 40 1.1 joerg printf("error in __eqdf2(%a, %a) = %d, expected %d\n", 41 1.1 joerg vector->a, vector->b, 42 1.1 joerg __eqdf2(vector->a, vector->b), 43 1.1 joerg vector->eqReference); 44 1.1 joerg return 1; 45 1.1 joerg } 46 1.1 joerg 47 1.1 joerg if (__gedf2(vector->a, vector->b) != vector->geReference) { 48 1.1 joerg printf("error in __gedf2(%a, %a) = %d, expected %d\n", 49 1.1 joerg vector->a, vector->b, 50 1.1 joerg __gedf2(vector->a, vector->b), 51 1.1 joerg vector->geReference); 52 1.1 joerg return 1; 53 1.1 joerg } 54 1.1 joerg 55 1.1 joerg if (__gtdf2(vector->a, vector->b) != vector->gtReference) { 56 1.1 joerg printf("error in __gtdf2(%a, %a) = %d, expected %d\n", 57 1.1 joerg vector->a, vector->b, 58 1.1 joerg __gtdf2(vector->a, vector->b), 59 1.1 joerg vector->gtReference); 60 1.1 joerg return 1; 61 1.1 joerg } 62 1.1 joerg 63 1.1 joerg if (__ledf2(vector->a, vector->b) != vector->leReference) { 64 1.1 joerg printf("error in __ledf2(%a, %a) = %d, expected %d\n", 65 1.1 joerg vector->a, vector->b, 66 1.1 joerg __ledf2(vector->a, vector->b), 67 1.1 joerg vector->leReference); 68 1.1 joerg return 1; 69 1.1 joerg } 70 1.1 joerg 71 1.1 joerg if (__ltdf2(vector->a, vector->b) != vector->ltReference) { 72 1.1 joerg printf("error in __ltdf2(%a, %a) = %d, expected %d\n", 73 1.1 joerg vector->a, vector->b, 74 1.1 joerg __ltdf2(vector->a, vector->b), 75 1.1 joerg vector->ltReference); 76 1.1 joerg return 1; 77 1.1 joerg } 78 1.1 joerg 79 1.1 joerg if (__nedf2(vector->a, vector->b) != vector->neReference) { 80 1.1 joerg printf("error in __nedf2(%a, %a) = %d, expected %d\n", 81 1.1 joerg vector->a, vector->b, 82 1.1 joerg __nedf2(vector->a, vector->b), 83 1.1 joerg vector->neReference); 84 1.1 joerg return 1; 85 1.1 joerg } 86 1.1 joerg 87 1.1 joerg if (__unorddf2(vector->a, vector->b) != vector->unReference) { 88 1.1 joerg printf("error in __unorddf2(%a, %a) = %d, expected %d\n", 89 1.1 joerg vector->a, vector->b, 90 1.1 joerg __unorddf2(vector->a, vector->b), 91 1.1 joerg vector->unReference); 92 1.1 joerg return 1; 93 1.1 joerg } 94 1.1 joerg 95 1.1 joerg return 0; 96 1.1 joerg } 97 1.1 joerg 98 1.1 joerg /* 99 1.1 joerg void generateVectors() { 100 1.1 joerg 101 1.1 joerg const double arguments[] = { 102 1.1 joerg __builtin_nan(""), 103 1.1 joerg -__builtin_inf(), 104 1.1 joerg -0x1.fffffffffffffp1023, 105 1.1 joerg -0x1.0000000000001p0 106 1.1 joerg -0x1.0000000000000p0, 107 1.1 joerg -0x1.fffffffffffffp-1, 108 1.1 joerg -0x1.0000000000000p-1022, 109 1.1 joerg -0x0.fffffffffffffp-1022, 110 1.1 joerg -0x0.0000000000001p-1022, 111 1.1 joerg -0.0, 112 1.1 joerg 0.0, 113 1.1 joerg 0x0.0000000000001p-1022, 114 1.1 joerg 0x0.fffffffffffffp-1022, 115 1.1 joerg 0x1.0000000000000p-1022, 116 1.1 joerg 0x1.fffffffffffffp-1, 117 1.1 joerg 0x1.0000000000000p0, 118 1.1 joerg 0x1.0000000000001p0, 119 1.1 joerg 0x1.fffffffffffffp1023, 120 1.1 joerg __builtin_inf() 121 1.1 joerg }; 122 1.1 joerg 123 1.1 joerg int numArguments = sizeof arguments / sizeof arguments[0]; 124 1.1 joerg 125 1.1 joerg for (int i=0; i<numArguments; ++i) { 126 1.1 joerg for (int j=0; j<numArguments; ++j) { 127 1.1 joerg const double a = arguments[i]; 128 1.1 joerg const double b = arguments[j]; 129 1.1 joerg const int leResult = a < b ? -1 : a == b ? 0 : 1; 130 1.1 joerg const int geResult = a > b ? 1 : a == b ? 0 : -1; 131 1.1 joerg const int unResult = a != a || b != b ? 1 : 0; 132 1.1 joerg printf("{%a,%a,%d,%d,%d,%d,%d,%d,%d},\n", 133 1.1 joerg a, b, 134 1.1 joerg leResult, 135 1.1 joerg geResult, 136 1.1 joerg geResult, 137 1.1 joerg leResult, 138 1.1 joerg leResult, 139 1.1 joerg leResult, 140 1.1 joerg unResult); 141 1.1 joerg } 142 1.1 joerg } 143 1.1 joerg } */ 144 1.1 joerg 145 1.1 joerg static const struct TestVector vectors[] = { 146 1.1 joerg {__builtin_nan(""),__builtin_nan(""),1,-1,-1,1,1,1,1}, 147 1.1 joerg {__builtin_nan(""),-__builtin_inf(),1,-1,-1,1,1,1,1}, 148 1.1 joerg {__builtin_nan(""),-0x1.fffffffffffffp+1023,1,-1,-1,1,1,1,1}, 149 1.1 joerg {__builtin_nan(""),-0x1p+1,1,-1,-1,1,1,1,1}, 150 1.1 joerg {__builtin_nan(""),-0x1.fffffffffffffp-1,1,-1,-1,1,1,1,1}, 151 1.1 joerg {__builtin_nan(""),-0x1p-1022,1,-1,-1,1,1,1,1}, 152 1.1 joerg {__builtin_nan(""),-0x1.fffffcp-1023,1,-1,-1,1,1,1,1}, 153 1.1 joerg {__builtin_nan(""),-0x1p-1074,1,-1,-1,1,1,1,1}, 154 1.1 joerg {__builtin_nan(""),-0x0p+0,1,-1,-1,1,1,1,1}, 155 1.1 joerg {__builtin_nan(""),0x0p+0,1,-1,-1,1,1,1,1}, 156 1.1 joerg {__builtin_nan(""),0x1p-1074,1,-1,-1,1,1,1,1}, 157 1.1 joerg {__builtin_nan(""),0x1.fffffcp-1023,1,-1,-1,1,1,1,1}, 158 1.1 joerg {__builtin_nan(""),0x1p-1022,1,-1,-1,1,1,1,1}, 159 1.1 joerg {__builtin_nan(""),0x1.fffffffffffffp-1,1,-1,-1,1,1,1,1}, 160 1.1 joerg {__builtin_nan(""),0x1p+0,1,-1,-1,1,1,1,1}, 161 1.1 joerg {__builtin_nan(""),0x1.0000000000001p+0,1,-1,-1,1,1,1,1}, 162 1.1 joerg {__builtin_nan(""),0x1.fffffffffffffp+1023,1,-1,-1,1,1,1,1}, 163 1.1 joerg {__builtin_nan(""),__builtin_inf(),1,-1,-1,1,1,1,1}, 164 1.1 joerg {-__builtin_inf(),__builtin_nan(""),1,-1,-1,1,1,1,1}, 165 1.1 joerg {-__builtin_inf(),-__builtin_inf(),0,0,0,0,0,0,0}, 166 1.1 joerg {-__builtin_inf(),-0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 167 1.1 joerg {-__builtin_inf(),-0x1p+1,-1,-1,-1,-1,-1,-1,0}, 168 1.1 joerg {-__builtin_inf(),-0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 169 1.1 joerg {-__builtin_inf(),-0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 170 1.1 joerg {-__builtin_inf(),-0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 171 1.1 joerg {-__builtin_inf(),-0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 172 1.1 joerg {-__builtin_inf(),-0x0p+0,-1,-1,-1,-1,-1,-1,0}, 173 1.1 joerg {-__builtin_inf(),0x0p+0,-1,-1,-1,-1,-1,-1,0}, 174 1.1 joerg {-__builtin_inf(),0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 175 1.1 joerg {-__builtin_inf(),0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 176 1.1 joerg {-__builtin_inf(),0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 177 1.1 joerg {-__builtin_inf(),0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 178 1.1 joerg {-__builtin_inf(),0x1p+0,-1,-1,-1,-1,-1,-1,0}, 179 1.1 joerg {-__builtin_inf(),0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 180 1.1 joerg {-__builtin_inf(),0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 181 1.1 joerg {-__builtin_inf(),__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 182 1.1 joerg {-0x1.fffffffffffffp+1023,__builtin_nan(""),1,-1,-1,1,1,1,1}, 183 1.1 joerg {-0x1.fffffffffffffp+1023,-__builtin_inf(),1,1,1,1,1,1,0}, 184 1.1 joerg {-0x1.fffffffffffffp+1023,-0x1.fffffffffffffp+1023,0,0,0,0,0,0,0}, 185 1.1 joerg {-0x1.fffffffffffffp+1023,-0x1p+1,-1,-1,-1,-1,-1,-1,0}, 186 1.1 joerg {-0x1.fffffffffffffp+1023,-0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 187 1.1 joerg {-0x1.fffffffffffffp+1023,-0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 188 1.1 joerg {-0x1.fffffffffffffp+1023,-0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 189 1.1 joerg {-0x1.fffffffffffffp+1023,-0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 190 1.1 joerg {-0x1.fffffffffffffp+1023,-0x0p+0,-1,-1,-1,-1,-1,-1,0}, 191 1.1 joerg {-0x1.fffffffffffffp+1023,0x0p+0,-1,-1,-1,-1,-1,-1,0}, 192 1.1 joerg {-0x1.fffffffffffffp+1023,0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 193 1.1 joerg {-0x1.fffffffffffffp+1023,0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 194 1.1 joerg {-0x1.fffffffffffffp+1023,0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 195 1.1 joerg {-0x1.fffffffffffffp+1023,0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 196 1.1 joerg {-0x1.fffffffffffffp+1023,0x1p+0,-1,-1,-1,-1,-1,-1,0}, 197 1.1 joerg {-0x1.fffffffffffffp+1023,0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 198 1.1 joerg {-0x1.fffffffffffffp+1023,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 199 1.1 joerg {-0x1.fffffffffffffp+1023,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 200 1.1 joerg {-0x1p+1,__builtin_nan(""),1,-1,-1,1,1,1,1}, 201 1.1 joerg {-0x1p+1,-__builtin_inf(),1,1,1,1,1,1,0}, 202 1.1 joerg {-0x1p+1,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 203 1.1 joerg {-0x1p+1,-0x1p+1,0,0,0,0,0,0,0}, 204 1.1 joerg {-0x1p+1,-0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 205 1.1 joerg {-0x1p+1,-0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 206 1.1 joerg {-0x1p+1,-0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 207 1.1 joerg {-0x1p+1,-0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 208 1.1 joerg {-0x1p+1,-0x0p+0,-1,-1,-1,-1,-1,-1,0}, 209 1.1 joerg {-0x1p+1,0x0p+0,-1,-1,-1,-1,-1,-1,0}, 210 1.1 joerg {-0x1p+1,0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 211 1.1 joerg {-0x1p+1,0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 212 1.1 joerg {-0x1p+1,0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 213 1.1 joerg {-0x1p+1,0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 214 1.1 joerg {-0x1p+1,0x1p+0,-1,-1,-1,-1,-1,-1,0}, 215 1.1 joerg {-0x1p+1,0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 216 1.1 joerg {-0x1p+1,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 217 1.1 joerg {-0x1p+1,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 218 1.1 joerg {-0x1.fffffffffffffp-1,__builtin_nan(""),1,-1,-1,1,1,1,1}, 219 1.1 joerg {-0x1.fffffffffffffp-1,-__builtin_inf(),1,1,1,1,1,1,0}, 220 1.1 joerg {-0x1.fffffffffffffp-1,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 221 1.1 joerg {-0x1.fffffffffffffp-1,-0x1p+1,1,1,1,1,1,1,0}, 222 1.1 joerg {-0x1.fffffffffffffp-1,-0x1.fffffffffffffp-1,0,0,0,0,0,0,0}, 223 1.1 joerg {-0x1.fffffffffffffp-1,-0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 224 1.1 joerg {-0x1.fffffffffffffp-1,-0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 225 1.1 joerg {-0x1.fffffffffffffp-1,-0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 226 1.1 joerg {-0x1.fffffffffffffp-1,-0x0p+0,-1,-1,-1,-1,-1,-1,0}, 227 1.1 joerg {-0x1.fffffffffffffp-1,0x0p+0,-1,-1,-1,-1,-1,-1,0}, 228 1.1 joerg {-0x1.fffffffffffffp-1,0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 229 1.1 joerg {-0x1.fffffffffffffp-1,0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 230 1.1 joerg {-0x1.fffffffffffffp-1,0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 231 1.1 joerg {-0x1.fffffffffffffp-1,0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 232 1.1 joerg {-0x1.fffffffffffffp-1,0x1p+0,-1,-1,-1,-1,-1,-1,0}, 233 1.1 joerg {-0x1.fffffffffffffp-1,0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 234 1.1 joerg {-0x1.fffffffffffffp-1,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 235 1.1 joerg {-0x1.fffffffffffffp-1,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 236 1.1 joerg {-0x1p-1022,__builtin_nan(""),1,-1,-1,1,1,1,1}, 237 1.1 joerg {-0x1p-1022,-__builtin_inf(),1,1,1,1,1,1,0}, 238 1.1 joerg {-0x1p-1022,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 239 1.1 joerg {-0x1p-1022,-0x1p+1,1,1,1,1,1,1,0}, 240 1.1 joerg {-0x1p-1022,-0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 241 1.1 joerg {-0x1p-1022,-0x1p-1022,0,0,0,0,0,0,0}, 242 1.1 joerg {-0x1p-1022,-0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 243 1.1 joerg {-0x1p-1022,-0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 244 1.1 joerg {-0x1p-1022,-0x0p+0,-1,-1,-1,-1,-1,-1,0}, 245 1.1 joerg {-0x1p-1022,0x0p+0,-1,-1,-1,-1,-1,-1,0}, 246 1.1 joerg {-0x1p-1022,0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 247 1.1 joerg {-0x1p-1022,0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 248 1.1 joerg {-0x1p-1022,0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 249 1.1 joerg {-0x1p-1022,0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 250 1.1 joerg {-0x1p-1022,0x1p+0,-1,-1,-1,-1,-1,-1,0}, 251 1.1 joerg {-0x1p-1022,0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 252 1.1 joerg {-0x1p-1022,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 253 1.1 joerg {-0x1p-1022,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 254 1.1 joerg {-0x1.fffffcp-1023,__builtin_nan(""),1,-1,-1,1,1,1,1}, 255 1.1 joerg {-0x1.fffffcp-1023,-__builtin_inf(),1,1,1,1,1,1,0}, 256 1.1 joerg {-0x1.fffffcp-1023,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 257 1.1 joerg {-0x1.fffffcp-1023,-0x1p+1,1,1,1,1,1,1,0}, 258 1.1 joerg {-0x1.fffffcp-1023,-0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 259 1.1 joerg {-0x1.fffffcp-1023,-0x1p-1022,1,1,1,1,1,1,0}, 260 1.1 joerg {-0x1.fffffcp-1023,-0x1.fffffcp-1023,0,0,0,0,0,0,0}, 261 1.1 joerg {-0x1.fffffcp-1023,-0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 262 1.1 joerg {-0x1.fffffcp-1023,-0x0p+0,-1,-1,-1,-1,-1,-1,0}, 263 1.1 joerg {-0x1.fffffcp-1023,0x0p+0,-1,-1,-1,-1,-1,-1,0}, 264 1.1 joerg {-0x1.fffffcp-1023,0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 265 1.1 joerg {-0x1.fffffcp-1023,0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 266 1.1 joerg {-0x1.fffffcp-1023,0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 267 1.1 joerg {-0x1.fffffcp-1023,0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 268 1.1 joerg {-0x1.fffffcp-1023,0x1p+0,-1,-1,-1,-1,-1,-1,0}, 269 1.1 joerg {-0x1.fffffcp-1023,0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 270 1.1 joerg {-0x1.fffffcp-1023,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 271 1.1 joerg {-0x1.fffffcp-1023,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 272 1.1 joerg {-0x1p-1074,__builtin_nan(""),1,-1,-1,1,1,1,1}, 273 1.1 joerg {-0x1p-1074,-__builtin_inf(),1,1,1,1,1,1,0}, 274 1.1 joerg {-0x1p-1074,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 275 1.1 joerg {-0x1p-1074,-0x1p+1,1,1,1,1,1,1,0}, 276 1.1 joerg {-0x1p-1074,-0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 277 1.1 joerg {-0x1p-1074,-0x1p-1022,1,1,1,1,1,1,0}, 278 1.1 joerg {-0x1p-1074,-0x1.fffffcp-1023,1,1,1,1,1,1,0}, 279 1.1 joerg {-0x1p-1074,-0x1p-1074,0,0,0,0,0,0,0}, 280 1.1 joerg {-0x1p-1074,-0x0p+0,-1,-1,-1,-1,-1,-1,0}, 281 1.1 joerg {-0x1p-1074,0x0p+0,-1,-1,-1,-1,-1,-1,0}, 282 1.1 joerg {-0x1p-1074,0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 283 1.1 joerg {-0x1p-1074,0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 284 1.1 joerg {-0x1p-1074,0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 285 1.1 joerg {-0x1p-1074,0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 286 1.1 joerg {-0x1p-1074,0x1p+0,-1,-1,-1,-1,-1,-1,0}, 287 1.1 joerg {-0x1p-1074,0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 288 1.1 joerg {-0x1p-1074,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 289 1.1 joerg {-0x1p-1074,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 290 1.1 joerg {-0x0p+0,__builtin_nan(""),1,-1,-1,1,1,1,1}, 291 1.1 joerg {-0x0p+0,-__builtin_inf(),1,1,1,1,1,1,0}, 292 1.1 joerg {-0x0p+0,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 293 1.1 joerg {-0x0p+0,-0x1p+1,1,1,1,1,1,1,0}, 294 1.1 joerg {-0x0p+0,-0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 295 1.1 joerg {-0x0p+0,-0x1p-1022,1,1,1,1,1,1,0}, 296 1.1 joerg {-0x0p+0,-0x1.fffffcp-1023,1,1,1,1,1,1,0}, 297 1.1 joerg {-0x0p+0,-0x1p-1074,1,1,1,1,1,1,0}, 298 1.1 joerg {-0x0p+0,-0x0p+0,0,0,0,0,0,0,0}, 299 1.1 joerg {-0x0p+0,0x0p+0,0,0,0,0,0,0,0}, 300 1.1 joerg {-0x0p+0,0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 301 1.1 joerg {-0x0p+0,0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 302 1.1 joerg {-0x0p+0,0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 303 1.1 joerg {-0x0p+0,0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 304 1.1 joerg {-0x0p+0,0x1p+0,-1,-1,-1,-1,-1,-1,0}, 305 1.1 joerg {-0x0p+0,0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 306 1.1 joerg {-0x0p+0,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 307 1.1 joerg {-0x0p+0,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 308 1.1 joerg {0x0p+0,__builtin_nan(""),1,-1,-1,1,1,1,1}, 309 1.1 joerg {0x0p+0,-__builtin_inf(),1,1,1,1,1,1,0}, 310 1.1 joerg {0x0p+0,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 311 1.1 joerg {0x0p+0,-0x1p+1,1,1,1,1,1,1,0}, 312 1.1 joerg {0x0p+0,-0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 313 1.1 joerg {0x0p+0,-0x1p-1022,1,1,1,1,1,1,0}, 314 1.1 joerg {0x0p+0,-0x1.fffffcp-1023,1,1,1,1,1,1,0}, 315 1.1 joerg {0x0p+0,-0x1p-1074,1,1,1,1,1,1,0}, 316 1.1 joerg {0x0p+0,-0x0p+0,0,0,0,0,0,0,0}, 317 1.1 joerg {0x0p+0,0x0p+0,0,0,0,0,0,0,0}, 318 1.1 joerg {0x0p+0,0x1p-1074,-1,-1,-1,-1,-1,-1,0}, 319 1.1 joerg {0x0p+0,0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 320 1.1 joerg {0x0p+0,0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 321 1.1 joerg {0x0p+0,0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 322 1.1 joerg {0x0p+0,0x1p+0,-1,-1,-1,-1,-1,-1,0}, 323 1.1 joerg {0x0p+0,0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 324 1.1 joerg {0x0p+0,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 325 1.1 joerg {0x0p+0,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 326 1.1 joerg {0x1p-1074,__builtin_nan(""),1,-1,-1,1,1,1,1}, 327 1.1 joerg {0x1p-1074,-__builtin_inf(),1,1,1,1,1,1,0}, 328 1.1 joerg {0x1p-1074,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 329 1.1 joerg {0x1p-1074,-0x1p+1,1,1,1,1,1,1,0}, 330 1.1 joerg {0x1p-1074,-0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 331 1.1 joerg {0x1p-1074,-0x1p-1022,1,1,1,1,1,1,0}, 332 1.1 joerg {0x1p-1074,-0x1.fffffcp-1023,1,1,1,1,1,1,0}, 333 1.1 joerg {0x1p-1074,-0x1p-1074,1,1,1,1,1,1,0}, 334 1.1 joerg {0x1p-1074,-0x0p+0,1,1,1,1,1,1,0}, 335 1.1 joerg {0x1p-1074,0x0p+0,1,1,1,1,1,1,0}, 336 1.1 joerg {0x1p-1074,0x1p-1074,0,0,0,0,0,0,0}, 337 1.1 joerg {0x1p-1074,0x1.fffffcp-1023,-1,-1,-1,-1,-1,-1,0}, 338 1.1 joerg {0x1p-1074,0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 339 1.1 joerg {0x1p-1074,0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 340 1.1 joerg {0x1p-1074,0x1p+0,-1,-1,-1,-1,-1,-1,0}, 341 1.1 joerg {0x1p-1074,0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 342 1.1 joerg {0x1p-1074,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 343 1.1 joerg {0x1p-1074,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 344 1.1 joerg {0x1.fffffcp-1023,__builtin_nan(""),1,-1,-1,1,1,1,1}, 345 1.1 joerg {0x1.fffffcp-1023,-__builtin_inf(),1,1,1,1,1,1,0}, 346 1.1 joerg {0x1.fffffcp-1023,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 347 1.1 joerg {0x1.fffffcp-1023,-0x1p+1,1,1,1,1,1,1,0}, 348 1.1 joerg {0x1.fffffcp-1023,-0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 349 1.1 joerg {0x1.fffffcp-1023,-0x1p-1022,1,1,1,1,1,1,0}, 350 1.1 joerg {0x1.fffffcp-1023,-0x1.fffffcp-1023,1,1,1,1,1,1,0}, 351 1.1 joerg {0x1.fffffcp-1023,-0x1p-1074,1,1,1,1,1,1,0}, 352 1.1 joerg {0x1.fffffcp-1023,-0x0p+0,1,1,1,1,1,1,0}, 353 1.1 joerg {0x1.fffffcp-1023,0x0p+0,1,1,1,1,1,1,0}, 354 1.1 joerg {0x1.fffffcp-1023,0x1p-1074,1,1,1,1,1,1,0}, 355 1.1 joerg {0x1.fffffcp-1023,0x1.fffffcp-1023,0,0,0,0,0,0,0}, 356 1.1 joerg {0x1.fffffcp-1023,0x1p-1022,-1,-1,-1,-1,-1,-1,0}, 357 1.1 joerg {0x1.fffffcp-1023,0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 358 1.1 joerg {0x1.fffffcp-1023,0x1p+0,-1,-1,-1,-1,-1,-1,0}, 359 1.1 joerg {0x1.fffffcp-1023,0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 360 1.1 joerg {0x1.fffffcp-1023,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 361 1.1 joerg {0x1.fffffcp-1023,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 362 1.1 joerg {0x1p-1022,__builtin_nan(""),1,-1,-1,1,1,1,1}, 363 1.1 joerg {0x1p-1022,-__builtin_inf(),1,1,1,1,1,1,0}, 364 1.1 joerg {0x1p-1022,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 365 1.1 joerg {0x1p-1022,-0x1p+1,1,1,1,1,1,1,0}, 366 1.1 joerg {0x1p-1022,-0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 367 1.1 joerg {0x1p-1022,-0x1p-1022,1,1,1,1,1,1,0}, 368 1.1 joerg {0x1p-1022,-0x1.fffffcp-1023,1,1,1,1,1,1,0}, 369 1.1 joerg {0x1p-1022,-0x1p-1074,1,1,1,1,1,1,0}, 370 1.1 joerg {0x1p-1022,-0x0p+0,1,1,1,1,1,1,0}, 371 1.1 joerg {0x1p-1022,0x0p+0,1,1,1,1,1,1,0}, 372 1.1 joerg {0x1p-1022,0x1p-1074,1,1,1,1,1,1,0}, 373 1.1 joerg {0x1p-1022,0x1.fffffcp-1023,1,1,1,1,1,1,0}, 374 1.1 joerg {0x1p-1022,0x1p-1022,0,0,0,0,0,0,0}, 375 1.1 joerg {0x1p-1022,0x1.fffffffffffffp-1,-1,-1,-1,-1,-1,-1,0}, 376 1.1 joerg {0x1p-1022,0x1p+0,-1,-1,-1,-1,-1,-1,0}, 377 1.1 joerg {0x1p-1022,0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 378 1.1 joerg {0x1p-1022,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 379 1.1 joerg {0x1p-1022,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 380 1.1 joerg {0x1.fffffffffffffp-1,__builtin_nan(""),1,-1,-1,1,1,1,1}, 381 1.1 joerg {0x1.fffffffffffffp-1,-__builtin_inf(),1,1,1,1,1,1,0}, 382 1.1 joerg {0x1.fffffffffffffp-1,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 383 1.1 joerg {0x1.fffffffffffffp-1,-0x1p+1,1,1,1,1,1,1,0}, 384 1.1 joerg {0x1.fffffffffffffp-1,-0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 385 1.1 joerg {0x1.fffffffffffffp-1,-0x1p-1022,1,1,1,1,1,1,0}, 386 1.1 joerg {0x1.fffffffffffffp-1,-0x1.fffffcp-1023,1,1,1,1,1,1,0}, 387 1.1 joerg {0x1.fffffffffffffp-1,-0x1p-1074,1,1,1,1,1,1,0}, 388 1.1 joerg {0x1.fffffffffffffp-1,-0x0p+0,1,1,1,1,1,1,0}, 389 1.1 joerg {0x1.fffffffffffffp-1,0x0p+0,1,1,1,1,1,1,0}, 390 1.1 joerg {0x1.fffffffffffffp-1,0x1p-1074,1,1,1,1,1,1,0}, 391 1.1 joerg {0x1.fffffffffffffp-1,0x1.fffffcp-1023,1,1,1,1,1,1,0}, 392 1.1 joerg {0x1.fffffffffffffp-1,0x1p-1022,1,1,1,1,1,1,0}, 393 1.1 joerg {0x1.fffffffffffffp-1,0x1.fffffffffffffp-1,0,0,0,0,0,0,0}, 394 1.1 joerg {0x1.fffffffffffffp-1,0x1p+0,-1,-1,-1,-1,-1,-1,0}, 395 1.1 joerg {0x1.fffffffffffffp-1,0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 396 1.1 joerg {0x1.fffffffffffffp-1,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 397 1.1 joerg {0x1.fffffffffffffp-1,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 398 1.1 joerg {0x1p+0,__builtin_nan(""),1,-1,-1,1,1,1,1}, 399 1.1 joerg {0x1p+0,-__builtin_inf(),1,1,1,1,1,1,0}, 400 1.1 joerg {0x1p+0,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 401 1.1 joerg {0x1p+0,-0x1p+1,1,1,1,1,1,1,0}, 402 1.1 joerg {0x1p+0,-0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 403 1.1 joerg {0x1p+0,-0x1p-1022,1,1,1,1,1,1,0}, 404 1.1 joerg {0x1p+0,-0x1.fffffcp-1023,1,1,1,1,1,1,0}, 405 1.1 joerg {0x1p+0,-0x1p-1074,1,1,1,1,1,1,0}, 406 1.1 joerg {0x1p+0,-0x0p+0,1,1,1,1,1,1,0}, 407 1.1 joerg {0x1p+0,0x0p+0,1,1,1,1,1,1,0}, 408 1.1 joerg {0x1p+0,0x1p-1074,1,1,1,1,1,1,0}, 409 1.1 joerg {0x1p+0,0x1.fffffcp-1023,1,1,1,1,1,1,0}, 410 1.1 joerg {0x1p+0,0x1p-1022,1,1,1,1,1,1,0}, 411 1.1 joerg {0x1p+0,0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 412 1.1 joerg {0x1p+0,0x1p+0,0,0,0,0,0,0,0}, 413 1.1 joerg {0x1p+0,0x1.0000000000001p+0,-1,-1,-1,-1,-1,-1,0}, 414 1.1 joerg {0x1p+0,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 415 1.1 joerg {0x1p+0,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 416 1.1 joerg {0x1.0000000000001p+0,__builtin_nan(""),1,-1,-1,1,1,1,1}, 417 1.1 joerg {0x1.0000000000001p+0,-__builtin_inf(),1,1,1,1,1,1,0}, 418 1.1 joerg {0x1.0000000000001p+0,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 419 1.1 joerg {0x1.0000000000001p+0,-0x1p+1,1,1,1,1,1,1,0}, 420 1.1 joerg {0x1.0000000000001p+0,-0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 421 1.1 joerg {0x1.0000000000001p+0,-0x1p-1022,1,1,1,1,1,1,0}, 422 1.1 joerg {0x1.0000000000001p+0,-0x1.fffffcp-1023,1,1,1,1,1,1,0}, 423 1.1 joerg {0x1.0000000000001p+0,-0x1p-1074,1,1,1,1,1,1,0}, 424 1.1 joerg {0x1.0000000000001p+0,-0x0p+0,1,1,1,1,1,1,0}, 425 1.1 joerg {0x1.0000000000001p+0,0x0p+0,1,1,1,1,1,1,0}, 426 1.1 joerg {0x1.0000000000001p+0,0x1p-1074,1,1,1,1,1,1,0}, 427 1.1 joerg {0x1.0000000000001p+0,0x1.fffffcp-1023,1,1,1,1,1,1,0}, 428 1.1 joerg {0x1.0000000000001p+0,0x1p-1022,1,1,1,1,1,1,0}, 429 1.1 joerg {0x1.0000000000001p+0,0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 430 1.1 joerg {0x1.0000000000001p+0,0x1p+0,1,1,1,1,1,1,0}, 431 1.1 joerg {0x1.0000000000001p+0,0x1.0000000000001p+0,0,0,0,0,0,0,0}, 432 1.1 joerg {0x1.0000000000001p+0,0x1.fffffffffffffp+1023,-1,-1,-1,-1,-1,-1,0}, 433 1.1 joerg {0x1.0000000000001p+0,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 434 1.1 joerg {0x1.fffffffffffffp+1023,__builtin_nan(""),1,-1,-1,1,1,1,1}, 435 1.1 joerg {0x1.fffffffffffffp+1023,-__builtin_inf(),1,1,1,1,1,1,0}, 436 1.1 joerg {0x1.fffffffffffffp+1023,-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 437 1.1 joerg {0x1.fffffffffffffp+1023,-0x1p+1,1,1,1,1,1,1,0}, 438 1.1 joerg {0x1.fffffffffffffp+1023,-0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 439 1.1 joerg {0x1.fffffffffffffp+1023,-0x1p-1022,1,1,1,1,1,1,0}, 440 1.1 joerg {0x1.fffffffffffffp+1023,-0x1.fffffcp-1023,1,1,1,1,1,1,0}, 441 1.1 joerg {0x1.fffffffffffffp+1023,-0x1p-1074,1,1,1,1,1,1,0}, 442 1.1 joerg {0x1.fffffffffffffp+1023,-0x0p+0,1,1,1,1,1,1,0}, 443 1.1 joerg {0x1.fffffffffffffp+1023,0x0p+0,1,1,1,1,1,1,0}, 444 1.1 joerg {0x1.fffffffffffffp+1023,0x1p-1074,1,1,1,1,1,1,0}, 445 1.1 joerg {0x1.fffffffffffffp+1023,0x1.fffffcp-1023,1,1,1,1,1,1,0}, 446 1.1 joerg {0x1.fffffffffffffp+1023,0x1p-1022,1,1,1,1,1,1,0}, 447 1.1 joerg {0x1.fffffffffffffp+1023,0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 448 1.1 joerg {0x1.fffffffffffffp+1023,0x1p+0,1,1,1,1,1,1,0}, 449 1.1 joerg {0x1.fffffffffffffp+1023,0x1.0000000000001p+0,1,1,1,1,1,1,0}, 450 1.1 joerg {0x1.fffffffffffffp+1023,0x1.fffffffffffffp+1023,0,0,0,0,0,0,0}, 451 1.1 joerg {0x1.fffffffffffffp+1023,__builtin_inf(),-1,-1,-1,-1,-1,-1,0}, 452 1.1 joerg {__builtin_inf(),__builtin_nan(""),1,-1,-1,1,1,1,1}, 453 1.1 joerg {__builtin_inf(),-__builtin_inf(),1,1,1,1,1,1,0}, 454 1.1 joerg {__builtin_inf(),-0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 455 1.1 joerg {__builtin_inf(),-0x1p+1,1,1,1,1,1,1,0}, 456 1.1 joerg {__builtin_inf(),-0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 457 1.1 joerg {__builtin_inf(),-0x1p-1022,1,1,1,1,1,1,0}, 458 1.1 joerg {__builtin_inf(),-0x1.fffffcp-1023,1,1,1,1,1,1,0}, 459 1.1 joerg {__builtin_inf(),-0x1p-1074,1,1,1,1,1,1,0}, 460 1.1 joerg {__builtin_inf(),-0x0p+0,1,1,1,1,1,1,0}, 461 1.1 joerg {__builtin_inf(),0x0p+0,1,1,1,1,1,1,0}, 462 1.1 joerg {__builtin_inf(),0x1p-1074,1,1,1,1,1,1,0}, 463 1.1 joerg {__builtin_inf(),0x1.fffffcp-1023,1,1,1,1,1,1,0}, 464 1.1 joerg {__builtin_inf(),0x1p-1022,1,1,1,1,1,1,0}, 465 1.1 joerg {__builtin_inf(),0x1.fffffffffffffp-1,1,1,1,1,1,1,0}, 466 1.1 joerg {__builtin_inf(),0x1p+0,1,1,1,1,1,1,0}, 467 1.1 joerg {__builtin_inf(),0x1.0000000000001p+0,1,1,1,1,1,1,0}, 468 1.1 joerg {__builtin_inf(),0x1.fffffffffffffp+1023,1,1,1,1,1,1,0}, 469 1.1 joerg {__builtin_inf(),__builtin_inf(),0,0,0,0,0,0,0}, 470 1.1 joerg }; 471 1.1 joerg 472 1.1 joerg int main(int argc, char *argv[]) { 473 1.1 joerg const int numVectors = sizeof vectors / sizeof vectors[0]; 474 1.1 joerg int i; 475 1.1 joerg for (i = 0; i<numVectors; ++i) { 476 1.1 joerg if (test__cmpdf2(&vectors[i])) return 1; 477 1.1 joerg } 478 1.1 joerg return 0; 479 1.1 joerg } 480