АО
Size: a a a
АО
RS
АО
@time, что немного дискредитирует результаты его вычислений.RS
АО
АО
АО
🐙
ВФ
(a∘a∘ ... n раз ... ∘a)(начальный аргумент)
либо
начальный аргумент |> a |>a ... n раз |>aВФ
АО
(a∘a∘ ... n раз ... ∘a)(начальный аргумент)
либо
начальный аргумент |> a |>a ... n раз |>amacro fn(n, ex)
func = ex.args[1]
res = ex
for i in 1:(n - 1)
res = Expr(:call, func, res)
end
return quote
$(esc(res))
end
end
f(x) = 2x
@fn 10 f(5) # 5120
@macroexpand @fn 10 f(5)
quote
f(f(f(f(f(f(f(f(f(f(5))))))))))
end
АО
АО
@fn 1000 sin(1)
0.05459297151018517
@fn 10_000 sin(1)
ERROR: syntax: invalid syntax (memory-error out of gc handles)
Stacktrace:
[1] top-level scope at none:0
АО
@btime @fn 1000 sin(1)
9.495 μs (0 allocations: 0 bytes)
АО
IterTools конечно помедленнее@btime let res
cnt = 0
for outer res in iterated(sin, 1)
cnt == 1000 && break
cnt += 1
end
end
ВФ
ВФ
ВФ