@@ -57,7 +57,7 @@ void simd_divide_by_scalar_contig_signed(T* src, T scalar, T* dst, npy_intp len)
57
57
}
58
58
}
59
59
else if (scalar == static_cast <T>(-1 )) {
60
- const auto vec_min_val = Set (static_cast <T>(std::numeric_limits<T>::min ()));
60
+ const auto vec_min_val = Set (d, static_cast <T>(std::numeric_limits<T>::min ()));
61
61
size_t i = 0 ;
62
62
for (; i + N <= static_cast <size_t >(len); i += N) {
63
63
const auto vec_src = LoadU (src + i);
@@ -81,8 +81,8 @@ void simd_divide_by_scalar_contig_signed(T* src, T scalar, T* dst, npy_intp len)
81
81
}
82
82
else {
83
83
// General case with floor division semantics
84
- const auto vec_scalar = Set (scalar);
85
- const auto one = Set (static_cast <T>(1 ));
84
+ const auto vec_scalar = Set (d, scalar);
85
+ const auto one = Set (d, static_cast <T>(1 ));
86
86
const auto vec_zero = Xor (one, one);
87
87
size_t i = 0 ;
88
88
@@ -157,10 +157,10 @@ void simd_divide_contig_signed(T* src1, T* src2, T* dst, npy_intp len) {
157
157
158
158
bool raise_overflow = false ;
159
159
bool raise_divbyzero = false ;
160
- const auto vec_one = Set (static_cast <T>(1 ));
160
+ const auto vec_one = Set (d, static_cast <T>(1 ));
161
161
const auto vec_zero = Xor (vec_one, vec_one);
162
- const auto vec_min_val = Set (static_cast <T>(std::numeric_limits<T>::min ()));
163
- const auto vec_neg_one = Set (static_cast <T>(-1 ));
162
+ const auto vec_min_val = Set (d, static_cast <T>(std::numeric_limits<T>::min ()));
163
+ const auto vec_neg_one = Set (d, static_cast <T>(-1 ));
164
164
165
165
size_t i = 0 ;
166
166
for (; i + N <= static_cast <size_t >(len); i += N) {
@@ -237,7 +237,7 @@ void simd_divide_contig_unsigned(T* src1, T* src2, T* dst, npy_intp len) {
237
237
const size_t N = Lanes (T{});
238
238
239
239
bool raise_divbyzero = false ;
240
- const auto vec_one = Set (static_cast <T>(1 ));
240
+ const auto vec_one = Set (d, static_cast <T>(1 ));
241
241
const auto vec_zero = Xor (vec_one, vec_one);
242
242
243
243
size_t i = 0 ;
0 commit comments