mirror of
https://github.com/TangentFoxy/lume.git
synced 2024-11-19 07:04:24 +00:00
Changed position of lume.time() function
This commit is contained in:
parent
0716caf6a1
commit
3f61d823ae
14
README.md
14
README.md
@ -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
|
||||||
|
14
lume.lua
14
lume.lua
@ -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)
|
||||||
|
@ -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 )
|
||||||
|
Loading…
Reference in New Issue
Block a user