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}