1#![cfg_attr(not(feature = "std"), no_std)]
4#![doc(
5 html_logo_url = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCIgdmlld0JveD0iMCAwIDUwMCA1MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIGZpbGw9IiNGNUYxRTYiLz48Y2lyY2xlIGN4PSIyNTAiIGN5PSIxNzAiIHI9IjEzMCIgZmlsbD0iI0YyRTVDOCIgb3BhY2l0eT0iMC43Ii8+PGNpcmNsZSBjeD0iMjUwIiBjeT0iMTgwIiByPSIxMDAiIGZpbGw9IiNFRURGQTkiIG9wYWNpdHk9IjAuNSIvPjxwYXRoIGQ9Ik0yNTAgMTE1QzMxMCAxMTUgMzU1IDE1MCAzNjUgMTk1QzQwNSAyMDUgNDQwIDI0NSA0NDAgMjk1QzQ0MCAzNDUgMzk1IDM3MCAzMzUgMzcwTDE2NSAzNzBDMTA1IDM3MCA2MCAzNDUgNjAgMjk1QzYwIDI0NSA5NSAyMDUgMTM1IDE5NUMxNDUgMTUwIDE5MCAxMTUgMjUwIDExNVoiIGZpbGw9IiMzRDVBNDUiLz48ZyBzdHJva2U9IiMzRDVBNDUiIHN0cm9rZS13aWR0aD0iNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBmaWxsPSJub25lIj48bGluZSB4MT0iMTIwIiB5MT0iMzYwIiB4Mj0iMTIwIiB5Mj0iNDIwIi8+PGxpbmUgeDE9IjE1MCIgeTE9IjM3MCIgeDI9IjE1MCIgeTI9IjQ1MCIvPjxsaW5lIHgxPSIxNzUiIHkxPSIzNzAiIHgyPSIxNzUiIHkyPSI0MjUiLz48bGluZSB4MT0iMjAwIiB5MT0iMzcwIiB4Mj0iMjAwIiB5Mj0iNDM1Ii8+PGxpbmUgeDE9IjMwMCIgeTE9IjM3MCIgeDI9IjMwMCIgeTI9IjQzNSIvPjxsaW5lIHgxPSIzMjUiIHkxPSIzNzAiIHgyPSIzMjUiIHkyPSI0MjUiLz48bGluZSB4MT0iMzUwIiB5MT0iMzcwIiB4Mj0iMzUwIiB5Mj0iNDUwIi8+PGxpbmUgeDE9IjM4MCIgeTE9IjM2MCIgeDI9IjM4MCIgeTI9IjQyMCIvPjwvZz48ZyBzdHJva2U9IiNDODVBM0UiIHN0cm9rZS13aWR0aD0iOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMjMyIDQzNUwyMzIgMzQwUTIzMCAzMTAgMjEwIDI5NUwxOTggMjg3Ii8+PHBhdGggZD0iTTI2OCA0MzVMMjY4IDM0MFEyNzAgMzEwIDI5MCAyOTVMMzAyIDI4NyIvPjxsaW5lIHgxPSIyMTgiIHkxPSI0MzUiIHgyPSIyODIiIHkyPSI0MzUiLz48L2c+PC9zdmc+Cg=="
6)]
7#![deny(missing_docs)]
8#![deny(clippy::dbg_macro)]
9#![deny(clippy::undocumented_unsafe_blocks)]
10#![deny(clippy::let_underscore_must_use)]
11
12pub mod base {
14 pub use dashu_base::*;
15}
16
17pub mod integer {
19 pub use dashu_int::*;
20}
21
22pub mod float {
24 pub use dashu_float::*;
25}
26
27pub mod rational {
29 pub use dashu_ratio::*;
30}
31
32pub mod complex {
34 pub use dashu_cmplx::*;
35}
36
37#[doc(hidden)]
38pub use dashu_macros as __dashu_macros;
39
40#[macro_export]
41#[doc = include_str!("macro-docs/ubig.md")]
42macro_rules! ubig {
43 ($($t:tt)+) => {
44 $crate::__dashu_macros::ubig_embedded!($($t)+)
45 }
46}
47
48#[macro_export]
49#[rustversion::since(1.64)]
50#[doc = include_str!("macro-docs/static_ubig.md")]
51macro_rules! static_ubig {
52 ($($t:tt)+) => {
53 $crate::__dashu_macros::static_ubig_embedded!($($t)+)
54 }
55}
56
57#[macro_export]
58#[doc = include_str!("macro-docs/ibig.md")]
59macro_rules! ibig {
60 ($($t:tt)+) => {
61 $crate::__dashu_macros::ibig_embedded!($($t)+)
62 }
63}
64
65#[macro_export]
66#[rustversion::since(1.64)]
67#[doc = include_str!("macro-docs/static_ibig.md")]
68macro_rules! static_ibig {
69 ($($t:tt)+) => {
70 $crate::__dashu_macros::static_ibig_embedded!($($t)+)
71 }
72}
73
74#[macro_export]
75#[doc = include_str!("macro-docs/fbig.md")]
76macro_rules! fbig {
77 ($($t:tt)+) => {
78 $crate::__dashu_macros::fbig_embedded!($($t)+)
79 }
80}
81
82#[macro_export]
83#[rustversion::since(1.64)]
84#[doc = include_str!("macro-docs/static_fbig.md")]
85macro_rules! static_fbig {
86 ($($t:tt)+) => {
87 $crate::__dashu_macros::static_fbig_embedded!($($t)+)
88 }
89}
90
91#[macro_export]
92#[doc = include_str!("macro-docs/dbig.md")]
93macro_rules! dbig {
94 ($($t:tt)+) => {
95 $crate::__dashu_macros::dbig_embedded!($($t)+)
96 }
97}
98
99#[macro_export]
100#[rustversion::since(1.64)]
101#[doc = include_str!("macro-docs/static_dbig.md")]
102macro_rules! static_dbig {
103 ($($t:tt)+) => {
104 $crate::__dashu_macros::static_dbig_embedded!($($t)+)
105 }
106}
107
108#[macro_export]
109#[doc = include_str!("macro-docs/rbig.md")]
110macro_rules! rbig {
111 ($($t:tt)+) => {
112 $crate::__dashu_macros::rbig_embedded!($($t)+)
113 }
114}
115
116#[macro_export]
117#[rustversion::since(1.64)]
118#[doc = include_str!("macro-docs/static_rbig.md")]
119macro_rules! static_rbig {
120 ($($t:tt)+) => {
121 $crate::__dashu_macros::static_rbig_embedded!($($t)+)
122 }
123}
124
125#[macro_export]
126#[doc = include_str!("macro-docs/cbig.md")]
127macro_rules! cbig {
128 ($($t:tt)+) => {
129 $crate::__dashu_macros::cbig_embedded!($($t)+)
130 }
131}
132
133#[macro_export]
134#[rustversion::since(1.64)]
135#[doc = include_str!("macro-docs/static_cbig.md")]
136macro_rules! static_cbig {
137 ($($t:tt)+) => {
138 $crate::__dashu_macros::static_cbig_embedded!($($t)+)
139 }
140}
141
142pub type Natural = dashu_int::UBig;
144
145pub type Integer = dashu_int::IBig;
147
148pub type Real = dashu_float::FBig;
150
151pub type FastReal = dashu_float::CachedFBig;
154
155pub type Decimal = dashu_float::DBig;
157
158pub type FastDecimal = dashu_float::CachedFBig<dashu_float::round::mode::HalfAway, 10>;
161
162pub type Rational = dashu_ratio::RBig;
164
165pub type Complex = dashu_cmplx::CBig;
167
168pub type FastComplex = dashu_cmplx::CachedCBig;