Mercurial > repos > public > sbplib_julia
comparison src/Grids/zero_dim_grid.jl @ 1262:5e28ae42caf2 refactor/grids
Clean up IteratorSize and eltype for EquidistantGrid, Grid, and ZeroDimGrid
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 23 Feb 2023 22:29:36 +0100 |
parents | 8b9a77d2dc91 |
children | dbddd0f61bde |
comparison
equal
deleted
inserted
replaced
1261:a4834779cd6d | 1262:5e28ae42caf2 |
---|---|
4 """ | 4 """ |
5 struct ZeroDimGrid{T} <: Grid{T,0} | 5 struct ZeroDimGrid{T} <: Grid{T,0} |
6 point::T | 6 point::T |
7 end | 7 end |
8 | 8 |
9 # # Indexing interface | 9 # Indexing interface |
10 Base.getindex(g::ZeroDimGrid) = g.point | 10 Base.getindex(g::ZeroDimGrid) = g.point |
11 Base.eachindex(g::ZeroDimGrid) = CartesianIndices(()) | 11 Base.eachindex(g::ZeroDimGrid) = CartesianIndices(()) |
12 | 12 |
13 # # Iteration interface | 13 # Iteration interface |
14 Base.iterate(g::ZeroDimGrid) = (g.point, nothing) | 14 Base.iterate(g::ZeroDimGrid) = (g.point, nothing) |
15 Base.iterate(g::ZeroDimGrid, ::Any) = nothing | 15 Base.iterate(g::ZeroDimGrid, ::Any) = nothing |
16 | 16 |
17 Base.IteratorSize(::Type{ZeroDimGrid{T}}) where T = Base.HasShape{0}() | 17 Base.IteratorSize(::Type{<:ZeroDimGrid}) = Base.HasShape{0}() |
18 Base.eltype(::Type{ZeroDimGrid{T}}) where T = T | |
19 Base.length(g::ZeroDimGrid) = 1 | 18 Base.length(g::ZeroDimGrid) = 1 |
20 Base.size(g::ZeroDimGrid) = () | 19 Base.size(g::ZeroDimGrid) = () |