haar_lib/macros/max_min.rs
1//! `max!`, `min!`
2
3/// 複数の値の最大値を得る。
4#[macro_export]
5macro_rules! max {
6 ($x:expr, $($xs:expr),*) => {
7 {
8 let mut ret = $x;
9 for &x in &[$($xs),*] {
10 if x > ret {
11 ret = x
12 }
13 }
14 ret
15 }
16 }
17}
18
19/// 複数の値の最小値を得る。
20#[macro_export]
21macro_rules! min {
22 ($x:expr, $($xs:expr),*) => {
23 {
24 let mut ret = $x;
25 for &x in &[$($xs),*] {
26 if x < ret {
27 ret = x
28 }
29 }
30 ret
31 }
32 }
33}