From 7ef6e6fbf77c5763d965ca585b0132f68103a2b2 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Thu, 3 Oct 2019 15:07:05 +0800 Subject: [PATCH] add fib_seq --- src/util/fibonacci_sequence.scad | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/util/fibonacci_sequence.scad 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