June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -1,16 +1,20 @@
|
|||
drop(n, gen) = (for i=1:n gen() end ; gen)
|
||||
drop(gen::Function, n::Integer) = (for _ in 1:n gen() end; gen)
|
||||
take(gen::Function, n::Integer) = collect(gen() for _ in 1:n)
|
||||
|
||||
take(n, gen) = [gen() for i=1:n]
|
||||
|
||||
pgen(n) = let x=0; () -> (x+=1)^n; end
|
||||
|
||||
function genfilter(gen1, gen2)
|
||||
let r1 = -Inf, r2 = gen2()
|
||||
() -> begin
|
||||
r1 = gen1()
|
||||
while r2 < r1 r2 = gen2() end
|
||||
while r1 == r2 r1 = gen1() end
|
||||
r1
|
||||
end
|
||||
end
|
||||
function pgen(n::Number)
|
||||
x = 0
|
||||
return () -> (x += 1) ^ n
|
||||
end
|
||||
|
||||
function genfilter(g1::Function, g2::Function)
|
||||
local r1
|
||||
local r2 = g2()
|
||||
return () -> begin
|
||||
r1 = g1()
|
||||
while r2 < r1 r2 = g2() end
|
||||
while r1 == r2 r1 = g1() end
|
||||
return r1
|
||||
end
|
||||
end
|
||||
|
||||
@show take(drop(genfilter(pgen(2), pgen(3)), 20), 10)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue