From a560a16ef3428abaa4c536aaa2f63e47fdf889b0 Mon Sep 17 00:00:00 2001 From: Lynix Date: Fri, 20 Dec 2013 19:59:28 +0100 Subject: [PATCH] Lerp no longer fail when interpolation is not in range [0..1] Former-commit-id: b9d4179cbd82f709695719dbc47f9d0f9d98841e --- include/Nazara/Math/Basic.inl | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/include/Nazara/Math/Basic.inl b/include/Nazara/Math/Basic.inl index 0b1caa417..39cfbbe0a 100644 --- a/include/Nazara/Math/Basic.inl +++ b/include/Nazara/Math/Basic.inl @@ -26,12 +26,7 @@ T NzApproach(T value, T objective, T increment) template T NzClamp(T value, T min, T max) { - if (value < min) - return min; - else if (value > max) - return max; - else - return value; + return std::max(std::min(value, max), min); } template @@ -186,10 +181,7 @@ T NzLerp(T from, T to, T2 interpolation) { #ifdef NAZARA_DEBUG if (interpolation < F2(0.0) || interpolation > F2(1.0)) - { - NazaraError("Interpolation must be in range [0..1] (Got " + NzString::Number(interpolation) + ')'); - return F(0.0); - } + NazaraWarning("Interpolation should be in range [0..1] (Got " + NzString::Number(interpolation) + ')'); #endif return from + interpolation*(to - from);