From f259338d54991d67c8472d5b4d16d938e2e769d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Sat, 7 Dec 2024 18:56:05 -0800 Subject: [PATCH] Cleanup. --- include/bx/inline/math.inl | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/include/bx/inline/math.inl b/include/bx/inline/math.inl index 8a0f517..8775849 100644 --- a/include/bx/inline/math.inl +++ b/include/bx/inline/math.inl @@ -402,6 +402,16 @@ namespace bx inline BX_CONSTEXPR_FUNC float log(float _a) { + if (_a < 0.0f) + { + return bitsToFloat(kFloatSignMask | kFloatExponentMask | kFloatMantissaMask); + } + + if (_a == 0.0f) + { + return -kFloatInfinity; + } + const uint32_t ftob = floatToBits(_a); const uint32_t masked0 = uint32_and(ftob, kFloatExponentMask); @@ -465,6 +475,11 @@ namespace bx return 0.0f; } + if (isInfinite(_a) && _a < 0.0f) + { + return 0.0f; + } + constexpr float kExpC0 = 1.66666666666666019037e-01f; constexpr float kExpC1 = -2.77777777770155933842e-03f; constexpr float kExpC2 = 6.61375632143793436117e-05f;