On Thursday, 21 April 2022 at 05:00:53 UTC, Alain De Vos wrote:
This example limits the maximum value returned by the fibonacci function. f(n) < limit But it does not allow to return the n-th element of a fibonacci function.
You are free to use ```take():``` ```d struct FibonacciRange(long l) { /*...*/ } enum limit = long.max; void main() { FibonacciRange!limit fibs; auto fibFirst90 = fibs.take(90); auto total = fibFirst90.sum; total.writeln; // "7540113804746346428" == fib(92)-1 auto fibInfinite = recurrence!("a[n-1] + a[n-2]")(1L, 1L); assert(fibInfinite.take(92).array[$-1]-1 == total); } ``` SDB@79