Mercurial > repos > public > sbplib_julia
diff src/Grids/grid.jl @ 1273:7fab13c07412 refactor/grids
Allow multi-argument functions in eval_on
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Sat, 25 Feb 2023 22:57:00 +0100 |
parents | 3637daad71e8 |
children | dcd8654ca33b |
line wrap: on
line diff
--- a/src/Grids/grid.jl Sat Feb 25 22:49:43 2023 +0100 +++ b/src/Grids/grid.jl Sat Feb 25 22:57:00 2023 +0100 @@ -54,8 +54,13 @@ * Mention map(f,g) if you want a concrete array """ eval_on(g::Grid, f) = eval_on(g, f, Base.IteratorSize(g)) # TBD: Borde f vara först som i alla map, sum, och dylikt -eval_on(g::Grid, f, ::Base.HasShape) = LazyTensors.LazyFunctionArray((I...)->f(g[I...]), size(g)) - +function eval_on(g::Grid, f, ::Base.HasShape) + if hasmethod(f, (Any,)) + return LazyTensors.LazyFunctionArray((I...)->f(g[I...]), size(g)) + else + return LazyTensors.LazyFunctionArray((I...)->f(g[I...]...), size(g)) + end +end """ getcomponent(gfun, I::Vararg{Int})