This commit is contained in:
Araq 2015-02-18 13:22:06 +01:00
commit b7f11b8b0a
7 changed files with 113 additions and 20 deletions

View file

@ -4,16 +4,16 @@ discard """
import tables
proc memoize(f: proc (a: int): int): proc (a: int): int =
var previous = initTable[int, int]()
return proc(i: int): int =
proc memoize(f: proc (a: int64): int64): proc (a: int64): int64 =
var previous = initTable[int64, int64]()
return proc(i: int64): int64 =
if not previous.hasKey i:
previous[i] = f(i)
return previous[i]
var fib: proc(a: int): int
var fib: proc(a: int64): int64
fib = memoize(proc (i: int): int =
fib = memoize(proc (i: int64): int64 =
if i == 0 or i == 1:
return 1
return fib(i-1) + fib(i-2)

View file

@ -1,5 +1,6 @@
discard """
file: "tissue1642.nim"
disabled: true
"""
block:
var i = 0