mirror of
https://github.com/krgamestudios/Toy.git
synced 2026-04-15 14:54:07 +10:00
Tweaked the runner test, should be orders of magnitude faster
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
//WARNING: please think twice before using this in a test
|
||||||
fn fib(n : int) {
|
fn fib(n : int) {
|
||||||
if (n < 2) return n;
|
if (n < 2) return n;
|
||||||
return fib(n-1) + fib(n-2);
|
return fib(n-1) + fib(n-2);
|
||||||
|
|||||||
@@ -1,12 +1,21 @@
|
|||||||
fn fib(n : int) {
|
//memoize the fib function
|
||||||
if (n < 2) {
|
var memo: [int : int] = [:];
|
||||||
return n;
|
|
||||||
}
|
|
||||||
|
|
||||||
return fib(n-1) + fib(n-2);
|
fn fib(n : int) {
|
||||||
|
if (n < 2) {
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = memo[n];
|
||||||
|
if (result == null) {
|
||||||
|
result = fib(n-1) + fib(n-2);
|
||||||
|
memo[n] = result;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var i = 0; i < 20; i++) {
|
for (var i = 0; i < 40; i++) {
|
||||||
var res = fib(i);
|
var res = fib(i);
|
||||||
print string i + ": " + string res;
|
print string i + ": " + string res;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user