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