1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
#[macro_export] macro_rules! max { ($x:expr) => ( $x ); ($x:expr, $($xs:expr),+) => { std::cmp::max($x, max!( $($xs),+ )) }; } #[macro_export] macro_rules! min { ($x:expr) => ( $x ); ($x:expr, $($xs:expr),+) => { std::cmp::min($x, min!( $($xs),+ )) }; } #[macro_export] macro_rules! max_partial { ($x:expr) => ( $x ); ($x:expr, $($xs:expr),+) => { partial_min_max::max($x, max_partial!( $($xs),+ )) }; } #[macro_export] macro_rules! min_partial { ($x:expr) => ( $x ); ($x:expr, $($xs:expr),+) => { partial_min_max::min($x, min_partial!( $($xs),+ )) }; }