Skip to content

Commit 81107ff

Browse files
committed
Unit test for Q_rsqrt
1 parent f1a3b06 commit 81107ff

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/engine/qcommon/q_math_test.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,4 +205,18 @@ TEST(QMathTransformTest, TransInverse)
205205
{-0.4833702, 0.42157, 0.7551386, -0.1356377}, {1.244436,1.155842,-0.5278334}, 0.4);
206206
}
207207

208+
TEST(QSharedMathTest, InverseSquareRoot)
209+
{
210+
constexpr float relativeTolerance = 5.0e-6;
211+
auto RsqrtEq = [=](float expected) { return FloatNear(expected, expected * relativeTolerance); };
212+
213+
EXPECT_THAT(Q_rsqrt(1e-6), RsqrtEq(1e3));
214+
EXPECT_THAT(Q_rsqrt(0.036), RsqrtEq(5.270463));
215+
EXPECT_THAT(Q_rsqrt(0.2), RsqrtEq(2.236068));
216+
EXPECT_THAT(Q_rsqrt(1), RsqrtEq(1));
217+
EXPECT_THAT(Q_rsqrt(3), RsqrtEq(0.5773503));
218+
EXPECT_THAT(Q_rsqrt(29.1), RsqrtEq(0.1853760));
219+
EXPECT_THAT(Q_rsqrt(1e6), RsqrtEq(1e-3));
220+
}
221+
208222
} // namespace

0 commit comments

Comments
 (0)