Skip to content

Commit 0865acd

Browse files
committed
A few lerp tests
1 parent f310d0e commit 0865acd

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed

library/std/src/f32/tests.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -757,3 +757,24 @@ fn test_total_cmp() {
757757
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&f32::INFINITY));
758758
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&s_nan()));
759759
}
760+
761+
#[test]
762+
fn test_lerp_exact() {
763+
assert_eq!(f32::lerp(0.0, 2.0, 4.0), 2.0);
764+
assert_eq!(f32::lerp(1.0, 2.0, 4.0), 4.0);
765+
assert_eq!(f32::lerp(0.0, f32::MIN, f32::MAX), f32::MIN);
766+
assert_eq!(f32::lerp(1.0, f32::MIN, f32::MAX), f32::MAX);
767+
}
768+
769+
#[test]
770+
fn test_lerp_consistent() {
771+
assert_eq!(f32::lerp(f32::MAX, f32::MIN, f32::MIN), f32::MIN);
772+
assert_eq!(f32::lerp(f32::MIN, f32::MAX, f32::MAX), f32::MAX);
773+
}
774+
775+
#[test]
776+
fn test_lerp_values() {
777+
assert_eq!(f32::lerp(0.25, 1.0, 2.0), 1.25);
778+
assert_eq!(f32::lerp(0.50, 1.0, 2.0), 1.50);
779+
assert_eq!(f32::lerp(0.75, 1.0, 2.0), 1.75);
780+
}

library/std/src/f64/tests.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -753,3 +753,24 @@ fn test_total_cmp() {
753753
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&f64::INFINITY));
754754
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&s_nan()));
755755
}
756+
757+
#[test]
758+
fn test_lerp_exact() {
759+
assert_eq!(f64::lerp(0.0, 2.0, 4.0), 2.0);
760+
assert_eq!(f64::lerp(1.0, 2.0, 4.0), 4.0);
761+
assert_eq!(f64::lerp(0.0, f64::MIN, f64::MAX), f64::MIN);
762+
assert_eq!(f64::lerp(1.0, f64::MIN, f64::MAX), f64::MAX);
763+
}
764+
765+
#[test]
766+
fn test_lerp_consistent() {
767+
assert_eq!(f64::lerp(f64::MAX, f64::MIN, f64::MIN), f64::MIN);
768+
assert_eq!(f64::lerp(f64::MIN, f64::MAX, f64::MAX), f64::MAX);
769+
}
770+
771+
#[test]
772+
fn test_lerp_values() {
773+
assert_eq!(f64::lerp(0.25, 1.0, 2.0), 1.25);
774+
assert_eq!(f64::lerp(0.50, 1.0, 2.0), 1.50);
775+
assert_eq!(f64::lerp(0.75, 1.0, 2.0), 1.75);
776+
}

library/std/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@
268268
#![feature(exhaustive_patterns)]
269269
#![feature(extend_one)]
270270
#![cfg_attr(bootstrap, feature(extended_key_value_attributes))]
271+
#![feature(float_interpolation)]
271272
#![feature(fn_traits)]
272273
#![feature(format_args_nl)]
273274
#![feature(gen_future)]

0 commit comments

Comments
 (0)