Skip to content

Commit 1b7570c

Browse files
committed
Support OffsetArray{T,N}(inds) and OffsetArray{T,N}(inds...)
1 parent fdb47b1 commit 1b7570c

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

src/OffsetArrays.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ OffsetArray{T,N}(A::AbstractArray{T,N}, offsets::Vararg{Int,N}) =
2121
(::Type{OffsetArray{T,N}}){T,N}(inds::Indices{N}) =
2222
OffsetArray{T,N,Array{T,N}}(Array{T,N}(map(length, inds)), map(indexoffset, inds))
2323
(::Type{OffsetArray{T}}){T,N}(inds::Indices{N}) = OffsetArray{T,N}(inds)
24+
(::Type{OffsetArray{T,N}}){T,N}(inds::Vararg{AbstractUnitRange,N}) = OffsetArray{T,N}(inds)
25+
(::Type{OffsetArray{T}}){T,N}(inds::Vararg{AbstractUnitRange,N}) = OffsetArray{T,N}(inds)
2426
OffsetArray{T}(A::AbstractArray{T,0}) = OffsetArray{T,0,typeof(A)}(A, ())
2527
OffsetArray{T,N}(::Type{T}, inds::Vararg{UnitRange{Int},N}) = OffsetArray{T,N}(inds)
2628

test/runtests.jl

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,16 @@ ambs = detect_ambiguities(Base, Core) # in case these have ambiguities of their
77

88
# Basics
99
for n = 0:5
10-
a = OffsetArray(ones(Int,ntuple(d->1,n)), ntuple(x->x-1,n))
11-
@test length(linearindices(a)) == 1
12-
@test indices(a) == ntuple(x->x:x,n)
13-
@test a[1] == 1
10+
for a in (OffsetArray(ones(Int,ntuple(d->1,n)), ntuple(x->x-1,n)),
11+
fill!(OffsetArray(Float64, ntuple(x->(0:0)+x, n)...), 1),
12+
fill!(OffsetArray{Float64}(ntuple(x->(0:0)+x, n)), 1),
13+
fill!(OffsetArray{Float64}(ntuple(x->(0:0)+x, n)...), 1),
14+
fill!(OffsetArray{Float64,n}(ntuple(x->(0:0)+x, n)), 1),
15+
fill!(OffsetArray{Float64,n}(ntuple(x->(0:0)+x, n)...), 1))
16+
@test length(linearindices(a)) == 1
17+
@test indices(a) == ntuple(x->x:x,n)
18+
@test a[1] == 1
19+
end
1420
end
1521
a0 = reshape([3])
1622
a = OffsetArray(a0)

0 commit comments

Comments
 (0)