7
7
using Base: IdentityUnitRange
8
8
end
9
9
10
- export OffsetArray, OffsetVector
10
+ export OffsetArray, OffsetMatrix, OffsetVector
11
11
12
12
include (" axes.jl" )
13
13
@@ -17,6 +17,7 @@ struct OffsetArray{T,N,AA<:AbstractArray} <: AbstractArray{T,N}
17
17
offsets:: NTuple{N,Int}
18
18
end
19
19
OffsetVector{T,AA<: AbstractArray } = OffsetArray{T,1 ,AA}
20
+ OffsetMatrix{T,AA<: AbstractArray } = OffsetArray{T,2 ,AA}
20
21
21
22
# # OffsetArray constructors
22
23
@@ -44,6 +45,10 @@ OffsetArray{T}(init::ArrayInitializer, inds::Vararg{AbstractUnitRange,N}) where
44
45
OffsetVector (A:: AbstractVector , offset) = OffsetArray (A, offset)
45
46
OffsetVector {T} (init:: ArrayInitializer , inds:: AbstractUnitRange ) where {T} = OffsetArray {T} (init, inds)
46
47
48
+ # OffsetMatrix constructors
49
+ OffsetMatrix (A:: AbstractMatrix , offset1, offset2) = OffsetArray (A, offset1, offset2)
50
+ OffsetMatrix {T} (init:: ArrayInitializer , inds1:: AbstractUnitRange , inds2:: AbstractUnitRange ) where {T} = OffsetArray {T} (init, inds1, inds2)
51
+
47
52
"""
48
53
OffsetArray(A, indices...)
49
54
0 commit comments