max!
and min!
macros for Rusttoml
[dependencies]
min-max = "0.1"
```rust use min_max::*;
fn main() { let max = max!(1, 5, 7, 2, 4, 9, 3); asserteq!(max, 9); let min = min!(1, 5, 7, 2, 4, 9, 3); asserteq!(min, 1); } ```
Yep. But you need to use max_partial!
/min_partial!
```rust use min_max::*;
fn main() { let partialmax = maxpartial!(1.8f64, 5.8, 7.8, 2.8, 4.8, 9.8, 3.8); assert!((9.8 - partialmax).abs() < 1e-5); let partialmin = minpartial!(1.8f64, 5.8, 7.8, 2.8, 4.8, 9.8, 3.8); assert!((1.8 - partialmin).abs() < 1e-5); } ```
NaN
?Do not use when your data contains NaN
. When NaN
is at the end, NaN
is returned. Otherwise, the min/max excluding NaN
is returned.
```rust use min_max::*;
fn main() { let partialmax = maxpartial!(1.8, 5.8, f64::NAN, 2.8, 4.8, 9.8, 3.8); assert!((9.8 - partialmax).abs() < 1e-5); let partialmax = maxpartial!(1.8, 5.8, 2.8, 4.8, 9.8, 3.8, f64::NAN); assert!(partialmax.isnan()); let partialmin = minpartial!(1.8, 5.8, f64::NAN, 2.8, 4.8, 9.8, 3.8); assert!((1.8 - partialmin).abs() < 1e-5); let partialmin = maxpartial!(1.8, 5.8, 2.8, 4.8, 9.8, 3.8, f64::NAN); assert!(partialmin.isnan()); } ```