| 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. | |
| #[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 | |
| } | |
| } |