Trait Fib

Source
pub trait Fib: Nat {
    type Result: Nat;
}
Expand description

§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);

Required Associated Types§

Implementors§

Source§

impl Fib for Zero

Source§

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