Crates.io | reciter |
lib.rs | reciter |
version | 0.1.2 |
source | src |
created_at | 2018-11-10 18:19:19.794152 |
updated_at | 2018-11-10 18:46:33.238682 |
description | Macro that allows converting a recursive function into an Iterator, which uses a cache |
homepage | |
repository | https://gitlab.com/XBagon/reciter |
max_upload_size | |
id | 95927 |
size | 20,047 |
The #[reciter]
attribute macro allows converting a recursive function into an Iterator, which uses a cache.
#[reciter(cache = "auto", start = 1)]
fn factorial(n: usize) -> BigInt {
if n == 1 {
BigInt::from(1)
} else {
n * factorial(n - 1)
}
}
fn main() {
let fi = FactorialIterator::new();
for (i, fac) in fi.enumerate().take(512) {
println!("{}! = {}", i + 1, fac);
}
}
For more information look into the documentation or at the tests in the repository.