const_oid/
checked.rs

1//! Checked arithmetic helpers.
2
3/// `const fn`-friendly checked addition helper.
4macro_rules! checked_add {
5    ($a:expr, $b:expr) => {
6        match $a.checked_add($b) {
7            Some(n) => n,
8            None => return Err(Error::Overflow),
9        }
10    };
11}
12
13/// `const fn`-friendly checked subtraction helper.
14macro_rules! checked_sub {
15    ($a:expr, $b:expr) => {
16        match $a.checked_sub($b) {
17            Some(n) => n,
18            None => return Err(Error::Overflow),
19        }
20    };
21}
22
23/// `const fn`-friendly checked multiplication helper.
24macro_rules! checked_mul {
25    ($a:expr, $b:expr) => {
26        match $a.checked_mul($b) {
27            Some(n) => n,
28            None => return Err(Error::Overflow),
29        }
30    };
31}