Mercurial > repos > public > sbplib_julia
comparison src/Grids/grid.jl @ 1518:0cd6cf62af93 feature/grids/componentview
Merge refactor/component_type
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 21 Mar 2024 15:51:29 +0100 |
parents | 7ee7df7d9b61 b6f6425e34ac |
children | 2fa325f08b66 |
comparison
equal
deleted
inserted
replaced
1517:7ee7df7d9b61 | 1518:0cd6cf62af93 |
---|---|
25 Base.getindex(g::Grid, I::CartesianIndex) = g[Tuple(I)...] | 25 Base.getindex(g::Grid, I::CartesianIndex) = g[Tuple(I)...] |
26 | 26 |
27 """ | 27 """ |
28 coordinate_size(g) | 28 coordinate_size(g) |
29 | 29 |
30 The lenght of the coordinate vector of `Grid` `g`. | 30 The length of the coordinate vector of `Grid` `g`. |
31 """ | 31 """ |
32 coordinate_size(::Type{<:Grid{T}}) where T = _ncomponents(T) | 32 coordinate_size(::Type{<:Grid{T}}) where T = _ncomponents(T) |
33 coordinate_size(g::Grid) = coordinate_size(typeof(g)) # TBD: Name of this function?! | 33 coordinate_size(g::Grid) = coordinate_size(typeof(g)) # TBD: Name of this function?! |
34 | 34 |
35 """ | 35 """ |
36 component_type(gf) | 36 component_type(gf) |
37 | 37 |
38 The type of the components of the elements of `gf`. | 38 The type of the components of the elements of `gf`. I.e if `gf` is a vector |
39 valued grid function, `component_view(gf)` is the element type of the vectors | |
40 at each grid point. | |
41 | |
42 # Examples | |
43 ```julia-repl | |
44 julia> component_type([[1,2], [2,3], [3,4]]) | |
45 Int64 | |
46 ``` | |
39 """ | 47 """ |
40 component_type(T::Type) = eltype(eltype(T)) | 48 component_type(T::Type) = eltype(eltype(T)) |
41 component_type(t) = component_type(typeof(t)) | 49 component_type(t) = component_type(typeof(t)) |
42 | 50 |
43 componentview(gf, component_index...) = ArrayComponentView(gf, component_index) | 51 componentview(gf, component_index...) = ArrayComponentView(gf, component_index) |