Skip to content

Commit 896a087

Browse files
use XOR instead of Zero
1 parent fce8700 commit 896a087

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

numpy/_core/src/umath/loops_arithmetic.dispatch.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ void simd_divide_by_scalar_contig_signed(T* src, T scalar, T* dst, npy_intp len)
8282
else {
8383
// General case with floor division semantics
8484
const auto vec_scalar = Set(scalar);
85-
const auto vec_zero = Zero<T>();
8685
const auto one = Set(static_cast<T>(1));
86+
const auto vec_zero = Xor(one, one);
8787
size_t i = 0;
8888

8989
for (; i + N <= static_cast<size_t>(len); i += N) {
@@ -157,8 +157,8 @@ void simd_divide_contig_signed(T* src1, T* src2, T* dst, npy_intp len) {
157157

158158
bool raise_overflow = false;
159159
bool raise_divbyzero = false;
160-
const auto vec_zero = Zero<T>();
161160
const auto vec_one = Set(static_cast<T>(1));
161+
const auto vec_zero = Xor(vec_one, vec_one);
162162
const auto vec_min_val = Set(static_cast<T>(std::numeric_limits<T>::min()));
163163
const auto vec_neg_one = Set(static_cast<T>(-1));
164164

@@ -237,8 +237,8 @@ void simd_divide_contig_unsigned(T* src1, T* src2, T* dst, npy_intp len) {
237237
const size_t N = Lanes(T{});
238238

239239
bool raise_divbyzero = false;
240-
const auto vec_zero = Zero<T>();
241240
const auto vec_one = Set(static_cast<T>(1));
241+
const auto vec_zero = Xor(vec_one, vec_one);
242242

243243
size_t i = 0;
244244
for (; i + N <= static_cast<size_t>(len); i += N) {

0 commit comments

Comments
 (0)