PATH:
usr
/
share
/
doc
/
lua50
/
examples
-- fibonacci function with cache -- very inefficient fibonacci function function fib(n) N=N+1 if n<2 then return n else return fib(n-1)+fib(n-2) end end -- a general-purpose value cache function cache(f) local c={} return function (x) local y=c[x] if not y then y=f(x) c[x]=y end return y end end -- run and time it function test(s,f) N=0 local c=os.clock() local v=f(n) local t=os.clock()-c print(s,n,v,t,N) end n=arg[1] or 24 -- for other values, do lua fib.lua XX n=tonumber(n) print("","n","value","time","evals") test("plain",fib) fib=cache(fib) test("cached",fib)
[-] fib.lua
[edit]
[-] hello.lua
[edit]
[-] trace-calls.lua
[edit]
[-] factorial.lua
[edit]
[-] cf.lua
[edit]
[-] bisect.lua
[edit]
[-] globals.lua
[edit]
[-] undefined.lua
[edit]
[-] README
[edit]
[-] trace-globals.lua
[edit]
[-] readonly.lua
[edit]
[-] printf.lua
[edit]
[-] sieve.lua
[edit]
[-] table.lua
[edit]
[+]
..
[-] sort.lua
[edit]
[-] luac.lua
[edit]
[-] env.lua
[edit]
[-] xd.lua
[edit]
[-] life.lua
[edit]
[-] echo.lua
[edit]
[-] fibfor.lua
[edit]