1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
use core::f32; /// Positive difference (f32) /// /// Determines the positive difference between arguments, returning: /// * x - y if x > y, or /// * +0 if x <= y, or /// * NAN if either argument is NAN. /// /// A range error may occur. #[inline] #[cfg_attr(all(test, assert_no_panic), no_panic::no_panic)] pub fn fdimf(x: f32, y: f32) -> f32 { if x.is_nan() { x } else if y.is_nan() { y } else if x > y { x - y } else { 0.0 } }