Expand description
Function memoization
§Example
use memoized::{memoize_rec, Memoized};
fn fib(n: u64) -> u64 {
match n {
0 | 1 => n,
_ => fib(n - 1) + fib(n - 2)
}
}
let mut fib_memo = memoize_rec(|fib, n: u64| {
match n {
0 | 1 => n,
_ => fib(n - 1) + fib(n - 2)
}
});
for n in 0..20 {
assert_eq!(fib(n), fib_memo.call_cloned(n));
}Structs§
- Closure
- A non-reentrant closure with signature: (A) -> R
- Recursive
Closure - A recursive closure with signature: ( (A) -> R , A ) -> R
Traits§
- Memoized
- Represents a memoized function with the signature
(A) -> R
Functions§
- memoize
- Memoizes the given function
- memoize_
rec - Memoizes a recursive function.