@@ -1386,16 +1386,19 @@ test "zmath.lerpInverse" {
13861386// Reference: https://www.gamedeveloper.com/programming/improved-lerp-smoothing- 
13871387pub  inline  fn  lerpOverTime (v0 : anytype , v1 : anytype , rate : anytype , dt : anytype ) @TypeOf (v0 , v1 ) {
13881388    const  t  =  std .math .exp2 (- rate  *  dt );
1389-     return  lerp (v0 ,  v1 , t );
1389+     return  lerp (v1 ,  v0 , t );
13901390}
13911391
13921392pub  inline  fn  lerpVOverTime (v0 : anytype , v1 : anytype , rate : anytype , dt : anytype ) @TypeOf (v0 , v1 , rate , dt ) {
13931393    const  t  =  std .math .exp2 (- rate  *  dt );
1394-     return  lerpV (v0 ,  v1 , t );
1394+     return  lerpV (v1 ,  v0 , t );
13951395}
1396+ 
13961397test  "zmath.lerpOverTime"  {
13971398    try  expect (math .approxEqAbs (f32 , lerpVOverTime (0.0 , 1.0 , 1.0 , 1.0 ), 0.5 , 0.0005 ));
13981399    try  expect (math .approxEqAbs (f32 , lerpVOverTime (0.5 , 1.0 , 1.0 , 1.0 ), 0.75 , 0.0005 ));
1400+     try  expect (math .approxEqAbs (f32 , lerpVOverTime (0.0 , 1.0 , 1.0 , 0.0 ), 0.0 , 0.0005 ));
1401+     try  expect (math .approxEqAbs (f32 , lerpVOverTime (0.0 , 1.0 , 1.0 , std .math .inf (f32 )), 1.0 , 0.0005 ));
13991402    try  expectVecApproxEqAbs (lerpOverTime (f32x4 (0 , 0 , 10 , 10 ), f32x4 (100 , 200 , 100 , 100 ), 1.0 , 1.0 ), f32x4 (50 , 100 , 55 , 55 ), 0.0005 );
14001403}
14011404
0 commit comments