From 28f12f9a5e6194c76229aae1e52f10907a127bb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sat, 25 May 2019 00:13:05 +0200 Subject: [PATCH] Math: improve the NaN propagation tests even more. --- src/Magnum/Math/Test/FunctionsTest.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Magnum/Math/Test/FunctionsTest.cpp b/src/Magnum/Math/Test/FunctionsTest.cpp index f20d8ac8d..c5f01c568 100644 --- a/src/Magnum/Math/Test/FunctionsTest.cpp +++ b/src/Magnum/Math/Test/FunctionsTest.cpp @@ -195,14 +195,18 @@ void FunctionsTest::clamp() { void FunctionsTest::nanPropagation() { CORRADE_COMPARE(Math::min(Constants::nan(), 5.0f), Constants::nan()); + CORRADE_COMPARE(Math::min(5.0f, Constants::nan()), 5.0f); CORRADE_COMPARE(Math::min(Vector2{Constants::nan(), 6.0f}, Vector2{5.0f})[0], Constants::nan()); CORRADE_COMPARE(Math::min(Vector2{Constants::nan(), 6.0f}, Vector2{5.0f})[1], 5.0f); CORRADE_COMPARE(Math::max(Constants::nan(), 5.0f), Constants::nan()); + CORRADE_COMPARE(Math::max(5.0f, Constants::nan()), 5.0f); CORRADE_COMPARE(Math::max(Vector2{Constants::nan(), 4.0f}, Vector2{5.0f})[0], Constants::nan()); CORRADE_COMPARE(Math::max(Vector2{Constants::nan(), 4.0f}, Vector2{5.0f})[1], 5.0f); CORRADE_COMPARE(Math::clamp(Constants::nan(), 2.0f, 6.0f), Constants::nan()); + /* NaN clamp bounds are not propagating the NaN, but those cases are + usually user error anyway */ CORRADE_COMPARE(Math::clamp(Vector2{Constants::nan(), 1.0f}, 2.0f, 6.0f)[0], Constants::nan()); CORRADE_COMPARE(Math::clamp(Vector2{Constants::nan(), 1.0f}, 2.0f, 6.0f)[1], 2.0f); }