From fde6c9d903c5720afd226b60a71db8ac2325255c Mon Sep 17 00:00:00 2001 From: Mike <45243121+tankf33der@users.noreply.github.com> Date: Mon, 8 Dec 2025 17:43:17 +0200 Subject: [PATCH] math: fix smootherstep(), add more tests (#25920) --- vlib/math/interpolation.v | 2 +- vlib/math/interpolation_test.v | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/vlib/math/interpolation.v b/vlib/math/interpolation.v index 319336c0e..5b74dfcfb 100644 --- a/vlib/math/interpolation.v +++ b/vlib/math/interpolation.v @@ -67,5 +67,5 @@ pub fn smoothstep[T](edge0 T, edge1 T, x T) T { @[inline] pub fn smootherstep[T](edge0 T, edge1 T, x T) T { v := clip((x - edge0) / (edge1 - edge0), 0, 1) - return v * v * v * (x * (6 * x - 15) + 10) + return v * v * v * (v * (6 * v - 15) + 10) } diff --git a/vlib/math/interpolation_test.v b/vlib/math/interpolation_test.v index b5369669b..9dbc71772 100644 --- a/vlib/math/interpolation_test.v +++ b/vlib/math/interpolation_test.v @@ -117,4 +117,6 @@ fn test_smootherstep() { assert math.close(math.smootherstep(0.0, 1, 0.9), 0.99144) assert math.close(math.smootherstep(0.0, 1, 0.95), 0.998841875) assert math.smootherstep(0.0, 1, 1) == 1 + assert math.close(math.smootherstep(0.0, 1, 0.12345), 0.01550187121622219) + assert math.close(math.smootherstep(0.0, 1, 12345.12345), 1.0) } -- 2.39.5