77 using Base: IdentityUnitRange
88end
99
10- export OffsetArray, OffsetVector
10+ export OffsetArray, OffsetMatrix, OffsetVector
1111
1212include (" axes.jl" )
1313
@@ -17,6 +17,7 @@ struct OffsetArray{T,N,AA<:AbstractArray} <: AbstractArray{T,N}
1717 offsets:: NTuple{N,Int}
1818end
1919OffsetVector{T,AA<: AbstractArray } = OffsetArray{T,1 ,AA}
20+ OffsetMatrix{T,AA<: AbstractArray } = OffsetArray{T,2 ,AA}
2021
2122# # OffsetArray constructors
2223
@@ -44,6 +45,10 @@ OffsetArray{T}(init::ArrayInitializer, inds::Vararg{AbstractUnitRange,N}) where
4445OffsetVector (A:: AbstractVector , offset) = OffsetArray (A, offset)
4546OffsetVector {T} (init:: ArrayInitializer , inds:: AbstractUnitRange ) where {T} = OffsetArray {T} (init, inds)
4647
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+
4752"""
4853 OffsetArray(A, indices...)
4954
0 commit comments