[][src]Trait trait_eval::Mod

pub trait Mod<T: Nat>: Nat {
    type Result: Nat;
}

Remainders

GCD is left as an exercise for the reader...

assert_eq!(<Five as Mod<Three>>::Result::eval(), 2);
assert_eq!(<Ten as Mod<Two>>::Result::eval(), 0);
assert_eq!(<Seven as Mod<Nine>>::Result::eval(), 7);
assert_eq!(<Six as Mod<Six>>::Result::eval(), 0);

Associated Types

type Result: Nat

Loading content...

Implementors

impl<T: Nat> Mod<T> for Zero[src]

type Result = Zero

impl<T: Nat, U: Nat, V: Nat, W: Nat, C: Bool> Mod<T> for Succ<U> where
    Self: Minus<T, Result = V> + LessThan<T, Result = C>,
    V: Mod<T>,
    (Self, <V as Mod<T>>::Result): If<C, Result = W>, 
[src]

type Result = W

Loading content...