mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-04-14 03:01:58 +02:00
use scad
This commit is contained in:
parent
67a5465e09
commit
60d9cba21a
17
src/util/_impl/_fibseq_impl.scad
Normal file
17
src/util/_impl/_fibseq_impl.scad
Normal file
@ -0,0 +1,17 @@
|
||||
use <__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 _fibseq_impl(from, to) =
|
||||
let(f = __fast_fibonacci(from))
|
||||
from == to ? [f] :
|
||||
_fibonacci_sequence(
|
||||
[f, __fast_fibonacci(from - 1) + f],
|
||||
to - from
|
||||
);
|
@ -8,20 +8,6 @@
|
||||
*
|
||||
**/
|
||||
|
||||
include <__comm__/__fast_fibonacci.scad>;
|
||||
use <_impl/_fibseq_impl.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 fibseq(from, to) =
|
||||
let(f = __fast_fibonacci(from))
|
||||
from == to ? [f] :
|
||||
_fibonacci_sequence(
|
||||
[f, __fast_fibonacci(from - 1) + f],
|
||||
to - from
|
||||
);
|
||||
function fibseq(from, to) = _fibseq_impl(from, to);
|
10
test/util/test_fibseq.scad
Normal file
10
test/util/test_fibseq.scad
Normal file
@ -0,0 +1,10 @@
|
||||
use <unittest.scad>;
|
||||
use <util/fibseq.scad>;
|
||||
|
||||
module test_fibseq() {
|
||||
echo("==== test fibseq ====");
|
||||
|
||||
assert([1, 1, 2, 3, 5, 8, 13, 21, 34, 55] == fibseq(1, 10));
|
||||
}
|
||||
|
||||
test_fibseq();
|
Loading…
x
Reference in New Issue
Block a user