1pub(crate) mod bits;
10pub(crate) mod carrying;
11pub(crate) mod checked;
12pub(crate) mod cmp;
13pub(crate) mod consts;
14pub(crate) mod convert;
15pub(crate) mod doc;
16pub(crate) mod endian;
17pub(crate) mod impls;
18pub(crate) mod intrinsics;
19pub(crate) mod math;
20pub(crate) mod num;
21pub(crate) mod overflowing;
22pub(crate) mod saturating;
23pub(crate) mod strict;
24pub(crate) mod utils;
25pub(crate) mod widening;
26pub(crate) mod wrapping;
27
28#[macro_use]
29mod macros;
30
31#[cfg(debug_assertions)]
32mod assertions;
33
34mod error;
35mod int;
36mod uint;
37
38pub use error::ParseError;
39pub use int::Int;
40pub use uint::UInt;
41
42use crate::bint::doc::int_type_doc;
43
44macro_rules! int_types {
45 ( $($bits: literal $u: ident $s: ident; ) *) => {
46 $(
47 #[doc = int_type_doc!($bits, "unsigned")]
48 pub type $u = UInt::<{$bits / 64}>;
49
50 #[doc = int_type_doc!($bits, "signed")]
51 pub type $s = Int::<{$bits / 64}>;
52 )*
53 };
54}
55
56int_types!(
57 64 U64 I64;
58 128 U128 I128;
59 256 U256 I256;
60 512 U512 I512;
61 1024 U1024 I1024;
62 );