From ae68e018a053771f0be3b0fbbc0a6a5403a742e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Fri, 2 Jun 2023 09:57:18 -0700 Subject: [PATCH] MSVC: Fixed bx::signbit. --- include/bx/inline/math.inl | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/include/bx/inline/math.inl b/include/bx/inline/math.inl index 055cf8a..db5535f 100644 --- a/include/bx/inline/math.inl +++ b/include/bx/inline/math.inl @@ -11,6 +11,7 @@ #include #include +#include namespace bx { @@ -140,18 +141,13 @@ namespace bx inline BX_CONSTEXPR_FUNC bool signbit(float _a) { -#if BX_COMPILER_MSVC - return _signbit(_a); -#else - return copysign(1, _a) < 0; -// return __builtin_signbit(_a); -#endif // BX_COMPILER_MSVC + return -0.0f == _a ? 0.0f != _a : 0.0f > _a; } inline BX_CONSTEXPR_FUNC float copysign(float _value, float _sign) { #if BX_COMPILER_MSVC - return _copysign(_value, _sign); + return signbit(_value) != signbit(_sign) ? -_value : _value; #else return __builtin_copysign(_value, _sign); #endif // BX_COMPILER_MSVC