[][src]Trait trait_eval::Fib

pub trait Fib: Nat {
    type Result: Nat;
}

Built-in Fibonacci sequence

Of course, every programmer uses the Fibonacci sequence on the daily, so we've built it right into the library. Now you don't need to worry about what the nth Fibonacci number is at runtime. We've got you covered.

assert_eq!(<One as Fib>::Result::eval(), 1);
assert_eq!(<Two as Fib>::Result::eval(), 1);
assert_eq!(<Three as Fib>::Result::eval(), 2);
assert_eq!(<Four as Fib>::Result::eval(), 3);
assert_eq!(<Five as Fib>::Result::eval(), 5);
assert_eq!(<Six as Fib>::Result::eval(), 8);
assert_eq!(<Seven as Fib>::Result::eval(), 13);
assert_eq!(<Eight as Fib>::Result::eval(), 21);
assert_eq!(<Nine as Fib>::Result::eval(), 34);
assert_eq!(<Ten as Fib>::Result::eval(), 55);

Associated Types

type Result: Nat

Loading content...

Implementors

impl Fib for Zero[src]

type Result = Zero

impl<T: Nat, U: Bool, V: Nat, W: Nat> Fib for Succ<T> where
    T: Equals<Zero, Result = U>,
    Succ<T>: FibRecurse<Result = V>,
    (One, V): If<U, Result = W>, 
[src]

type Result = W

Loading content...