Changed position of lume.time() function

This commit is contained in:
rxi 2014-05-01 19:23:44 +01:00
parent 0716caf6a1
commit 3f61d823ae
3 changed files with 21 additions and 21 deletions

View File

@ -216,13 +216,6 @@ slow-running computations.
fib = lume.memoize(function(n) return n < 2 and n or fib(n-1) + fib(n-2) end) fib = lume.memoize(function(n) return n < 2 and n or fib(n-1) + fib(n-2) end)
``` ```
### lume.time(fn, ...)
Inserts the arguments into function `fn` and calls it. Returns the time in
seconds the function `fn` took to execute followed by `fn`'s returned values.
```lua
lume.time(function(x) return x end, "hello") -- Returns 0, "hello"
```
### lume.combine(...) ### lume.combine(...)
Creates a wrapper function which calls each supplied argument in the order they Creates a wrapper function which calls each supplied argument in the order they
were passed to `lume.combine()`; nil arguments are ignored. The wrapper were passed to `lume.combine()`; nil arguments are ignored. The wrapper
@ -234,6 +227,13 @@ local f = lume.combine(function(a, b) print(a + b) end,
f(3, 4) -- Prints "7" then "12" on a new line f(3, 4) -- Prints "7" then "12" on a new line
``` ```
### lume.time(fn, ...)
Inserts the arguments into function `fn` and calls it. Returns the time in
seconds the function `fn` took to execute followed by `fn`'s returned values.
```lua
lume.time(function(x) return x end, "hello") -- Returns 0, "hello"
```
### lume.lambda(str) ### lume.lambda(str)
Takes a string lambda and returns a function. `str` should be a list of Takes a string lambda and returns a function. `str` should be a list of
comma-separated parameters, followed by `->`, followed by the expression which comma-separated parameters, followed by `->`, followed by the expression which

View File

@ -287,13 +287,6 @@ function lume.memoize(fn)
end end
function lume.time(fn, ...)
local start = os.clock()
local rtn = {fn(...)}
return (os.clock() - start), unpack(rtn)
end
function lume.combine(...) function lume.combine(...)
local funcs = {} local funcs = {}
for i = 1, select("#", ...) do for i = 1, select("#", ...) do
@ -309,6 +302,13 @@ function lume.combine(...)
end end
function lume.time(fn, ...)
local start = os.clock()
local rtn = {fn(...)}
return (os.clock() - start), unpack(rtn)
end
local lambda_cache = {} local lambda_cache = {}
function lume.lambda(str) function lume.lambda(str)

View File

@ -293,13 +293,6 @@ tests["lume.memoize"] = function()
testeq( f2(), nil ) testeq( f2(), nil )
end end
-- lume.time
tests["lume.time"] = function()
local t, a, b, c = lume.time(function(x) return 50, 60, x end, 70)
testeq( type(t), "number" )
testeq( {a, b, c}, {50, 60, 70} )
end
-- lume.combine -- lume.combine
tests["lume.combine"] = function() tests["lume.combine"] = function()
local acc = 0 local acc = 0
@ -314,6 +307,13 @@ tests["lume.combine"] = function()
testeq( acc, 230 ) testeq( acc, 230 )
end end
-- lume.time
tests["lume.time"] = function()
local t, a, b, c = lume.time(function(x) return 50, 60, x end, 70)
testeq( type(t), "number" )
testeq( {a, b, c}, {50, 60, 70} )
end
-- lume.lambda -- lume.lambda
tests["lume.lambda"] = function() tests["lume.lambda"] = function()
testeq( lume.lambda "x->x*x"(10), 100 ) testeq( lume.lambda "x->x*x"(10), 100 )