2 unstable releases

0.4.0 Dec 19, 2019
0.3.0 Mar 21, 2019

#2 in #fitzgen

Download history 5392/week @ 2023-11-04 7633/week @ 2023-11-11 5276/week @ 2023-11-18 6463/week @ 2023-11-25 6091/week @ 2023-12-02 5767/week @ 2023-12-09 4051/week @ 2023-12-16 3625/week @ 2023-12-23 3302/week @ 2023-12-30 3376/week @ 2024-01-06 2602/week @ 2024-01-13 3244/week @ 2024-01-20 4320/week @ 2024-01-27 4181/week @ 2024-02-03 4752/week @ 2024-02-10 2599/week @ 2024-02-17

16,104 downloads per month
Used in 26 crates (10 directly)

MIT/Apache

4KB

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);

lib.rs:

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);

No runtime deps