Struct dimensioned::peano::Pred [] [src]

pub struct Pred<N: NonPos> {
    // some fields omitted
}

Trait Implementations

impl<N: NonPos> Peano for Pred<N>

impl<N: NonPos> NonPos for Pred<N>

impl<N: NonPos> NonZero for Pred<N>

impl<LHS: NonPos + AddPeano<Pred<RHS>>, RHS: NonPos> AddPeano<Pred<RHS>> for Pred<LHS>

Adding negative numbers (e.g. -1 + -2)

type Output = Pred<LHS::Output>

impl<LHS: NonPos> AddPeano<Zero> for Pred<LHS>

Adding zero to negative numbers (e.g. -3 + 0)

type Output = Pred<LHS>

impl<LHS: NonPos + AddPeano<RHS>, RHS: NonNeg> AddPeano<Succ<RHS>> for Pred<LHS>

Adding positive numbers to negative numbers (e.g. -2 + 3)

type Output = LHS::Output

impl<N: NonPos + Negate> Negate for Pred<N>

type Output = Succ<N::Output>

impl<LHS: NonPos + SubPeano<RHS>, RHS: NonNeg> SubPeano<Succ<RHS>> for Pred<LHS>

Subtracting positive numbers from negative numbers (e.g. -3 - 4)

type Output = Pred<Pred<LHS::Output>>

impl<LHS: NonPos> SubPeano<Zero> for Pred<LHS>

Subtracting zero from negative numbers (e.g. -3 - 0)

type Output = Pred<LHS>

impl<LHS: NonPos + SubPeano<RHS>, RHS: NonPos> SubPeano<Pred<RHS>> for Pred<LHS>

Subtracting negative numbers from negative numbers (e.g. -3 - -4)

type Output = LHS::Output

impl<LHS, RHS> MulPeano<RHS> for Pred<LHS> where LHS: NonPos + MulPeano<RHS>, RHS: Peano, LHS::Output: SubPeano<RHS>

Multiplying a negative integer by an arbitrary integer (e.g. -2 * N)

type Output = LHS::Output::Output

impl<LHS, RHS> DivPeano<RHS> for Pred<LHS> where LHS: NonPos + Negate, RHS: Negate, Succ<LHS::Output>: DivPeanoPriv<RHS::Output>

type Output = Pred<LHS>::Output::Output

impl<N: NonPos + ToInt> ToInt for Pred<N>

fn to_int() -> i32

Derived Implementations

impl<N: Clone + NonPos> Clone for Pred<N> where N: Clone

fn clone(&self) -> Pred<N>

fn clone_from(&mut self, source: &Self)

impl<N: Copy + NonPos> Copy for Pred<N> where N: Copy