@@ -25,21 +25,6 @@ for f in (:getindex, :view, :dotview)
2525 Base.$ f (parent (A), i)
2626 end
2727 @eval begin
28- # ## Standard indices
29- @propagate_inbounds Base.$ f (A:: AbstractBasicDimVector , I:: CartesianIndex ) =
30- Base.$ f (A, to_indices (A, (I,))... )
31- @propagate_inbounds Base.$ f (A:: AbstractBasicDimArray , I:: CartesianIndex ) =
32- Base.$ f (A, to_indices (A, (I,))... )
33- @eval @propagate_inbounds Base.$ f (A:: AbstractBasicDimArray , i1:: IntegerOrCartesian , i2:: IntegerOrCartesian , Is:: IntegerOrCartesian... ) =
34- Base.$ f (A, to_indices (A, (i1, i2, Is... ))... )
35- # 1D DimArrays dont need linear indexing
36- @propagate_inbounds Base.$ f (A:: AbstractBasicDimVector , i:: Union{Colon,AbstractArray{<:Integer}} ) =
37- rebuildsliced (Base.$ f, A, (i,))
38- @propagate_inbounds Base.$ f (A:: AbstractBasicDimVector , I:: CartesianIndices ) = rebuildsliced (Base.$ f, A, (I,))
39- @propagate_inbounds Base.$ f (A:: AbstractBasicDimArray , I:: CartesianIndices ) = rebuildsliced (Base.$ f, A, (I,))
40- @eval @propagate_inbounds Base.$ f (A:: AbstractBasicDimArray , i1:: StandardIndices , i2:: StandardIndices , Is:: StandardIndices... ) =
41- rebuildsliced (Base.$ f, A, to_indices (A, (i1, i2, Is... )))
42-
4328 # ## Selector/Interval indexing
4429 @propagate_inbounds Base.$ f (A:: AbstractBasicDimVector , i:: SelectorOrInterval ) =
4530 Base.$ f (A, dims2indices (A, (i,))... )
@@ -93,6 +78,21 @@ for f in (:getindex, :view, :dotview)
9378 Dimensions. _extradimswarn ((d1, ds... ))
9479 return rebuildsliced (Base.$ f, A, ())
9580 end
81+
82+ # ## Standard indices
83+ @propagate_inbounds Base.$ f (A:: AbstractBasicDimVector , I:: CartesianIndex ) =
84+ Base.$ f (A, to_indices (A, (I,))... )
85+ @propagate_inbounds Base.$ f (A:: AbstractBasicDimArray , I:: CartesianIndex ) =
86+ Base.$ f (A, to_indices (A, (I,))... )
87+ @propagate_inbounds Base.$ f (A:: AbstractBasicDimArray , i1:: IntegerOrCartesian , i2:: IntegerOrCartesian , Is:: IntegerOrCartesian... ) =
88+ Base.$ f (A, to_indices (A, (i1, i2, Is... ))... )
89+ # 1D DimArrays dont need linear indexing
90+ @propagate_inbounds Base.$ f (A:: AbstractBasicDimVector , i:: Union{Colon,AbstractArray{<:Integer}} ) =
91+ rebuildsliced (Base.$ f, A, (i,))
92+ @propagate_inbounds Base.$ f (A:: AbstractBasicDimVector , I:: CartesianIndices ) = rebuildsliced (Base.$ f, A, (I,))
93+ @propagate_inbounds Base.$ f (A:: AbstractBasicDimArray , I:: CartesianIndices ) = rebuildsliced (Base.$ f, A, (I,))
94+ @propagate_inbounds Base.$ f (A:: AbstractBasicDimArray , i1:: StandardIndices , i2:: StandardIndices , Is:: StandardIndices... ) =
95+ rebuildsliced (Base.$ f, A, to_indices (A, (i1, i2, Is... )))
9696 end
9797
9898 # #### AbstractDimArray only methods
@@ -231,4 +231,4 @@ Base.@assume_effects :foldable @inline _simplify_dim_indices() = ()
231231
232232# We only own this to_indices dispatch for AbstractBasicDimArray
233233Base. to_indices (A:: AbstractBasicDimArray , inds, (r, args... ):: Tuple{<:Type,Vararg} ) =
234- (Lookups. _to_index (inds[1 ], r), to_indices (A, Base. tail (inds), args)... )
234+ (Lookups. _to_index (inds[1 ], r), to_indices (A, Base. tail (inds), args)... )
0 commit comments