This commit is contained in:
Branimir Karadžić
2018-01-29 20:41:11 -08:00
parent c1f8036b70
commit cb7d7b62ac
2 changed files with 16 additions and 11 deletions

View File

@@ -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);

View File

@@ -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 >("bx::sqrtRef");
mathTest<bx::sqrtSimd >("bx::sqrtSimd");
mathTest<bx::sqrt >("bx::sqrt");
bx::writePrintf(writer, "\n");
mathTest< ::rsqrt >("::rsqrtf");
mathTest<bx::rsqrtRef >("bx::sqrtRef");
mathTest<bx::rsqrtSimd>("bx::sqrtSimd");
mathTest< ::rsqrt >(" ::rsqrtf");
mathTest<bx::rsqrtRef >("bx::rsqrtRef");
mathTest<bx::rsqrtSimd>("bx::rsqrtSimd");
mathTest<bx::rsqrt >("bx::rsqrt");
bx::writePrintf(writer, "\n");
mathTest< ::sinf >("::sinf");
mathTest< ::sinf >(" ::sinf");
mathTest<bx::sin >("bx::sin");
bx::writePrintf(writer, "\n");
mathTest< ::asinf>("::asinf");
mathTest< ::asinf>(" ::asinf");
mathTest<bx::asin >("bx::asin");
bx::writePrintf(writer, "\n");
mathTest< ::cosf >("::cosf");
mathTest< ::cosf >(" ::cosf");
mathTest<bx::cos >("bx::cos");
bx::writePrintf(writer, "\n");
mathTest< ::acosf>("::acosf");
mathTest< ::acosf>(" ::acosf");
mathTest<bx::acos >("bx::acos");
bx::writePrintf(writer, "\n");
mathTest< ::tanf >("::tanf");
mathTest< ::tanf >(" ::tanf");
mathTest<bx::tan >("bx::tan");
bx::writePrintf(writer, "\n");
mathTest< ::atanf>("::atanf");
mathTest< ::atanf>(" ::atanf");
mathTest<bx::atan >("bx::atan");
}