@@ -27,45 +27,45 @@ OffsetArray(A::AbstractArray{T,N}, offsets::NTuple{N,Int}) where {T,N} =
2727OffsetArray (A:: AbstractArray{T,N} , offsets:: Vararg{Int,N} ) where {T,N} =
2828 OffsetArray (A, offsets)
2929
30- OffsetArray {T,N} (:: Uninitialized , inds:: Indices{N} ) where {T,N} =
31- OffsetArray {T,N,Array{T,N}} (Array {T,N} (uninitialized , map (length, inds)), map (indexoffset, inds))
32- OffsetArray {T} (:: Uninitialized , inds:: Indices{N} ) where {T,N} = OffsetArray {T,N} (uninitialized , inds)
33- OffsetArray {T,N} (:: Uninitialized , inds:: Vararg{AbstractUnitRange,N} ) where {T,N} = OffsetArray {T,N} (uninitialized , inds)
34- OffsetArray {T} (:: Uninitialized , inds:: Vararg{AbstractUnitRange,N} ) where {T,N} = OffsetArray {T,N} (uninitialized , inds)
30+ OffsetArray {T,N} (:: UndefInitializer , inds:: Indices{N} ) where {T,N} =
31+ OffsetArray {T,N,Array{T,N}} (Array {T,N} (undef , map (length, inds)), map (indexoffset, inds))
32+ OffsetArray {T} (:: UndefInitializer , inds:: Indices{N} ) where {T,N} = OffsetArray {T,N} (undef , inds)
33+ OffsetArray {T,N} (:: UndefInitializer , inds:: Vararg{AbstractUnitRange,N} ) where {T,N} = OffsetArray {T,N} (undef , inds)
34+ OffsetArray {T} (:: UndefInitializer , inds:: Vararg{AbstractUnitRange,N} ) where {T,N} = OffsetArray {T,N} (undef , inds)
3535OffsetArray (A:: AbstractArray{T,0} ) where {T} = OffsetArray {T,0,typeof(A)} (A, ())
3636
3737# OffsetVector constructors
3838OffsetVector (A:: AbstractVector , offset) = OffsetArray (A, offset)
39- OffsetVector {T} (:: Uninitialized , inds:: AbstractUnitRange ) where {T} = OffsetArray {T} (uninitialized , inds)
39+ OffsetVector {T} (:: UndefInitializer , inds:: AbstractUnitRange ) where {T} = OffsetArray {T} (undef , inds)
4040
4141# deprecated constructors
4242using Base: @deprecate
4343
4444# https://github.com/JuliaLang/julia/pull/19989
45- @static if isdefined (Base, :Uninitialized )
46- @deprecate OffsetArray (:: Type{T} , inds:: Vararg{UnitRange{Int},N} ) where {T,N} OffsetArray {T} (uninitialized , inds)
47- @deprecate OffsetVector (:: Type{T} , inds:: AbstractUnitRange ) where {T} OffsetVector {T} (uninitialized , inds)
45+ @static if isdefined (Base, :UndefInitializer )
46+ @deprecate OffsetArray (:: Type{T} , inds:: Vararg{UnitRange{Int},N} ) where {T,N} OffsetArray {T} (undef , inds)
47+ @deprecate OffsetVector (:: Type{T} , inds:: AbstractUnitRange ) where {T} OffsetVector {T} (undef , inds)
4848else
4949 OffsetArray (:: Type{T} , inds:: Vararg{UnitRange{Int},N} ) where {T,N} = OffsetArray {T} (inds)
5050 OffsetVector (:: Type{T} , inds:: AbstractUnitRange ) where {T} = OffsetVector {T} (inds)
5151end
5252
5353# https://github.com/JuliaLang/julia/pull/24652
54- # Only activate deprecation if `uninitialized ` is available from Base;
55- # should not rely on the user having `uninitialized ` available from Compat
56- # and OffsetArrays.jl should probably not re-export Compat.uninitialized
57- @static if isdefined (Base, :Uninitialized )
58- @deprecate OffsetArray {T,N} (inds:: Indices{N} ) where {T,N} OffsetArray {T,N} (uninitialized , inds)
59- @deprecate OffsetArray {T} (inds:: Indices{N} ) where {T,N} OffsetArray {T} (uninitialized , inds)
60- @deprecate OffsetArray {T,N} (inds:: Vararg{AbstractUnitRange,N} ) where {T,N} OffsetArray {T,N} (uninitialized , inds)
61- @deprecate OffsetArray {T} (inds:: Vararg{AbstractUnitRange,N} ) where {T,N} OffsetArray {T} (uninitialized , inds)
62- @deprecate OffsetVector {T} (inds:: AbstractUnitRange ) where {T} OffsetVector {T} (uninitialized , inds)
54+ # Only activate deprecation if `undef ` is available from Base;
55+ # should not rely on the user having `undef ` available from Compat
56+ # and OffsetArrays.jl should probably not re-export Compat.undef
57+ @static if isdefined (Base, :UndefInitializer )
58+ @deprecate OffsetArray {T,N} (inds:: Indices{N} ) where {T,N} OffsetArray {T,N} (undef , inds)
59+ @deprecate OffsetArray {T} (inds:: Indices{N} ) where {T,N} OffsetArray {T} (undef , inds)
60+ @deprecate OffsetArray {T,N} (inds:: Vararg{AbstractUnitRange,N} ) where {T,N} OffsetArray {T,N} (undef , inds)
61+ @deprecate OffsetArray {T} (inds:: Vararg{AbstractUnitRange,N} ) where {T,N} OffsetArray {T} (undef , inds)
62+ @deprecate OffsetVector {T} (inds:: AbstractUnitRange ) where {T} OffsetVector {T} (undef , inds)
6363else
64- OffsetArray {T,N} (inds:: Indices{N} ) where {T,N} = OffsetArray {T,N} (uninitialized , inds)
65- OffsetArray {T} (inds:: Indices{N} ) where {T,N} = OffsetArray {T} (uninitialized , inds)
66- OffsetArray {T,N} (inds:: Vararg{AbstractUnitRange,N} ) where {T,N} = OffsetArray {T,N} (uninitialized , inds)
67- OffsetArray {T} (inds:: Vararg{AbstractUnitRange,N} ) where {T,N} = OffsetArray {T} (uninitialized , inds)
68- OffsetVector {T} (inds:: AbstractUnitRange ) where {T} = OffsetVector {T} (uninitialized , inds)
64+ OffsetArray {T,N} (inds:: Indices{N} ) where {T,N} = OffsetArray {T,N} (undef , inds)
65+ OffsetArray {T} (inds:: Indices{N} ) where {T,N} = OffsetArray {T} (undef , inds)
66+ OffsetArray {T,N} (inds:: Vararg{AbstractUnitRange,N} ) where {T,N} = OffsetArray {T,N} (undef , inds)
67+ OffsetArray {T} (inds:: Vararg{AbstractUnitRange,N} ) where {T,N} = OffsetArray {T} (undef , inds)
68+ OffsetVector {T} (inds:: AbstractUnitRange ) where {T} = OffsetVector {T} (undef , inds)
6969end
7070
7171
@@ -119,9 +119,9 @@ Base.similar(f::Function, shape::Tuple{UnitRange,Vararg{UnitRange}}) =
119119Base. similar (:: Type{T} , shape:: Tuple{UnitRange,Vararg{UnitRange}} ) where {T<: OffsetArray } =
120120 OffsetArray (T (map (length, shape)), map (indexoffset, shape))
121121Base. similar (:: Type{T} , shape:: Tuple{UnitRange,Vararg{UnitRange}} ) where {T<: Array } =
122- OffsetArray (T (uninitialized , map (length, shape)), map (indexoffset, shape))
122+ OffsetArray (T (undef , map (length, shape)), map (indexoffset, shape))
123123Base. similar (:: Type{T} , shape:: Tuple{UnitRange,Vararg{UnitRange}} ) where {T<: BitArray } =
124- OffsetArray (T (uninitialized , map (length, shape)), map (indexoffset, shape))
124+ OffsetArray (T (undef , map (length, shape)), map (indexoffset, shape))
125125
126126Base. reshape (A:: AbstractArray , inds:: Tuple{UnitRange,Vararg{UnitRange}} ) =
127127 OffsetArray (reshape (A, map (length, inds)), map (indexoffset, inds))
168168# ## Convenience functions ###
169169
170170Base. fill (x, inds:: Tuple{UnitRange,Vararg{UnitRange}} ) =
171- fill! (OffsetArray {typeof(x)} (uninitialized , inds), x)
171+ fill! (OffsetArray {typeof(x)} (undef , inds), x)
172172@inline Base. fill (x, ind1:: UnitRange , inds:: UnitRange... ) = fill (x, (ind1, inds... ))
173173
174174# ## Low-level utilities ###
0 commit comments