Trait type_level_logic::strong::ternary::NatDiv
[−]
pub trait NatDiv<B: Nat>: Nat { type Output: Nat; }
Nat
truncating division. Used as Div<X, Y>
or <X as NatDiv<Y>>::Output
. Returns
Undefined
in the case of a division by zero.
Associated Types
Implementors
impl NatDiv<Term> for Term
impl NatDiv<Undefined> for Term
impl NatDiv<Term> for Undefined
impl NatDiv<Undefined> for Undefined
impl<D: Nat> NatDiv<Zero<D>> for Term
impl<D: Nat> NatDiv<One<D>> for Term
impl<D: Nat> NatDiv<Two<D>> for Term
impl<N: Nat, D: Nat> NatDiv<Zero<D>> for Zero<N> where
<<Zero<N> as NatRev>::Output as NatDivInternal<Zero<D>, Nat2<Term, Term>>>::Output: Nat2P2,
<Zero<N> as NatRev>::Output: NatDivInternal<Zero<D>, Nat2<Term, Term>>,
Zero<N>: NatRev,impl<N: Nat, D: Nat> NatDiv<One<D>> for Zero<N> where
<<Zero<N> as NatRev>::Output as NatDivInternal<One<D>, Nat2<Term, Term>>>::Output: Nat2P2,
<Zero<N> as NatRev>::Output: NatDivInternal<One<D>, Nat2<Term, Term>>,
Zero<N>: NatRev,impl<N: Nat, D: Nat> NatDiv<Two<D>> for Zero<N> where
<<Zero<N> as NatRev>::Output as NatDivInternal<Two<D>, Nat2<Term, Term>>>::Output: Nat2P2,
<Zero<N> as NatRev>::Output: NatDivInternal<Two<D>, Nat2<Term, Term>>,
Zero<N>: NatRev,impl<N: Nat, D: Nat> NatDiv<Zero<D>> for One<N> where
<<One<N> as NatRev>::Output as NatDivInternal<Zero<D>, Nat2<Term, Term>>>::Output: Nat2P2,
<One<N> as NatRev>::Output: NatDivInternal<Zero<D>, Nat2<Term, Term>>,
One<N>: NatRev,impl<N: Nat, D: Nat> NatDiv<One<D>> for One<N> where
<<One<N> as NatRev>::Output as NatDivInternal<One<D>, Nat2<Term, Term>>>::Output: Nat2P2,
<One<N> as NatRev>::Output: NatDivInternal<One<D>, Nat2<Term, Term>>,
One<N>: NatRev,impl<N: Nat, D: Nat> NatDiv<Two<D>> for One<N> where
<<One<N> as NatRev>::Output as NatDivInternal<Two<D>, Nat2<Term, Term>>>::Output: Nat2P2,
<One<N> as NatRev>::Output: NatDivInternal<Two<D>, Nat2<Term, Term>>,
One<N>: NatRev,impl<N: Nat, D: Nat> NatDiv<Zero<D>> for Two<N> where
<<Two<N> as NatRev>::Output as NatDivInternal<Zero<D>, Nat2<Term, Term>>>::Output: Nat2P2,
<Two<N> as NatRev>::Output: NatDivInternal<Zero<D>, Nat2<Term, Term>>,
Two<N>: NatRev,impl<N: Nat, D: Nat> NatDiv<One<D>> for Two<N> where
<<Two<N> as NatRev>::Output as NatDivInternal<One<D>, Nat2<Term, Term>>>::Output: Nat2P2,
<Two<N> as NatRev>::Output: NatDivInternal<One<D>, Nat2<Term, Term>>,
Two<N>: NatRev,impl<N: Nat, D: Nat> NatDiv<Two<D>> for Two<N> where
<<Two<N> as NatRev>::Output as NatDivInternal<Two<D>, Nat2<Term, Term>>>::Output: Nat2P2,
<Two<N> as NatRev>::Output: NatDivInternal<Two<D>, Nat2<Term, Term>>,
Two<N>: NatRev,