|
1 | | -#include <fenv.h> |
2 | | -#include <float.h> |
| 1 | +#ifdef HAVE_NUMPY |
| 2 | +#include <numpy/npy_3kcompat.h> |
| 3 | +#include <numpy/npy_math.h> |
| 4 | +#else |
3 | 5 | #include <stdio.h> |
4 | 6 | #include <math.h> |
5 | 7 | #ifdef __SUNPRO_CC |
6 | 8 | #include <sunmath.h> |
7 | 9 | #endif |
8 | 10 | #include <complex.h> |
| 11 | +#endif |
| 12 | + |
| 13 | +#include <float.h> |
9 | 14 |
|
10 | 15 | #define PYTESTPRECISION 1 |
11 | 16 | #define PYTESTFUNC 1 |
|
154 | 159 | FMT "j\n", __LINE__, xr, xi, er1, ei1, er2, ei2, er3, ei3, er4, ei4, \ |
155 | 160 | rr, ri)) |
156 | 161 |
|
| 162 | +#define TEST_RAISES_FAILED(func, xr, xi, er, ei, rr, ri, efpe, rfpe) \ |
| 163 | + TEST_FAILED_INT(PyOS_snprintf(buf, bsize, "%d: " STRINGIZE(func) \ |
| 164 | + "(" FMT " + " FMT "j): expected: " FMT " + " FMT "j: received: " FMT \ |
| 165 | + " + " FMT "j, required FPE: %d, recieved: %d\n", __LINE__, xr, xi, \ |
| 166 | + er, ei, rr, ri, efpe, rfpe)) |
| 167 | + |
| 168 | +#define TEST_RAISES_FAILED2(func, xr, xi, er1, ei1, er2, ei2, rr, ri, efpe, rfpe) \ |
| 169 | + TEST_FAILED_INT(PyOS_snprintf(buf, bsize, "%d: " STRINGIZE(func) \ |
| 170 | + "(" FMT " + " FMT "j): expected: " FMT " + " FMT "j or " FMT " + " FMT \ |
| 171 | + "j: received: " FMT " + " FMT "j, required FPE: %d, recieved: %d\n", \ |
| 172 | + __LINE__, xr, xi, er1, ei1, er2, ei2, rr, ri, efpe, rfpe)) |
| 173 | + |
157 | 174 | #define TEST_CPOW_FAILED(func, xr, xi, yr, yi, er, ei, rr, ri) \ |
158 | 175 | TEST_FAILED_INT(PyOS_snprintf(buf, bsize, "%d: " STRINGIZE(func) "(" FMT \ |
159 | 176 | " + " FMT "j, " FMT " + " FMT "j): expected: " FMT " + " FMT \ |
|
239 | 256 | #define NPY_PI_2l 1.570796326794896619231321691639751442L /* pi/2 */ |
240 | 257 | #define NPY_SQRT2l 1.414213562373095048801688724209698079L /* sqrt(2) */ |
241 | 258 |
|
| 259 | +#define NPY_FPE_DIVIDEBYZERO 1 |
| 260 | +#define NPY_FPE_OVERFLOW 2 |
| 261 | +#define NPY_FPE_UNDERFLOW 4 |
| 262 | +#define NPY_FPE_INVALID 8 |
| 263 | + |
| 264 | +/* Including this directly is the easiest way to get npy_clear_floatstatus and |
| 265 | + * npy_get_float_status during config tests. Defining CONFIG_TESTS makes this |
| 266 | + * independent of numpy. |
| 267 | + */ |
| 268 | +#define CONFIG_TESTS |
| 269 | +#include <fpstatus.c> |
| 270 | + |
242 | 271 | #define PREFIX |
243 | 272 |
|
244 | 273 | #define RETTYPE int |
|
273 | 302 | } \ |
274 | 303 | while(0) |
275 | 304 |
|
| 305 | +#define TEST_RAISES_FAILED(func, xr, xi, er, ei, rr, ri, efpe, rfpe) \ |
| 306 | + do { \ |
| 307 | + ret = 0; \ |
| 308 | + printf("%d: " STRINGIZE(func) "(" FMT " + " FMT "j): expected: " FMT \ |
| 309 | + " + " FMT "j: received: " FMT " + " FMT "j, required FPE: %d, " \ |
| 310 | + "recieved: %d\n", __LINE__, xr, xi, er, ei, rr, ri, efpe, rfpe); \ |
| 311 | + } \ |
| 312 | + while(0) |
| 313 | + |
| 314 | +#define TEST_RAISES_FAILED2(func, xr, xi, er1, ei1, er2, ei2, rr, ri, efpe, rfpe) \ |
| 315 | + do { \ |
| 316 | + ret = 0; \ |
| 317 | + printf("%d: " STRINGIZE(func) "(" FMT " + " FMT "j): expected: " FMT \ |
| 318 | + " + " FMT "j or " FMT " + " FMT "j: received: " FMT " + " FMT \ |
| 319 | + "j, required FPE: %d, recieved: %d\n", __LINE__, xr, xi, er1, \ |
| 320 | + ei1, er2, ei2, rr, ri, efpe, rfpe); \ |
| 321 | + } \ |
| 322 | + while(0) |
| 323 | + |
276 | 324 | #define TEST_CPOW_FAILED(func, xr, xi, yr, yi, er, ei, rr, ri) \ |
277 | 325 | do { \ |
278 | 326 | ret = 0; \ |
|
440 | 488 | CTYPE r; \ |
441 | 489 | CTYPE x = FUNC(cpack)(xr, xi); \ |
442 | 490 | TYPE rr, ri; \ |
443 | | - feclearexcept(FE_ALL_EXCEPT); \ |
| 491 | + npy_clear_floatstatus(); \ |
444 | 492 | r = FUNC(func)(x); \ |
445 | | - except = fetestexcept(fpe); \ |
| 493 | + except = npy_get_floatstatus(); \ |
446 | 494 | rr = FUNC(creal)(r); \ |
447 | 495 | ri = FUNC(cimag)(r); \ |
448 | 496 | if (!(except & fpe && ADDSUFFIX(isequal)(rr, der) \ |
449 | 497 | && ADDSUFFIX(isequal)(ri, dei))) { \ |
450 | | - TEST_FAILED(FUNC(func), dxr, dxi, der, dei, rr, ri); \ |
| 498 | + TEST_RAISES_FAILED(FUNC(func), dxr, dxi, der, dei, rr, ri, fpe, except); \ |
451 | 499 | } \ |
452 | 500 | } \ |
453 | 501 | while(0) |
|
464 | 512 | CTYPE r; \ |
465 | 513 | CTYPE x = FUNC(cpack)(xr, xi); \ |
466 | 514 | TYPE rr, ri; \ |
467 | | - feclearexcept(FE_ALL_EXCEPT); \ |
| 515 | + npy_clear_floatstatus(); \ |
468 | 516 | r = FUNC(func)(x); \ |
469 | | - except = fetestexcept(fpe); \ |
| 517 | + except = npy_get_floatstatus(); \ |
470 | 518 | rr = FUNC(creal)(r); \ |
471 | 519 | ri = FUNC(cimag)(r); \ |
472 | 520 | if (!(except & fpe && \ |
473 | 521 | ((ADDSUFFIX(isequal)(rr, der1) && ADDSUFFIX(isequal)(ri, dei1)) || \ |
474 | 522 | (ADDSUFFIX(isequal)(rr, der2) && ADDSUFFIX(isequal)(ri, dei2))))) {\ |
475 | | - TEST_FAILED2(FUNC(func), dxr, dxi, der1, dei1, der2, dei2, rr, ri);\ |
| 523 | + TEST_RAISES_FAILED2(FUNC(func), dxr, dxi, der1, dei1, der2, dei2, rr, ri, fpe, except);\ |
476 | 524 | } \ |
477 | 525 | } \ |
478 | 526 | while(0) |
@@ -828,10 +876,10 @@ RETTYPE ADDSUFFIX(test_catan)(void) |
828 | 876 | TEST_EE(catan, NAN, 0, NAN, 0); |
829 | 877 | TEST_EE(catan, NAN, NZERO, NAN, NZERO); |
830 | 878 |
|
831 | | - TEST_RAISES(catan, NZERO, 1, NZERO, INFINITY, FE_DIVBYZERO); |
832 | | - TEST_RAISES(catan, 0, 1, 0, INFINITY, FE_DIVBYZERO); |
833 | | - TEST_RAISES(catan, NZERO, -1, NZERO, -INFINITY, FE_DIVBYZERO); |
834 | | - TEST_RAISES(catan, 0, -1, 0, -INFINITY, FE_DIVBYZERO); |
| 879 | + TEST_RAISES(catan, NZERO, 1, NZERO, INFINITY, NPY_FPE_DIVIDEBYZERO); |
| 880 | + TEST_RAISES(catan, 0, 1, 0, INFINITY, NPY_FPE_DIVIDEBYZERO); |
| 881 | + TEST_RAISES(catan, NZERO, -1, NZERO, -INFINITY, NPY_FPE_DIVIDEBYZERO); |
| 882 | + TEST_RAISES(catan, 0, -1, 0, -INFINITY, NPY_FPE_DIVIDEBYZERO); |
835 | 883 |
|
836 | 884 | TEST_CE(catan, -INFINITY, 2.0, -ADDSUFFIX(NPY_PI_2), 0); |
837 | 885 | TEST_CE(catan, INFINITY, 2.0, ADDSUFFIX(NPY_PI_2), 0); |
@@ -1006,10 +1054,10 @@ RETTYPE ADDSUFFIX(test_catanh)(void) |
1006 | 1054 | TEST_EE(catanh, 0, NAN, 0, NAN); |
1007 | 1055 | TEST_EE(catanh, NZERO, NAN, NZERO, NAN); |
1008 | 1056 |
|
1009 | | - TEST_RAISES(catanh, 1, 0, INFINITY, 0, FE_DIVBYZERO); |
1010 | | - TEST_RAISES(catanh, 1, NZERO, INFINITY, NZERO, FE_DIVBYZERO); |
1011 | | - TEST_RAISES(catanh, -1, 0, -INFINITY, 0, FE_DIVBYZERO); |
1012 | | - TEST_RAISES(catanh, -1, NZERO, -INFINITY, NZERO, FE_DIVBYZERO); |
| 1057 | + TEST_RAISES(catanh, 1, 0, INFINITY, 0, NPY_FPE_DIVIDEBYZERO); |
| 1058 | + TEST_RAISES(catanh, 1, NZERO, INFINITY, NZERO, NPY_FPE_DIVIDEBYZERO); |
| 1059 | + TEST_RAISES(catanh, -1, 0, -INFINITY, 0, NPY_FPE_DIVIDEBYZERO); |
| 1060 | + TEST_RAISES(catanh, -1, NZERO, -INFINITY, NZERO, NPY_FPE_DIVIDEBYZERO); |
1013 | 1061 |
|
1014 | 1062 | TEST_EC(catanh, 2.0, INFINITY, 0, ADDSUFFIX(NPY_PI_2)); |
1015 | 1063 | TEST_EC(catanh, 2.0, -INFINITY, 0, -ADDSUFFIX(NPY_PI_2)); |
@@ -1071,16 +1119,16 @@ RETTYPE ADDSUFFIX(test_ccos)(void) |
1071 | 1119 |
|
1072 | 1120 | /* sign of imaginary part is unspecified */ |
1073 | 1121 | TEST_RAISES_UNSPECIFIED2(ccos, -INFINITY, 0, NAN, 0, \ |
1074 | | - NAN, NZERO, FE_INVALID); |
| 1122 | + NAN, NZERO, NPY_FPE_INVALID); |
1075 | 1123 |
|
1076 | 1124 | /* sign of imaginary part is unspecified */ |
1077 | 1125 | TEST_UNSPECIFIED2(ccos, NAN, 0, NAN, 0, NAN, NZERO); |
1078 | 1126 | TEST_UNSPECIFIED2(ccos, NAN, NZERO, NAN, 0, NAN, NZERO); |
1079 | 1127 |
|
1080 | | - TEST_RAISES(ccos, -INFINITY, 2.0, NAN, NAN, FE_INVALID); |
1081 | | - TEST_RAISES(ccos, INFINITY, 2.0, NAN, NAN, FE_INVALID); |
1082 | | - TEST_RAISES(ccos, -INFINITY, -2.0, NAN, NAN, FE_INVALID); |
1083 | | - TEST_RAISES(ccos, INFINITY, -2.0, NAN, NAN, FE_INVALID); |
| 1128 | + TEST_RAISES(ccos, -INFINITY, 2.0, NAN, NAN, NPY_FPE_INVALID); |
| 1129 | + TEST_RAISES(ccos, INFINITY, 2.0, NAN, NAN, NPY_FPE_INVALID); |
| 1130 | + TEST_RAISES(ccos, -INFINITY, -2.0, NAN, NAN, NPY_FPE_INVALID); |
| 1131 | + TEST_RAISES(ccos, INFINITY, -2.0, NAN, NAN, NPY_FPE_INVALID); |
1084 | 1132 |
|
1085 | 1133 | /* can raise FE_INVALID or not */ |
1086 | 1134 | TEST_EE(ccos, NAN, 2.0, NAN, NAN); |
@@ -1110,7 +1158,7 @@ RETTYPE ADDSUFFIX(test_ccos)(void) |
1110 | 1158 |
|
1111 | 1159 | /* sign of real part is unspecified */ |
1112 | 1160 | TEST_RAISES_UNSPECIFIED2(ccos, -INFINITY, INFINITY, INFINITY, NAN, \ |
1113 | | - -INFINITY, NAN, FE_INVALID); |
| 1161 | + -INFINITY, NAN, NPY_FPE_INVALID); |
1114 | 1162 |
|
1115 | 1163 | TEST_EE(ccos, NAN, INFINITY, INFINITY, NAN); |
1116 | 1164 | TEST_EE(ccos, NAN, -INFINITY, INFINITY, NAN); |
@@ -1143,16 +1191,16 @@ RETTYPE ADDSUFFIX(test_csin)(void) |
1143 | 1191 |
|
1144 | 1192 | /* sign of imaginary part is unspecified */ |
1145 | 1193 | TEST_RAISES_UNSPECIFIED2(csin, -INFINITY, 0, NAN, 0, \ |
1146 | | - NAN, NZERO, FE_INVALID); |
| 1194 | + NAN, NZERO, NPY_FPE_INVALID); |
1147 | 1195 |
|
1148 | 1196 | /* sign of imaginary part is unspecified */ |
1149 | 1197 | TEST_UNSPECIFIED2(csin, NAN, 0, NAN, 0, NAN, NZERO); |
1150 | 1198 | TEST_UNSPECIFIED2(csin, NAN, NZERO, NAN, 0, NAN, NZERO); |
1151 | 1199 |
|
1152 | | - TEST_RAISES(csin, -INFINITY, 2.0, NAN, NAN, FE_INVALID); |
1153 | | - TEST_RAISES(csin, INFINITY, 2.0, NAN, NAN, FE_INVALID); |
1154 | | - TEST_RAISES(csin, -INFINITY, -2.0, NAN, NAN, FE_INVALID); |
1155 | | - TEST_RAISES(csin, INFINITY, -2.0, NAN, NAN, FE_INVALID); |
| 1200 | + TEST_RAISES(csin, -INFINITY, 2.0, NAN, NAN, NPY_FPE_INVALID); |
| 1201 | + TEST_RAISES(csin, INFINITY, 2.0, NAN, NAN, NPY_FPE_INVALID); |
| 1202 | + TEST_RAISES(csin, -INFINITY, -2.0, NAN, NAN, NPY_FPE_INVALID); |
| 1203 | + TEST_RAISES(csin, INFINITY, -2.0, NAN, NAN, NPY_FPE_INVALID); |
1156 | 1204 |
|
1157 | 1205 | /* can raise FE_INVALID or not */ |
1158 | 1206 | TEST_EE(csin, NAN, 2.0, NAN, NAN); |
@@ -1182,7 +1230,7 @@ RETTYPE ADDSUFFIX(test_csin)(void) |
1182 | 1230 |
|
1183 | 1231 | /* sign of imaginary part is unspecified */ |
1184 | 1232 | TEST_RAISES_UNSPECIFIED2(csin, -INFINITY, INFINITY, NAN, INFINITY, \ |
1185 | | - NAN, -INFINITY, FE_INVALID); |
| 1233 | + NAN, -INFINITY, NPY_FPE_INVALID); |
1186 | 1234 |
|
1187 | 1235 | /* sign of imaginary part is unspecified */ |
1188 | 1236 | TEST_UNSPECIFIED2(csin, NAN, INFINITY, NAN, INFINITY, NAN, -INFINITY); |
@@ -1213,8 +1261,8 @@ RETTYPE ADDSUFFIX(test_ctan)(void) |
1213 | 1261 | TEST_EE(ctan, NZERO, 0, NZERO, 0); |
1214 | 1262 | TEST_EE(ctan, NZERO, NZERO, NZERO, NZERO); |
1215 | 1263 |
|
1216 | | - TEST_RAISES(ctan, -INFINITY, 2.0, NAN, NAN, FE_INVALID); |
1217 | | - TEST_RAISES(ctan, -INFINITY, -2.0, NAN, NAN, FE_INVALID); |
| 1264 | + TEST_RAISES(ctan, -INFINITY, 2.0, NAN, NAN, NPY_FPE_INVALID); |
| 1265 | + TEST_RAISES(ctan, -INFINITY, -2.0, NAN, NAN, NPY_FPE_INVALID); |
1218 | 1266 |
|
1219 | 1267 | /* can raise FE_INVALID or not */ |
1220 | 1268 | TEST_EE(ctan, NAN, 2.0, NAN, NAN); |
@@ -1269,16 +1317,16 @@ RETTYPE ADDSUFFIX(test_ccosh)(void) |
1269 | 1317 |
|
1270 | 1318 | /* sign of imaginary part is unspecified */ |
1271 | 1319 | TEST_RAISES_UNSPECIFIED2(ccosh, 0, INFINITY, NAN, 0, \ |
1272 | | - NAN, NZERO, FE_INVALID); |
| 1320 | + NAN, NZERO, NPY_FPE_INVALID); |
1273 | 1321 |
|
1274 | 1322 | /* sign of imaginary part is unspecified */ |
1275 | 1323 | TEST_UNSPECIFIED2(ccosh, 0, NAN, NAN, 0, NAN, NZERO); |
1276 | 1324 | TEST_UNSPECIFIED2(ccosh, NZERO, NAN, NAN, 0, NAN, NZERO); |
1277 | 1325 |
|
1278 | | - TEST_RAISES(ccosh, 2.0, INFINITY, NAN, NAN, FE_INVALID); |
1279 | | - TEST_RAISES(ccosh, 2.0, -INFINITY, NAN, NAN, FE_INVALID); |
1280 | | - TEST_RAISES(ccosh, -2.0, INFINITY, NAN, NAN, FE_INVALID); |
1281 | | - TEST_RAISES(ccosh, -2.0, -INFINITY, NAN, NAN, FE_INVALID); |
| 1326 | + TEST_RAISES(ccosh, 2.0, INFINITY, NAN, NAN, NPY_FPE_INVALID); |
| 1327 | + TEST_RAISES(ccosh, 2.0, -INFINITY, NAN, NAN, NPY_FPE_INVALID); |
| 1328 | + TEST_RAISES(ccosh, -2.0, INFINITY, NAN, NAN, NPY_FPE_INVALID); |
| 1329 | + TEST_RAISES(ccosh, -2.0, -INFINITY, NAN, NAN, NPY_FPE_INVALID); |
1282 | 1330 |
|
1283 | 1331 | /* can raise FE_INVALID or not */ |
1284 | 1332 | TEST_EE(ccosh, 2.0, NAN, NAN, NAN); |
@@ -1308,7 +1356,7 @@ RETTYPE ADDSUFFIX(test_ccosh)(void) |
1308 | 1356 |
|
1309 | 1357 | /* sign of real part is unspecified */ |
1310 | 1358 | TEST_RAISES_UNSPECIFIED2(ccosh, INFINITY, INFINITY, INFINITY, NAN, \ |
1311 | | - -INFINITY, NAN, FE_INVALID); |
| 1359 | + -INFINITY, NAN, NPY_FPE_INVALID); |
1312 | 1360 |
|
1313 | 1361 | TEST_EE(ccosh, INFINITY, NAN, INFINITY, NAN); |
1314 | 1362 | TEST_EE(ccosh, -INFINITY, NAN, INFINITY, NAN); |
@@ -1341,16 +1389,16 @@ RETTYPE ADDSUFFIX(test_csinh)(void) |
1341 | 1389 |
|
1342 | 1390 | /* sign of real part is unspecified */ |
1343 | 1391 | TEST_RAISES_UNSPECIFIED2(csinh, 0, INFINITY, 0, NAN, \ |
1344 | | - NZERO, NAN, FE_INVALID); |
| 1392 | + NZERO, NAN, NPY_FPE_INVALID); |
1345 | 1393 |
|
1346 | 1394 | /* sign of real part is unspecified */ |
1347 | 1395 | TEST_UNSPECIFIED2(csinh, 0, NAN, 0, NAN, NZERO, NAN); |
1348 | 1396 | TEST_UNSPECIFIED2(csinh, NZERO, NAN, 0, NAN, NZERO, NAN); |
1349 | 1397 |
|
1350 | | - TEST_RAISES(csinh, 2.0, INFINITY, NAN, NAN, FE_INVALID); |
1351 | | - TEST_RAISES(csinh, 2.0, -INFINITY, NAN, NAN, FE_INVALID); |
1352 | | - TEST_RAISES(csinh, -2.0, INFINITY, NAN, NAN, FE_INVALID); |
1353 | | - TEST_RAISES(csinh, -2.0, -INFINITY, NAN, NAN, FE_INVALID); |
| 1398 | + TEST_RAISES(csinh, 2.0, INFINITY, NAN, NAN, NPY_FPE_INVALID); |
| 1399 | + TEST_RAISES(csinh, 2.0, -INFINITY, NAN, NAN, NPY_FPE_INVALID); |
| 1400 | + TEST_RAISES(csinh, -2.0, INFINITY, NAN, NAN, NPY_FPE_INVALID); |
| 1401 | + TEST_RAISES(csinh, -2.0, -INFINITY, NAN, NAN, NPY_FPE_INVALID); |
1354 | 1402 |
|
1355 | 1403 | /* can raise FE_INVALID or not */ |
1356 | 1404 | TEST_EE(csinh, 2.0, NAN, NAN, NAN); |
@@ -1380,7 +1428,7 @@ RETTYPE ADDSUFFIX(test_csinh)(void) |
1380 | 1428 |
|
1381 | 1429 | /* sign of real part is unspecified */ |
1382 | 1430 | TEST_RAISES_UNSPECIFIED2(csinh, INFINITY, INFINITY, INFINITY, NAN, \ |
1383 | | - -INFINITY, NAN, FE_INVALID); |
| 1431 | + -INFINITY, NAN, NPY_FPE_INVALID); |
1384 | 1432 |
|
1385 | 1433 | /* sign of real part is unspecified */ |
1386 | 1434 | TEST_UNSPECIFIED2(csinh, INFINITY, NAN, INFINITY, NAN, -INFINITY, NAN); |
@@ -1411,8 +1459,8 @@ RETTYPE ADDSUFFIX(test_ctanh)(void) |
1411 | 1459 | TEST_EE(ctanh, NZERO, 0, NZERO, 0); |
1412 | 1460 | TEST_EE(ctanh, NZERO, NZERO, NZERO, NZERO); |
1413 | 1461 |
|
1414 | | - TEST_RAISES(ctanh, 2.0, INFINITY, NAN, NAN, FE_INVALID); |
1415 | | - TEST_RAISES(ctanh, -2.0, INFINITY, NAN, NAN, FE_INVALID); |
| 1462 | + TEST_RAISES(ctanh, 2.0, INFINITY, NAN, NAN, NPY_FPE_INVALID); |
| 1463 | + TEST_RAISES(ctanh, -2.0, INFINITY, NAN, NAN, NPY_FPE_INVALID); |
1416 | 1464 |
|
1417 | 1465 | /* can raise FE_INVALID or not */ |
1418 | 1466 | TEST_EE(ctanh, 2.0, NAN, NAN, NAN); |
@@ -1466,8 +1514,8 @@ RETTYPE ADDSUFFIX(test_cexp)(void) |
1466 | 1514 | TEST_EE(cexp, NZERO, 0, 1, 0); |
1467 | 1515 | TEST_EE(cexp, NZERO, NZERO, 1, NZERO); |
1468 | 1516 |
|
1469 | | - TEST_RAISES(cexp, 2.0, INFINITY, NAN, NAN, FE_INVALID); |
1470 | | - TEST_RAISES(cexp, 2.0, -INFINITY, NAN, NAN, FE_INVALID); |
| 1517 | + TEST_RAISES(cexp, 2.0, INFINITY, NAN, NAN, NPY_FPE_INVALID); |
| 1518 | + TEST_RAISES(cexp, 2.0, -INFINITY, NAN, NAN, NPY_FPE_INVALID); |
1471 | 1519 |
|
1472 | 1520 | /* can raise FE_INVALID or not */ |
1473 | 1521 | TEST_EE(cexp, 42.0, NAN, NAN, NAN); |
@@ -1501,7 +1549,7 @@ RETTYPE ADDSUFFIX(test_cexp)(void) |
1501 | 1549 |
|
1502 | 1550 | /* sign of real part is unspecifed */ |
1503 | 1551 | TEST_RAISES_UNSPECIFIED2(cexp, INFINITY, INFINITY, INFINITY, \ |
1504 | | - NAN, -INFINITY, NAN, FE_INVALID); |
| 1552 | + NAN, -INFINITY, NAN, NPY_FPE_INVALID); |
1505 | 1553 |
|
1506 | 1554 | /* signs of both parts are unspecified */ |
1507 | 1555 | TEST_UNSPECIFIED4(cexp, -INFINITY, NAN, 0, 0, NZERO, 0, \ |
@@ -1534,11 +1582,11 @@ RETTYPE ADDSUFFIX(test_clog)(void) |
1534 | 1582 | { |
1535 | 1583 | INIT_FUNC(); |
1536 | 1584 | /* clog(conj(z)) = conj(clog(z)) */ |
1537 | | - TEST_RAISES(clog, NZERO, 0, -INFINITY, ADDSUFFIX(NPY_PI), FE_DIVBYZERO); |
1538 | | - TEST_RAISES(clog, NZERO, NZERO, -INFINITY, -ADDSUFFIX(NPY_PI), FE_DIVBYZERO); |
| 1585 | + TEST_RAISES(clog, NZERO, 0, -INFINITY, ADDSUFFIX(NPY_PI), NPY_FPE_DIVIDEBYZERO); |
| 1586 | + TEST_RAISES(clog, NZERO, NZERO, -INFINITY, -ADDSUFFIX(NPY_PI), NPY_FPE_DIVIDEBYZERO); |
1539 | 1587 |
|
1540 | | - TEST_RAISES(clog, 0, 0, -INFINITY, 0, FE_DIVBYZERO); |
1541 | | - TEST_RAISES(clog, 0, NZERO, -INFINITY, NZERO, FE_DIVBYZERO); |
| 1588 | + TEST_RAISES(clog, 0, 0, -INFINITY, 0, NPY_FPE_DIVIDEBYZERO); |
| 1589 | + TEST_RAISES(clog, 0, NZERO, -INFINITY, NZERO, NPY_FPE_DIVIDEBYZERO); |
1542 | 1590 |
|
1543 | 1591 | TEST_EC(clog, 2.0, INFINITY, INFINITY, ADDSUFFIX(NPY_PI_2)); |
1544 | 1592 | TEST_EC(clog, 2.0, -INFINITY, INFINITY, -ADDSUFFIX(NPY_PI_2)); |
|
0 commit comments