@@ -317,7 +317,8 @@ mkl_umath_@TYPE@_exp(char **args, const npy_intp *dimensions, const npy_intp *st
317
317
can_vectorize
318
318
,
319
319
const @type@ in1 = *(@type@ *)ip1;
320
- ignore_fpstatus = npy_isnan(in1) || in1 == NPY_INFINITY || in1 == -NPY_INFINITY;
320
+ const int invalid_cases = npy_isnan(in1) || in1 == NPY_INFINITY || in1 == -NPY_INFINITY;
321
+ ignore_fpstatus |= invalid_cases;
321
322
*(@type@ *)op1 = @scalarf@(in1);
322
323
)
323
324
}
@@ -355,7 +356,8 @@ mkl_umath_@TYPE@_exp2(char **args, const npy_intp *dimensions, const npy_intp *s
355
356
can_vectorize
356
357
,
357
358
const @type@ in1 = *(@type@ *)ip1;
358
- ignore_fpstatus = npy_isnan(in1) || in1 == NPY_INFINITY || in1 == -NPY_INFINITY;
359
+ const int invalid_cases = npy_isnan(in1) || in1 == NPY_INFINITY || in1 == -NPY_INFINITY;
360
+ ignore_fpstatus |= invalid_cases;
359
361
*(@type@ *)op1 = @scalarf@(in1);
360
362
)
361
363
}
@@ -492,7 +494,8 @@ mkl_umath_@TYPE@_log2(char **args, const npy_intp *dimensions, const npy_intp *s
492
494
can_vectorize
493
495
,
494
496
const @type@ in1 = *(@type@ *)ip1;
495
- ignore_fpstatus = in1 < 0 || in1 == 0 || npy_isnan(in1) || in1 == -NPY_INFINITY;
497
+ const int invalid_cases = in1 < 0 || in1 == 0 || npy_isnan(in1) || in1 == -NPY_INFINITY;
498
+ ignore_fpstatus |= invalid_cases;
496
499
*(@type@ *)op1 = @scalarf@(in1);
497
500
)
498
501
}
@@ -2122,9 +2125,10 @@ mkl_umath_@TYPE@_remainder(char **args, const npy_intp *dimensions, const npy_in
2122
2125
BINARY_LOOP {
2123
2126
const @type@ in1 = *(@type@ *)ip1;
2124
2127
const @type@ in2 = *(@type@ *)ip2;
2125
- ignore_fpstatus = !npy_isnan(in1) && in2 == 0;
2126
- ignore_fpstatus |= (in1 == NPY_INFINITY || in1 == -NPY_INFINITY) && !npy_isnan(in2);
2127
- ignore_fpstatus |= (in1 != NPY_INFINITY && in1 != -NPY_INFINITY) && (in2 == NPY_INFINITY || in2 == -NPY_INFINITY);
2128
+ int invalid_cases = !npy_isnan(in1) && in2 == 0;
2129
+ invalid_cases |= (in1 == NPY_INFINITY || in1 == -NPY_INFINITY) && !npy_isnan(in2);
2130
+ invalid_cases |= (in1 != NPY_INFINITY && in1 != -NPY_INFINITY) && (in2 == NPY_INFINITY || in2 == -NPY_INFINITY);
2131
+ ignore_fpstatus |= invalid_cases;
2128
2132
divmod@c@(in1, in2, (@type@ *)op1);
2129
2133
}
2130
2134
}
@@ -2666,13 +2670,13 @@ mkl_umath_@TYPE@_conjugate(char **args, const npy_intp *dimensions, const npy_in
2666
2670
CHUNKED_VML_CALL2(v@s@Conj, dimensions[0], @type@, args[0], args[1]);
2667
2671
/* v@s@Conj(dimensions[0], (@type@*) args[0], (@type@*) args[1]); */
2668
2672
} else {
2669
- UNARY_LOOP {
2670
- const @ftype@ in1r = ((@ftype@ *)ip1)[0];
2671
- const @ftype@ in1i = ((@ftype@ *)ip1)[1];
2672
- ((@ftype@ *)op1)[0] = in1r;
2673
- ((@ftype@ *)op1)[1] = -in1i;
2674
- }
2675
- }
2673
+ UNARY_LOOP {
2674
+ const @ftype@ in1r = ((@ftype@ *)ip1)[0];
2675
+ const @ftype@ in1i = ((@ftype@ *)ip1)[1];
2676
+ ((@ftype@ *)op1)[0] = in1r;
2677
+ ((@ftype@ *)op1)[1] = -in1i;
2678
+ }
2679
+ }
2676
2680
}
2677
2681
2678
2682
void
@@ -2691,7 +2695,6 @@ mkl_umath_@TYPE@_absolute(char **args, const npy_intp *dimensions, const npy_int
2691
2695
UNARY_LOOP {
2692
2696
const @ftype@ in1r = ((@ftype@ *)ip1)[0];
2693
2697
const @ftype@ in1i = ((@ftype@ *)ip1)[1];
2694
- ignore_fpstatus = npy_isnan(in1r) && npy_isnan(in1i);
2695
2698
*((@ftype@ *)op1) = hypot@c@(in1r, in1i);
2696
2699
}
2697
2700
}
0 commit comments