Skip to content

Commit ee0dced

Browse files
authored
Do not specialize eachindex and size (#206)
* do not specialize eachindex * do not specialize size(::OffsetArray, d) * Add tests
1 parent c805039 commit ee0dced

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

src/OffsetArrays.jl

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -226,11 +226,7 @@ Base.parent(A::OffsetArray) = A.parent
226226
# The goal would be to have `OffsetArray(CuArray) .+ 1 == OffsetArray{CuArray}`.
227227
# Base.Broadcast.BroadcastStyle(::Type{<:OffsetArray{<:Any, <:Any, AA}}) where AA = Base.Broadcast.BroadcastStyle(AA)
228228

229-
Base.eachindex(::IndexCartesian, A::OffsetArray) = CartesianIndices(axes(A))
230-
Base.eachindex(::IndexLinear, A::OffsetVector) = axes(A, 1)
231-
232229
@inline Base.size(A::OffsetArray) = size(parent(A))
233-
@inline Base.size(A::OffsetArray, d) = size(parent(A), d)
234230

235231
@inline Base.axes(A::OffsetArray) = map(IdOffsetRange, axes(parent(A)), A.offsets)
236232
@inline Base.axes(A::OffsetArray, d) = d <= ndims(A) ? IdOffsetRange(axes(parent(A), d), A.offsets[d]) : IdOffsetRange(axes(parent(A), d))

test/runtests.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -713,7 +713,11 @@ end
713713
@test_throws DimensionMismatch OffsetArray(A0, 0:2, 3:4)
714714
@test_throws DimensionMismatch OffsetArray(A0, 0:1, 2:4)
715715
@test eachindex(IndexLinear(), A) == eachindex(IndexLinear(), parent(A))
716-
@test eachindex(IndexCartesian(), A) == CartesianIndices(A)
716+
@test eachindex(IndexCartesian(), A) == CartesianIndices(A) == CartesianIndices(axes(A))
717+
@test eachindex(S) == eachindex(IndexCartesian(), S) == CartesianIndices(S)
718+
@test eachindex(IndexLinear(), S) == eachindex(IndexLinear(), A0)
719+
A = ones(5:6)
720+
@test eachindex(IndexLinear(), A) === axes(A, 1)
717721
end
718722

719723
@testset "Scalar indexing" begin

0 commit comments

Comments
 (0)