2 unstable releases
| 0.4.0 | Dec 19, 2019 |
|---|---|
| 0.3.0 | Mar 21, 2019 |
#12 in #partial-ord
30,444 downloads per month
Used in 27 crates
(10 directly)
4KB
min and max functions that work with PartialOrd.
When given NaNs and other values that don't have total orderings, the
functions have well-defined (but arbitrary) behavior: return the second
argument.
use partial_min_max::{min, max};
use std::f32::NAN;
// Does what you expect for the easy cases...
assert_eq!(min(0.0, 1.0), 0.0);
assert_eq!(max(0.0, 1.0), 1.0);
// In the case of comparisons with NaN or other partial orderings, returns the
// second value.
assert!(min(0.0, NAN).is_nan());
assert_eq!(min(NAN, 0.0), 0.0);
partial-min-max
Provides min and max functions that work with PartialOrd.
use partial_min_max::{min, max};
use std::f32::NAN;
// Does what you expect for the easy cases...
assert_eq!(min(0.0, 1.0), 0.0);
assert_eq!(max(0.0, 1.0), 1.0);
// In the case of comparisons with NaN or other partial orderings, returns the
// second value.
assert!(min(0.0, NAN).is_nan());
assert_eq!(min(NAN, 0.0), 0.0);