Mercurial > repos > public > sbplib_julia
view AbstractGrid.jl @ 123:5df4ccb19476 cell_based_test
Undo changes of 3560f54e3eb3 and change to result a little bit to avoid allocations.
Trying different signatres reveals some strange interactions with julias dispatch:
allocate: getrange(gridsize::Integer, closuresize::Integer, region::Type{<:Region})
no allocate: getrange(gridsize::Integer, closuresize::Integer, region::R) where R
allocate: getrange(gridsize::Integer, closuresize::Integer, region::R) where R <: Type{<:Region}
no allocate: getrange(gridsize::Integer, closuresize::Integer, region::DataType)
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 13 Feb 2019 10:58:57 +0100 |
parents | 614b56a017b9 |
children | 631eb9b35d72 |
line wrap: on
line source
abstract type AbstractGrid end function numberOfDimensions(grid::AbstractGrid) error("Not implemented for abstact type AbstractGrid") end function numberOfPoints(grid::AbstractGrid) error("Not implemented for abstact type AbstractGrid") end function points(grid::AbstractGrid) error("Not implemented for abstact type AbstractGrid") end # Evaluate function f on the grid g function evalOn(g::AbstractGrid, f::Function) F(x) = f(x...) return F.(points(g)) end