@@ -226,7 +226,7 @@ namespace hlsl
226226 uint64_t sign = (data ^ rhs.data) & ieee754::traits<float64_t>::signMask;
227227 if (!FastMath)
228228 {
229- if (cpp_compat_intrinsics_impl::isnan_uint_impl (data) || cpp_compat_intrinsics_impl::isinf_uint_impl (rhs.data))
229+ if (cpp_compat_intrinsics_impl::isnan_uint_impl (data) || cpp_compat_intrinsics_impl::isnan_uint_impl (rhs.data))
230230 return bit_cast<this_t>(ieee754::traits<float64_t>::quietNaN | sign);
231231 if (cpp_compat_intrinsics_impl::isinf_uint_impl (data) || cpp_compat_intrinsics_impl::isinf_uint_impl (rhs.data))
232232 return bit_cast<this_t>(ieee754::traits<float64_t>::inf | sign);
@@ -289,7 +289,7 @@ namespace hlsl
289289
290290 if (!FastMath)
291291 {
292- if (cpp_compat_intrinsics_impl::isinf_uint_impl <uint64_t>(data) || cpp_compat_intrinsics_impl::isinf_uint_impl <uint64_t>(rhs.data))
292+ if (cpp_compat_intrinsics_impl::isnan_uint_impl <uint64_t>(data) || cpp_compat_intrinsics_impl::isnan_uint_impl <uint64_t>(rhs.data))
293293 return bit_cast<this_t>(ieee754::traits<float64_t>::quietNaN);
294294 if (emulated_float64_t_impl::areBothZero (data, rhs.data))
295295 return bit_cast<this_t>(ieee754::traits<float64_t>::quietNaN | sign);
@@ -346,7 +346,7 @@ namespace hlsl
346346 {
347347 if (!FastMath)
348348 {
349- if (cpp_compat_intrinsics_impl::isinf_uint_impl <uint64_t>(data) || cpp_compat_intrinsics_impl::isinf_uint_impl <uint64_t>(rhs.data))
349+ if (cpp_compat_intrinsics_impl::isnan_uint_impl <uint64_t>(data) || cpp_compat_intrinsics_impl::isnan_uint_impl <uint64_t>(rhs.data))
350350 return false ;
351351 if (emulated_float64_t_impl::areBothZero (data, rhs.data))
352352 return true ;
@@ -356,7 +356,7 @@ namespace hlsl
356356 }
357357 bool operator!=(this_t rhs) NBL_CONST_MEMBER_FUNC
358358 {
359- if (!FastMath && (cpp_compat_intrinsics_impl::isinf_uint_impl <uint64_t>(data) || cpp_compat_intrinsics_impl::isinf_uint_impl <uint64_t>(rhs.data)))
359+ if (!FastMath && (cpp_compat_intrinsics_impl::isnan_uint_impl <uint64_t>(data) || cpp_compat_intrinsics_impl::isnan_uint_impl <uint64_t>(rhs.data)))
360360 return false ;
361361
362362 return !(bit_cast<this_t>(data) == rhs);
@@ -371,14 +371,14 @@ namespace hlsl
371371 }
372372 bool operator<=(this_t rhs) NBL_CONST_MEMBER_FUNC
373373 {
374- if (!FastMath && (cpp_compat_intrinsics_impl::isinf_uint_impl <uint64_t>(data) || cpp_compat_intrinsics_impl::isinf_uint_impl <uint64_t>(rhs.data)))
374+ if (!FastMath && (cpp_compat_intrinsics_impl::isnan_uint_impl <uint64_t>(data) || cpp_compat_intrinsics_impl::isnan_uint_impl <uint64_t>(rhs.data)))
375375 return false ;
376376
377377 return !(bit_cast<this_t>(data) > bit_cast<this_t>(rhs.data));
378378 }
379379 bool operator>=(this_t rhs)
380380 {
381- if (!FastMath && (cpp_compat_intrinsics_impl::isinf_uint_impl <uint64_t>(data) || cpp_compat_intrinsics_impl::isinf_uint_impl <uint64_t>(rhs.data)))
381+ if (!FastMath && (cpp_compat_intrinsics_impl::isnan_uint_impl <uint64_t>(data) || cpp_compat_intrinsics_impl::isnan_uint_impl <uint64_t>(rhs.data)))
382382 return false ;
383383
384384 return !(bit_cast<this_t>(data) < bit_cast<this_t>(rhs.data));
0 commit comments