Branimir Karadžić 8 years ago
parent
commit
cb7d7b62ac
2 changed files with 16 additions and 11 deletions
  1. 6 1
      include/bx/inline/math.inl
  2. 10 10
      tests/math_bench.cpp

+ 6 - 1
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);
 

+ 10 - 10
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  >("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");
 }