diff --git a/src/util/fibonacci_sequence.scad b/src/util/fibonacci_sequence.scad new file mode 100644 index 00000000..9b47a59c --- /dev/null +++ b/src/util/fibonacci_sequence.scad @@ -0,0 +1,17 @@ +include <__comm__/__fast_fibonacci.scad>; + +function _fibonacci_sequence(seq, n, i = 2) = + i > n ? seq : + _fibonacci_sequence( + concat(seq, [seq[i - 1] + seq[i - 2]]), + n, + i + 1 + ); + +function fibonacci_sequence(from, to) = + let(f = __fast_fibonacci(from)) + from == to ? [f] : + _fibonacci_sequence( + [f, __fast_fibonacci(from - 1) + f], + to - from + ); \ No newline at end of file