reweb3_num/buint/
consts.rs1macro_rules! pos_const {
2 ($($name: ident $num: literal), *) => {
3 $(
4 #[doc = doc::consts::value_desc!($num)]
5 pub const $name: Self = Self::from_digit($num);
6 )*
7 }
8}
9
10use crate::digit;
11use crate::doc;
12use crate::ExpType;
13
14macro_rules! consts {
15 ($BUint: ident, $BInt: ident, $Digit: ident) => {
16 #[doc = doc::consts::impl_desc!()]
17 impl<const N: usize> $BUint<N> {
18 #[doc = doc::consts::min!(U 512)]
19 pub const MIN: Self = Self::from_digits([$Digit::MIN; N]);
20
21 #[doc = doc::consts::max!(U 512)]
22 pub const MAX: Self = Self::from_digits([$Digit::MAX; N]);
23
24 #[doc = doc::consts::bits!(U 512, 512)]
25 pub const BITS: ExpType = digit::$Digit::BITS * N as ExpType;
26
27 #[doc = doc::consts::bytes!(U 512, 512)]
28 pub const BYTES: ExpType = Self::BITS / 8;
29
30 #[doc = doc::consts::zero!(U 512)]
31 pub const ZERO: Self = Self::MIN;
32
33 pos_const!(ONE 1, TWO 2, THREE 3, FOUR 4, FIVE 5, SIX 6, SEVEN 7, EIGHT 8, NINE 9, TEN 10);
34 }
35 };
36}
37
38crate::macro_impl!(consts);