From cb7d7b62ac17c614fbb5c53ac7aa5f14ecf4dbcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Mon, 29 Jan 2018 20:41:11 -0800 Subject: [PATCH] Cleanup. --- include/bx/inline/math.inl | 7 ++++++- tests/math_bench.cpp | 20 ++++++++++---------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/include/bx/inline/math.inl b/include/bx/inline/math.inl index b7296c0..f582363 100644 --- a/include/bx/inline/math.inl +++ b/include/bx/inline/math.inl @@ -215,8 +215,13 @@ namespace bx inline float rsqrtSimd(float _a) { + if (_a < kNearZero) + { + return 0.0f; + } + const simd128_t aa = simd_splat(_a); - const simd128_t rsqrta = simd_rsqrt(aa); + const simd128_t rsqrta = simd_rsqrt_nr(aa); float result; simd_stx(&result, rsqrta); diff --git a/tests/math_bench.cpp b/tests/math_bench.cpp index 9a66c01..195b5f5 100644 --- a/tests/math_bench.cpp +++ b/tests/math_bench.cpp @@ -41,38 +41,38 @@ void math_bench() bx::WriterI* writer = bx::getStdOut(); bx::writePrintf(writer, "Math bench\n\n"); - mathTest< ::sqrtf >("::sqrtf"); + mathTest< ::sqrtf >(" ::sqrtf"); mathTest("bx::sqrtRef"); mathTest("bx::sqrtSimd"); mathTest("bx::sqrt"); bx::writePrintf(writer, "\n"); - mathTest< ::rsqrt >("::rsqrtf"); - mathTest("bx::sqrtRef"); - mathTest("bx::sqrtSimd"); + mathTest< ::rsqrt >(" ::rsqrtf"); + mathTest("bx::rsqrtRef"); + mathTest("bx::rsqrtSimd"); mathTest("bx::rsqrt"); bx::writePrintf(writer, "\n"); - mathTest< ::sinf >("::sinf"); + mathTest< ::sinf >(" ::sinf"); mathTest("bx::sin"); bx::writePrintf(writer, "\n"); - mathTest< ::asinf>("::asinf"); + mathTest< ::asinf>(" ::asinf"); mathTest("bx::asin"); bx::writePrintf(writer, "\n"); - mathTest< ::cosf >("::cosf"); + mathTest< ::cosf >(" ::cosf"); mathTest("bx::cos"); bx::writePrintf(writer, "\n"); - mathTest< ::acosf>("::acosf"); + mathTest< ::acosf>(" ::acosf"); mathTest("bx::acos"); bx::writePrintf(writer, "\n"); - mathTest< ::tanf >("::tanf"); + mathTest< ::tanf >(" ::tanf"); mathTest("bx::tan"); bx::writePrintf(writer, "\n"); - mathTest< ::atanf>("::atanf"); + mathTest< ::atanf>(" ::atanf"); mathTest("bx::atan"); }