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