use crate::{NonZeroSign, Sign, Ubig};
use crate::integer::big::NonZeroUbig;
use crate::rational::Ratio;
pub (crate) mod io;
pub(crate) mod properties;
pub mod ops;
mod with_small_rational;
mod with_integer;
mod with_binary;
mod with_zero;
mod with_one;
mod with_option;
mod absorb;
pub type Big<const S: usize> = Ratio<Sign, Ubig<S>, NonZeroUbig<S>>;
pub type NonZeroBig<const S: usize> = Ratio<NonZeroSign, NonZeroUbig<S>, NonZeroUbig<S>>;
pub type Big8 = Big<8>;
pub type NonZeroBig8 = NonZeroBig<8>;
#[cfg(test)]
mod test;