[][src]Function fast_fibonacci::fib_with_mod

pub fn fib_with_mod(n: u64, modulo: u64) -> u64

Finds the nth fibonacci number with modulo. Runtime O(log(n))

Uses linear recurrence under the covers.

Examples

assert_eq!(0, fast_fibonacci::fib_with_mod(0, 10));
assert_eq!(1, fast_fibonacci::fib_with_mod(1, 10));
assert_eq!(1, fast_fibonacci::fib_with_mod(2, 10));
assert_eq!(2, fast_fibonacci::fib_with_mod(3, 10));
assert_eq!(546_875, fast_fibonacci::fib_with_mod(1_000_000_000_000_000, 1_000_000));
assert_eq!(875, fast_fibonacci::fib_with_mod(1_000_000_000_000_000, 1_000));