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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#[macro_export]
macro_rules! report {
($expression: expr) => {
println!("{:>32} : {}", stringify!($expression), $expression);
};
($expression: expr, $desc: expr) => {
println!("{:>32} : {}", $desc, $expression);
};
($expression: expr, $desc: expr, $units: expr) => {
println!("{:>32} : {} [{}]", $desc, $expression, $units);
};
}
#[macro_export]
macro_rules! reports {
($expression: expr) => {
print!("{:>32} :", stringify!($expression));
for item in $expression {
print!(" {}", item);
}
println!();
};
($expression: expr, $desc: expr) => {
print!("{:>32} :", $desc);
for item in $expression {
print!(" {}", item);
}
println!();
};
($expression: expr, $desc: expr, $units: expr) => {
print!("{:>32} :", $desc);
for item in $expression {
print!(" {}", item);
}
println!(" [{}]", $units);
};
}
#[macro_export]
macro_rules! fmt_report {
($fmt: expr, $expression: expr) => {
writeln!(fmt, "{:>32} : {}", stringify!($expression), $expression)?;
};
($fmt: expr, $expression: expr, $desc: expr) => {
writeln!(fmt, "{:>32} : {}", $desc, $expression)?;
};
($fmt: expr, $expression: expr, $desc: expr, $units: expr) => {
writeln!(fmt, "{:>32} : {} [{}]", $desc, $expression, $units)?;
};
}
#[macro_export]
macro_rules! fmt_reports {
($fmt: expr, $expression: expr) => {
write!(fmt, "{:>32} :", stringify!($expression))?;
for item in $expression {
write!(fmt, " {}", item)?;
}
writeln!(fmt)?;
};
($fmt: expr, $expression: expr, $desc: expr) => {
write!(fmt, "{:>32} :", $desc)?;
for item in $expression {
write!(fmt, " {}", item)?;
}
writeln!(fmt)?;
};
($fmt: expr, $expression: expr, $desc: expr, $units: expr) => {
write!(fmt, "{:>32} :", $desc)?;
for item in $expression {
write!(fmt, " {}", item)?;
}
writeln!(fmt, " [{}]", $units)?;
};
}