changeset 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 a4834779cd6d
children b0819f6b9d4a
files src/Grids/equidistant_grid.jl src/Grids/grid.jl src/Grids/zero_dim_grid.jl
diffstat 3 files changed, 6 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/Grids/equidistant_grid.jl	Thu Feb 23 12:23:49 2023 +0100
+++ b/src/Grids/equidistant_grid.jl	Thu Feb 23 22:29:36 2023 +0100
@@ -17,8 +17,7 @@
 Base.iterate(g::EquidistantGrid) = iterate(g.points)
 Base.iterate(g::EquidistantGrid, state) = iterate(g.points, state)
 
-Base.IteratorSize(::Type{EquidistantGrid{T,R}}) where {T,R} = Base.HasShape{1}()
-Base.eltype(::Type{EquidistantGrid{T}}) where T = T
+Base.IteratorSize(::Type{<:EquidistantGrid}) = Base.HasShape{1}()
 Base.length(g::EquidistantGrid) = length(g.points)
 Base.size(g::EquidistantGrid) = size(g.points)
 
--- a/src/Grids/grid.jl	Thu Feb 23 12:23:49 2023 +0100
+++ b/src/Grids/grid.jl	Thu Feb 23 22:29:36 2023 +0100
@@ -11,8 +11,8 @@
 abstract type Grid{T,D} end
 
 
-Base.ndims(::Grid{T,D}) where {T,D} = D # nidms borde nog vara antalet index som används för att indexera nätet. Snarare än vilken dimension nätet har (tänk ostrukturerat)
-Base.eltype(::Grid{T,D}) where {T,D} = T # vad ska eltype vara? Inte T väl... en vektor? SVector{T,D}?
+Base.ndims(::Grid{T,D}) where {T,D} = D
+Base.eltype(::Type{<:Grid{T}}) where T = T
 
 function refine(::Grid) end
 function coarsen(::Grid) end # Should this be here? What if it is not possible?
--- a/src/Grids/zero_dim_grid.jl	Thu Feb 23 12:23:49 2023 +0100
+++ b/src/Grids/zero_dim_grid.jl	Thu Feb 23 22:29:36 2023 +0100
@@ -6,15 +6,14 @@
     point::T
 end
 
-# # Indexing interface
+# Indexing interface
 Base.getindex(g::ZeroDimGrid) = g.point
 Base.eachindex(g::ZeroDimGrid) = CartesianIndices(())
 
-# # Iteration interface
+# Iteration interface
 Base.iterate(g::ZeroDimGrid) = (g.point, nothing)
 Base.iterate(g::ZeroDimGrid, ::Any) = nothing
 
-Base.IteratorSize(::Type{ZeroDimGrid{T}}) where T = Base.HasShape{0}()
-Base.eltype(::Type{ZeroDimGrid{T}}) where T = T
+Base.IteratorSize(::Type{<:ZeroDimGrid}) = Base.HasShape{0}()
 Base.length(g::ZeroDimGrid) = 1
 Base.size(g::ZeroDimGrid) = ()