Trait libipld::cid::multihash::typenum::type_operators::PartialDiv[]

pub trait PartialDiv<Rhs = Self> {
    type Output;
    fn partial_div(self, Rhs) -> Self::Output;
}
Expand description

Division as a partial function. This type operator performs division just as Div, but is only defined when the result is an integer (i.e. there is no remainder).

Associated Types

type Output

The type of the result of the division

Required methods

fn partial_div(self, Rhs) -> Self::Output

Method for performing the division

Implementors

impl<M, N> PartialDiv<N> for M where
    M: Integer + Div<N> + Rem<N, Output = Z0>, 

type Output = <M as Div<N>>::Output

pub fn partial_div(self, rhs: N) -> <M as PartialDiv<N>>::Output

impl<Rhs> PartialDiv<Rhs> for ATerm

type Output = ATerm

pub fn partial_div(self, Rhs) -> <ATerm as PartialDiv<Rhs>>::Output

impl<Ul, Bl, Ur, Br> PartialDiv<UInt<Ur, Br>> for UInt<Ul, Bl> where
    Ul: Unsigned,
    Ur: Unsigned,
    Br: Bit,
    Bl: Bit,
    UInt<Ul, Bl>: Div<UInt<Ur, Br>>,
    UInt<Ul, Bl>: Rem<UInt<Ur, Br>>,
    <UInt<Ul, Bl> as Rem<UInt<Ur, Br>>>::Output == UTerm

type Output = <UInt<Ul, Bl> as Div<UInt<Ur, Br>>>::Output

pub fn partial_div(
    self,
    rhs: UInt<Ur, Br>
) -> <UInt<Ul, Bl> as PartialDiv<UInt<Ur, Br>>>::Output

impl<Ur, Br> PartialDiv<UInt<Ur, Br>> for UTerm where
    Ur: Unsigned,
    Br: Bit

type Output = UTerm

pub fn partial_div(
    self,
    UInt<Ur, Br>
) -> <UTerm as PartialDiv<UInt<Ur, Br>>>::Output

impl<V, A, Rhs> PartialDiv<Rhs> for TArr<V, A> where
    A: PartialDiv<Rhs>,
    Rhs: Copy,
    V: PartialDiv<Rhs>, 

type Output = TArr<<V as PartialDiv<Rhs>>::Output, <A as PartialDiv<Rhs>>::Output>

pub fn partial_div(self, rhs: Rhs) -> <TArr<V, A> as PartialDiv<Rhs>>::Output