mirror of
https://github.com/ml-explore/mlx.git
synced 2025-12-16 01:49:05 +08:00
Only check nans on non-integral types in simd_reduce_impl.
This commit is contained in:
@@ -186,7 +186,12 @@ struct Max {
|
|||||||
DEFINE_SIMD_REDUCE()
|
DEFINE_SIMD_REDUCE()
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
T simd_reduce_impl(T val) {
|
metal::enable_if_t<metal::is_integral_v<T>, T> simd_reduce_impl(T val) {
|
||||||
|
return simd_max(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
metal::enable_if_t<!metal::is_integral_v<T>, T> simd_reduce_impl(T val) {
|
||||||
if (simd_any(val != val)) {
|
if (simd_any(val != val)) {
|
||||||
return static_cast<T>(NAN);
|
return static_cast<T>(NAN);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user