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}