aboutsummaryrefslogtreecommitdiff
path: root/tests/fibonacci.lua
diff options
context:
space:
mode:
authorBenoit Germain <bnt.germain@gmail.com>2013-01-30 20:28:47 +0100
committerBenoit Germain <bnt.germain@gmail.com>2013-01-30 20:28:47 +0100
commitb657f38535c3c27a848353ef853d6667d6acc917 (patch)
tree8679a62c0b6343eae4781cff10a0ea60460d9cb4 /tests/fibonacci.lua
parent3377b95704e611a288791fee6a7bc59c5ecebf2d (diff)
downloadlanes-b657f38535c3c27a848353ef853d6667d6acc917.tar.gz
lanes-b657f38535c3c27a848353ef853d6667d6acc917.tar.bz2
lanes-b657f38535c3c27a848353ef853d6667d6acc917.zip
version 3.5.0
* new: API lanes.require(), use it instead of regular require() for modules that export C functions you need to send over. * new: lanes no longer require 'lanes.core' by default in every created state. Use {required={"lanes.core"}} if you need to transfer lanes functions. * internal: because of the above, reworked the timer implementation to remove upvalue-dependency on lanes.core * new: API lanes.timer_lane, to be able to operate on timer lane if need be * improved: if a module is a full userdata, scan its metatable for function database population * improved: on_state_create can be a Lua function * changed: on_state_create is called after the base libraries are loaded * package[loaders|searchers] is no longer transfered as function naming depends on slot order * internal: changed separator from '.' to '/' in lookup databases to be able to distinguish search levels and dot coming from module names * added some mode debug spew * updated tests to reflect the above changes
Diffstat (limited to 'tests/fibonacci.lua')
-rw-r--r--tests/fibonacci.lua9
1 files changed, 6 insertions, 3 deletions
diff --git a/tests/fibonacci.lua b/tests/fibonacci.lua
index 48cd8d7..a5e0b2a 100644
--- a/tests/fibonacci.lua
+++ b/tests/fibonacci.lua
@@ -28,6 +28,7 @@ local KNOWN= { [0]=0, 1,1,2,3,5,8,13,21,34,55,89,144 }
28-- uint= fib( n_uint ) 28-- uint= fib( n_uint )
29-- 29--
30local function fib( n ) 30local function fib( n )
31 --local lanes = require"lanes".configure()
31 -- 32 --
32 local sum 33 local sum
33 local floor= assert(math.floor) 34 local floor= assert(math.floor)
@@ -39,9 +40,11 @@ local function fib( n )
39 else 40 else
40 -- Splits into two; this task remains waiting for the results 41 -- Splits into two; this task remains waiting for the results
41 -- 42 --
42 -- note that lanes is pulled in as upvalue, so we need package library to require internals properly 43 -- note that lanes is pulled in by upvalue, so we need lanes.core to be available
43 -- (because lua51-lanes is always required internally if possible, which is necessary in that case) 44 -- the other solution is to require "lanes" from inside the lane body, as in:
44 local gen_f= lanes.gen( "*", fib ) 45 -- local lanes = require"lanes".configure()
46 -- local gen_f= lanes.gen( "*", fib)
47 local gen_f= lanes.gen( "*", {required={"lanes.core"}}, fib)
45 48
46 local n1=floor(n/2) +1 49 local n1=floor(n/2) +1
47 local n2=floor(n/2) -1 + n%2 50 local n2=floor(n/2) -1 + n%2