[−][src]Enum fraction::dynaint::DynaInt
The wrapper implementation
Keeps data within S (small) whenever possible, performing checked arithmetic and moving onto __H (huge) when overflows happen. Every math operation on __H performs a read of the resulting number with TryToConvertFrom::try_to_convert_from. Every math operation on S is checked for overflows.
Variants
S(T)Represents the small type, implementing Copy and allocated on stack. The wrapper tries to reduce contained values to this type whenever possible
__H(G)Represents the huge type, implementing Clone. To be used when values overflow T
Methods
impl<T, G> DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
pub fn unpack(self) -> Result<T, G>[src]
Unpacks the value
Utilises Result::Ok for S(small) numbers and Result::Err for __H(huge) ones
Examples
use fraction::dynaint::DynaInt; type D = DynaInt<u8, u16>; assert_eq!(Ok(1u8), D::from(1u8).unpack()); assert_eq!(Err(256u16), D::from(256u16).unpack());
Trait Implementations
impl<T, G> GenericInteger for DynaInt<T, G> where
T: GenericInteger + Copy + Integer + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger + 'static, [src]
T: GenericInteger + Copy + Integer + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger + 'static,
fn _0() -> Self[src]
fn _1() -> Self[src]
fn _10() -> Self[src]
fn _0r() -> Option<&'static Self>[src]
fn _1r() -> Option<&'static Self>[src]
fn _10r() -> Option<&'static Self>[src]
fn get_signed_value(self) -> (Sign, Self)[src]
impl<T, G> Into<BigUint> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger + Into<BigUint>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger + Into<BigUint>,
impl<T, G> PartialOrd<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + PartialOrd,
G: Clone + GenericInteger + PartialOrd, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + PartialOrd,
G: Clone + GenericInteger + PartialOrd,
fn partial_cmp(&self, other: &Self) -> Option<Ordering>[src]
#[must_use]
fn lt(&self, other: &Rhs) -> bool1.0.0[src]
This method tests less than (for self and other) and is used by the < operator. Read more
#[must_use]
fn le(&self, other: &Rhs) -> bool1.0.0[src]
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
#[must_use]
fn gt(&self, other: &Rhs) -> bool1.0.0[src]
This method tests greater than (for self and other) and is used by the > operator. Read more
#[must_use]
fn ge(&self, other: &Rhs) -> bool1.0.0[src]
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl<T, G> Copy for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Copy + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Copy + GenericInteger,
impl<T, G> PartialEq<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + PartialEq,
G: Clone + GenericInteger + PartialEq, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + PartialEq,
G: Clone + GenericInteger + PartialEq,
fn eq(&self, other: &Self) -> bool[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
This method tests for !=.
impl<T, G> From<u16> for DynaInt<T, G> where
u16: GenericInteger + PartialOrd + Into<G>,
T: GenericInteger + Copy + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
u16: GenericInteger + PartialOrd + Into<G>,
T: GenericInteger + Copy + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
impl<T, G> From<u32> for DynaInt<T, G> where
u32: GenericInteger + PartialOrd + Into<G>,
T: GenericInteger + Copy + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
u32: GenericInteger + PartialOrd + Into<G>,
T: GenericInteger + Copy + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
impl<T, G> From<u64> for DynaInt<T, G> where
u64: GenericInteger + PartialOrd + Into<G>,
T: GenericInteger + Copy + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
u64: GenericInteger + PartialOrd + Into<G>,
T: GenericInteger + Copy + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
impl<T, G> From<u128> for DynaInt<T, G> where
u128: GenericInteger + PartialOrd + Into<G>,
T: GenericInteger + Copy + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
u128: GenericInteger + PartialOrd + Into<G>,
T: GenericInteger + Copy + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
impl<T, G> From<usize> for DynaInt<T, G> where
usize: GenericInteger + PartialOrd + Into<G>,
T: GenericInteger + Copy + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
usize: GenericInteger + PartialOrd + Into<G>,
T: GenericInteger + Copy + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
impl<T, G> From<u8> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
impl<T, G> From<BigUint> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger + From<BigUint>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger + From<BigUint>,
impl<T: Clone, G: Clone> Clone for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
fn clone(&self) -> DynaInt<T, G>[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl<T, G> Ord for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Ord,
G: Clone + GenericInteger + Ord, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Ord,
G: Clone + GenericInteger + Ord,
fn cmp(&self, other: &Self) -> Ordering[src]
fn max(self, other: Self) -> Self1.21.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self1.21.0[src]
Compares and returns the minimum of two values. Read more
fn clamp(self, min: Self, max: Self) -> Self[src]
clamp)Returns max if self is greater than max, and min if self is less than min. Otherwise this will return self. Panics if min > max. Read more
impl<T, G> Eq for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Eq,
G: Clone + GenericInteger + Eq, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Eq,
G: Clone + GenericInteger + Eq,
impl<T, G> Display for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Display,
G: Clone + GenericInteger + Display, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Display,
G: Clone + GenericInteger + Display,
impl<T: Debug, G: Debug> Debug for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
impl<T, G> Sub<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Sub<Output = T> + CheckedSub,
G: Clone + GenericInteger + Sub<Output = G> + CheckedSub, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Sub<Output = T> + CheckedSub,
G: Clone + GenericInteger + Sub<Output = G> + CheckedSub,
type Output = Self
The resulting type after applying the - operator.
fn sub(self, other: Self) -> Self::Output[src]
impl<'a, T, G> Sub<&'a DynaInt<T, G>> for &'a DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Sub<Output = T> + CheckedSub,
G: Clone + GenericInteger + Sub<Output = G> + CheckedSub,
&'a G: Sub<G, Output = G> + Sub<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Sub<Output = T> + CheckedSub,
G: Clone + GenericInteger + Sub<Output = G> + CheckedSub,
&'a G: Sub<G, Output = G> + Sub<Output = G>,
type Output = DynaInt<T, G>
The resulting type after applying the - operator.
fn sub(self, other: Self) -> Self::Output[src]
impl<'a, T, G> Sub<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
type Output = DynaInt<T, G>
The resulting type after applying the - operator.
fn sub(self, other: &'a Self) -> Self::Output[src]
impl<T, G> Add<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Add<Output = T> + CheckedAdd,
G: Clone + GenericInteger + Add<Output = G> + CheckedAdd, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Add<Output = T> + CheckedAdd,
G: Clone + GenericInteger + Add<Output = G> + CheckedAdd,
type Output = Self
The resulting type after applying the + operator.
fn add(self, other: Self) -> Self::Output[src]
impl<'a, T, G> Add<&'a DynaInt<T, G>> for &'a DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Add<Output = T> + CheckedAdd,
G: Clone + GenericInteger + Add<Output = G> + CheckedAdd,
&'a G: Add<G, Output = G> + Add<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Add<Output = T> + CheckedAdd,
G: Clone + GenericInteger + Add<Output = G> + CheckedAdd,
&'a G: Add<G, Output = G> + Add<Output = G>,
type Output = DynaInt<T, G>
The resulting type after applying the + operator.
fn add(self, other: Self) -> Self::Output[src]
impl<'a, T, G> Add<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
type Output = DynaInt<T, G>
The resulting type after applying the + operator.
fn add(self, other: &'a Self) -> Self::Output[src]
impl<T, G> Mul<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Mul<Output = T> + CheckedMul,
G: Clone + GenericInteger + Mul<Output = G> + CheckedMul, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Mul<Output = T> + CheckedMul,
G: Clone + GenericInteger + Mul<Output = G> + CheckedMul,
type Output = Self
The resulting type after applying the * operator.
fn mul(self, other: Self) -> Self::Output[src]
impl<'a, T, G> Mul<&'a DynaInt<T, G>> for &'a DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Mul<Output = T> + CheckedMul,
G: Clone + GenericInteger + Mul<Output = G> + CheckedMul,
&'a G: Mul<G, Output = G> + Mul<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Mul<Output = T> + CheckedMul,
G: Clone + GenericInteger + Mul<Output = G> + CheckedMul,
&'a G: Mul<G, Output = G> + Mul<Output = G>,
type Output = DynaInt<T, G>
The resulting type after applying the * operator.
fn mul(self, other: Self) -> Self::Output[src]
impl<'a, T, G> Mul<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
type Output = DynaInt<T, G>
The resulting type after applying the * operator.
fn mul(self, other: &'a Self) -> Self::Output[src]
impl<T, G> Div<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Div<Output = T> + CheckedDiv,
G: Clone + GenericInteger + Div<Output = G> + CheckedDiv, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Div<Output = T> + CheckedDiv,
G: Clone + GenericInteger + Div<Output = G> + CheckedDiv,
type Output = Self
The resulting type after applying the / operator.
fn div(self, other: Self) -> Self::Output[src]
impl<'a, T, G> Div<&'a DynaInt<T, G>> for &'a DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Div<Output = T> + CheckedDiv,
G: Clone + GenericInteger + Div<Output = G> + CheckedDiv,
&'a G: Div<G, Output = G> + Div<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Div<Output = T> + CheckedDiv,
G: Clone + GenericInteger + Div<Output = G> + CheckedDiv,
&'a G: Div<G, Output = G> + Div<Output = G>,
type Output = DynaInt<T, G>
The resulting type after applying the / operator.
fn div(self, other: Self) -> Self::Output[src]
impl<'a, T, G> Div<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
type Output = DynaInt<T, G>
The resulting type after applying the / operator.
fn div(self, other: &'a Self) -> Self::Output[src]
impl<T, G> Rem<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Rem<Output = T>,
G: Clone + GenericInteger + Rem<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Rem<Output = T>,
G: Clone + GenericInteger + Rem<Output = G>,
type Output = Self
The resulting type after applying the % operator.
fn rem(self, other: Self) -> Self::Output[src]
impl<'a, T, G> Rem<&'a DynaInt<T, G>> for &'a DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Rem<Output = T>,
G: Clone + GenericInteger + Rem<Output = G>,
&'a G: Rem<G, Output = G> + Rem<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Rem<Output = T>,
G: Clone + GenericInteger + Rem<Output = G>,
&'a G: Rem<G, Output = G> + Rem<Output = G>,
type Output = DynaInt<T, G>
The resulting type after applying the % operator.
fn rem(self, other: Self) -> Self::Output[src]
impl<'a, T, G> Rem<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
type Output = DynaInt<T, G>
The resulting type after applying the % operator.
fn rem(self, other: &'a Self) -> Self::Output[src]
impl<T, G> Neg for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Neg<Output = T>,
G: Clone + GenericInteger + Neg<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Neg<Output = T>,
G: Clone + GenericInteger + Neg<Output = G>,
type Output = Self
The resulting type after applying the - operator.
fn neg(self) -> Self::Output[src]
impl<T, G> AddAssign<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + AddAssign + CheckedAdd,
G: Clone + GenericInteger + AddAssign + CheckedAdd, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + AddAssign + CheckedAdd,
G: Clone + GenericInteger + AddAssign + CheckedAdd,
fn add_assign(&mut self, other: Self)[src]
impl<'a, T, G> AddAssign<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + AddAssign + CheckedAdd,
G: Clone + GenericInteger + AddAssign + CheckedAdd, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + AddAssign + CheckedAdd,
G: Clone + GenericInteger + AddAssign + CheckedAdd,
fn add_assign(&mut self, other: &'a Self)[src]
impl<T, G> SubAssign<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + SubAssign + CheckedSub,
G: Clone + GenericInteger + SubAssign + CheckedSub, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + SubAssign + CheckedSub,
G: Clone + GenericInteger + SubAssign + CheckedSub,
fn sub_assign(&mut self, other: Self)[src]
impl<'a, T, G> SubAssign<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + SubAssign + CheckedSub,
G: Clone + GenericInteger + SubAssign + CheckedSub, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + SubAssign + CheckedSub,
G: Clone + GenericInteger + SubAssign + CheckedSub,
fn sub_assign(&mut self, other: &'a Self)[src]
impl<T, G> MulAssign<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + MulAssign + CheckedMul,
G: Clone + GenericInteger + MulAssign + CheckedMul, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + MulAssign + CheckedMul,
G: Clone + GenericInteger + MulAssign + CheckedMul,
fn mul_assign(&mut self, other: Self)[src]
impl<'a, T, G> MulAssign<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + MulAssign + CheckedMul,
G: Clone + GenericInteger + MulAssign + CheckedMul, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + MulAssign + CheckedMul,
G: Clone + GenericInteger + MulAssign + CheckedMul,
fn mul_assign(&mut self, other: &'a Self)[src]
impl<T, G> DivAssign<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + DivAssign + CheckedDiv,
G: Clone + GenericInteger + DivAssign + CheckedDiv, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + DivAssign + CheckedDiv,
G: Clone + GenericInteger + DivAssign + CheckedDiv,
fn div_assign(&mut self, other: Self)[src]
impl<'a, T, G> DivAssign<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + DivAssign + CheckedDiv,
G: Clone + GenericInteger + DivAssign + CheckedDiv, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + DivAssign + CheckedDiv,
G: Clone + GenericInteger + DivAssign + CheckedDiv,
fn div_assign(&mut self, other: &'a Self)[src]
impl<T, G> RemAssign<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + RemAssign,
G: Clone + GenericInteger + RemAssign, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + RemAssign,
G: Clone + GenericInteger + RemAssign,
fn rem_assign(&mut self, other: Self)[src]
impl<'a, T, G> RemAssign<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
fn rem_assign(&mut self, other: &'a Self)[src]
impl<T, G> Not for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Not<Output = T>,
G: Clone + GenericInteger + Not<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Not<Output = T>,
G: Clone + GenericInteger + Not<Output = G>,
type Output = Self
The resulting type after applying the ! operator.
fn not(self) -> Self::Output[src]
impl<T, G> BitAnd<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitAnd<Output = T>,
G: Clone + GenericInteger + BitAnd<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitAnd<Output = T>,
G: Clone + GenericInteger + BitAnd<Output = G>,
type Output = Self
The resulting type after applying the & operator.
fn bitand(self, other: Self) -> Self::Output[src]
impl<'a, T, G> BitAnd<&'a DynaInt<T, G>> for &'a DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitAnd<Output = T>,
G: Clone + GenericInteger + BitAnd<Output = G> + BitAnd<&'a G, Output = G>,
&'a G: BitAnd<G, Output = G> + BitAnd<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitAnd<Output = T>,
G: Clone + GenericInteger + BitAnd<Output = G> + BitAnd<&'a G, Output = G>,
&'a G: BitAnd<G, Output = G> + BitAnd<Output = G>,
type Output = DynaInt<T, G>
The resulting type after applying the & operator.
fn bitand(self, other: Self) -> Self::Output[src]
impl<T, G> BitOr<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitOr<Output = T>,
G: Clone + GenericInteger + BitOr<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitOr<Output = T>,
G: Clone + GenericInteger + BitOr<Output = G>,
type Output = Self
The resulting type after applying the | operator.
fn bitor(self, other: Self) -> Self::Output[src]
impl<'a, T, G> BitOr<&'a DynaInt<T, G>> for &'a DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitOr<Output = T>,
G: Clone + GenericInteger + BitOr<Output = G> + BitOr<&'a G, Output = G>,
&'a G: BitOr<G, Output = G> + BitOr<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitOr<Output = T>,
G: Clone + GenericInteger + BitOr<Output = G> + BitOr<&'a G, Output = G>,
&'a G: BitOr<G, Output = G> + BitOr<Output = G>,
type Output = DynaInt<T, G>
The resulting type after applying the | operator.
fn bitor(self, other: Self) -> Self::Output[src]
impl<T, G> BitXor<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitXor<Output = T>,
G: Clone + GenericInteger + BitXor<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitXor<Output = T>,
G: Clone + GenericInteger + BitXor<Output = G>,
type Output = Self
The resulting type after applying the ^ operator.
fn bitxor(self, other: Self) -> Self::Output[src]
impl<'a, T, G> BitXor<&'a DynaInt<T, G>> for &'a DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitXor<Output = T>,
G: Clone + GenericInteger + BitXor<Output = G> + BitXor<&'a G, Output = G>,
&'a G: BitXor<G, Output = G> + BitXor<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitXor<Output = T>,
G: Clone + GenericInteger + BitXor<Output = G> + BitXor<&'a G, Output = G>,
&'a G: BitXor<G, Output = G> + BitXor<Output = G>,
type Output = DynaInt<T, G>
The resulting type after applying the ^ operator.
fn bitxor(self, other: Self) -> Self::Output[src]
impl<T, G> Shl<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Shl<Output = T>,
G: Clone + GenericInteger + Shl<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Shl<Output = T>,
G: Clone + GenericInteger + Shl<Output = G>,
type Output = Self
The resulting type after applying the << operator.
fn shl(self, other: Self) -> Self::Output[src]
impl<'a, T, G> Shl<&'a DynaInt<T, G>> for &'a DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Shl<Output = T>,
G: Clone + GenericInteger + Shl<Output = G> + Shl<&'a G, Output = G>,
&'a G: Shl<G, Output = G> + Shl<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Shl<Output = T>,
G: Clone + GenericInteger + Shl<Output = G> + Shl<&'a G, Output = G>,
&'a G: Shl<G, Output = G> + Shl<Output = G>,
type Output = DynaInt<T, G>
The resulting type after applying the << operator.
fn shl(self, other: Self) -> Self::Output[src]
impl<T, G> Shr<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Shr<Output = T>,
G: Clone + GenericInteger + Shr<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Shr<Output = T>,
G: Clone + GenericInteger + Shr<Output = G>,
type Output = Self
The resulting type after applying the >> operator.
fn shr(self, other: Self) -> Self::Output[src]
impl<'a, T, G> Shr<&'a DynaInt<T, G>> for &'a DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Shr<Output = T>,
G: Clone + GenericInteger + Shr<Output = G> + Shr<&'a G, Output = G>,
&'a G: Shr<G, Output = G> + Shr<Output = G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Shr<Output = T>,
G: Clone + GenericInteger + Shr<Output = G> + Shr<&'a G, Output = G>,
&'a G: Shr<G, Output = G> + Shr<Output = G>,
type Output = DynaInt<T, G>
The resulting type after applying the >> operator.
fn shr(self, other: Self) -> Self::Output[src]
impl<T, G> BitAndAssign<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitAndAssign,
G: Clone + GenericInteger + BitAndAssign, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitAndAssign,
G: Clone + GenericInteger + BitAndAssign,
fn bitand_assign(&mut self, other: Self)[src]
impl<'a, T, G> BitAndAssign<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitAndAssign<&'a T>,
G: Clone + GenericInteger + BitAndAssign<&'a G> + BitAndAssign<G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitAndAssign<&'a T>,
G: Clone + GenericInteger + BitAndAssign<&'a G> + BitAndAssign<G>,
fn bitand_assign(&mut self, other: &'a Self)[src]
impl<T, G> BitOrAssign<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitOrAssign,
G: Clone + GenericInteger + BitOrAssign, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitOrAssign,
G: Clone + GenericInteger + BitOrAssign,
fn bitor_assign(&mut self, other: Self)[src]
impl<'a, T, G> BitOrAssign<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitOrAssign<&'a T>,
G: Clone + GenericInteger + BitOrAssign<&'a G> + BitOrAssign<G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitOrAssign<&'a T>,
G: Clone + GenericInteger + BitOrAssign<&'a G> + BitOrAssign<G>,
fn bitor_assign(&mut self, other: &'a Self)[src]
impl<T, G> BitXorAssign<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitXorAssign,
G: Clone + GenericInteger + BitXorAssign, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitXorAssign,
G: Clone + GenericInteger + BitXorAssign,
fn bitxor_assign(&mut self, other: Self)[src]
impl<'a, T, G> BitXorAssign<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitXorAssign<&'a T>,
G: Clone + GenericInteger + BitXorAssign<&'a G> + BitXorAssign<G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + BitXorAssign<&'a T>,
G: Clone + GenericInteger + BitXorAssign<&'a G> + BitXorAssign<G>,
fn bitxor_assign(&mut self, other: &'a Self)[src]
impl<T, G> ShlAssign<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + ShlAssign,
G: Clone + GenericInteger + ShlAssign, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + ShlAssign,
G: Clone + GenericInteger + ShlAssign,
fn shl_assign(&mut self, other: Self)[src]
impl<'a, T, G> ShlAssign<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + ShlAssign<&'a T>,
G: Clone + GenericInteger + ShlAssign<&'a G> + ShlAssign<G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + ShlAssign<&'a T>,
G: Clone + GenericInteger + ShlAssign<&'a G> + ShlAssign<G>,
fn shl_assign(&mut self, other: &'a Self)[src]
impl<T, G> ShrAssign<DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + ShrAssign,
G: Clone + GenericInteger + ShrAssign, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + ShrAssign,
G: Clone + GenericInteger + ShrAssign,
fn shr_assign(&mut self, other: Self)[src]
impl<'a, T, G> ShrAssign<&'a DynaInt<T, G>> for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + ShrAssign<&'a T>,
G: Clone + GenericInteger + ShrAssign<&'a G> + ShrAssign<G>, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + ShrAssign<&'a T>,
G: Clone + GenericInteger + ShrAssign<&'a G> + ShrAssign<G>,
fn shr_assign(&mut self, other: &'a Self)[src]
impl<T, G> Integer for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
fn div_floor(&self, other: &Self) -> Self[src]
fn mod_floor(&self, other: &Self) -> Self[src]
fn gcd(&self, other: &Self) -> Self[src]
fn lcm(&self, other: &Self) -> Self[src]
fn divides(&self, other: &Self) -> bool[src]
fn is_multiple_of(&self, other: &Self) -> bool[src]
fn is_even(&self) -> bool[src]
fn is_odd(&self) -> bool[src]
fn div_rem(&self, other: &Self) -> (Self, Self)[src]
fn div_mod_floor(&self, other: &Self) -> (Self, Self)[src]
Simultaneous floored integer division and modulus. Returns (quotient, remainder). Read more
impl<T, G> Zero for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
impl<T, G> One for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8>,
G: Clone + GenericInteger,
fn one() -> Self[src]
fn is_one(&self) -> bool where
Self: PartialEq<Self>, [src]
Self: PartialEq<Self>,
Returns true if self is equal to the multiplicative identity. Read more
impl<T, G> ToPrimitive for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + ToPrimitive,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + ToPrimitive,
G: Clone + GenericInteger,
fn to_i64(&self) -> Option<i64>[src]
fn to_u64(&self) -> Option<u64>[src]
fn to_isize(&self) -> Option<isize>[src]
Converts the value of self to an isize.
fn to_i8(&self) -> Option<i8>[src]
Converts the value of self to an i8.
fn to_i16(&self) -> Option<i16>[src]
Converts the value of self to an i16.
fn to_i32(&self) -> Option<i32>[src]
Converts the value of self to an i32.
fn to_i128(&self) -> Option<i128>[src]
Converts the value of self to an i128. Read more
fn to_usize(&self) -> Option<usize>[src]
Converts the value of self to a usize.
fn to_u8(&self) -> Option<u8>[src]
Converts the value of self to an u8.
fn to_u16(&self) -> Option<u16>[src]
Converts the value of self to an u16.
fn to_u32(&self) -> Option<u32>[src]
Converts the value of self to an u32.
fn to_u128(&self) -> Option<u128>[src]
Converts the value of self to an u128. Read more
fn to_f32(&self) -> Option<f32>[src]
Converts the value of self to an f32.
fn to_f64(&self) -> Option<f64>[src]
Converts the value of self to an f64.
impl<T, G> Bounded for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Bounded,
G: Clone + GenericInteger + Bounded, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Bounded,
G: Clone + GenericInteger + Bounded,
impl<T, G> CheckedAdd for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + CheckedAdd,
G: Clone + GenericInteger + CheckedAdd, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + CheckedAdd,
G: Clone + GenericInteger + CheckedAdd,
fn checked_add(&self, other: &Self) -> Option<Self>[src]
impl<T, G> CheckedSub for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + CheckedSub,
G: Clone + GenericInteger + CheckedSub, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + CheckedSub,
G: Clone + GenericInteger + CheckedSub,
fn checked_sub(&self, other: &Self) -> Option<Self>[src]
impl<T, G> CheckedMul for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + CheckedMul,
G: Clone + GenericInteger + CheckedMul, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + CheckedMul,
G: Clone + GenericInteger + CheckedMul,
fn checked_mul(&self, other: &Self) -> Option<Self>[src]
impl<T, G> CheckedDiv for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + CheckedDiv,
G: Clone + GenericInteger + CheckedDiv, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + CheckedDiv,
G: Clone + GenericInteger + CheckedDiv,
fn checked_div(&self, other: &Self) -> Option<Self>[src]
impl<T, G> Num for DynaInt<T, G> where
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Num,
G: Clone + GenericInteger, [src]
T: Copy + GenericInteger + Into<G> + TryToConvertFrom<G> + From<u8> + Num,
G: Clone + GenericInteger,
type FromStrRadixErr = <G as Num>::FromStrRadixErr
fn from_str_radix(s: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>[src]
Auto Trait Implementations
impl<T, G> Send for DynaInt<T, G> where
G: Send,
T: Send,
G: Send,
T: Send,
impl<T, G> Sync for DynaInt<T, G> where
G: Sync,
T: Sync,
G: Sync,
T: Sync,
Blanket Implementations
impl<T, U> Into for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
impl<T> ToString for T where
T: Display + ?Sized, [src]
T: Display + ?Sized,
impl<T> From for T[src]
impl<T, U> TryFrom for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T> Borrow for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T, Rhs, Output> NumOps for T where
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>, [src]
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
impl<T> NumAssign for T where
T: Num + NumAssignOps<T>, [src]
T: Num + NumAssignOps<T>,
impl<T, Base> RefNum for T where
T: NumOps<Base, Base> + NumOps<&'r Base, Base>, [src]
T: NumOps<Base, Base> + NumOps<&'r Base, Base>,
impl<T> NumRef for T where
T: Num + NumOps<&'r T, T>, [src]
T: Num + NumOps<&'r T, T>,
impl<T, Rhs> NumAssignOps for T where
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>, [src]
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,
impl<T> NumAssignRef for T where
T: NumAssign + NumAssignOps<&'r T>, [src]
T: NumAssign + NumAssignOps<&'r T>,
impl<Q, K> Equivalent for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized, [src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool[src]
impl<T> Same for T
type Output = T
Should always be Self