@@ -388,15 +388,15 @@ end
388388@inline Base. IteratorSize (:: Type{<:AbstractVectorOfArray} ) = Base. HasLength ()
389389@inline Base. first (VA:: AbstractVectorOfArray ) = first (VA. u)
390390@inline Base. last (VA:: AbstractVectorOfArray ) = last (VA. u)
391- function Base. firstindex (VA:: AbstractVectorOfArray{T,N, A} ) where {T,N, A}
391+ function Base. firstindex (VA:: AbstractVectorOfArray{T, N, A} ) where {T, N, A}
392392 N > 1 && Base. depwarn (
393393 " Linear indexing of `AbstractVectorOfArray` is deprecated. Change `A[i]` to `A.u[i]` " ,
394394 :firstindex )
395395 return firstindex (VA. u)
396396end
397397
398- function Base. lastindex (VA:: AbstractVectorOfArray{T,N, A} ) where {T,N, A}
399- N > 1 && Base. depwarn (
398+ function Base. lastindex (VA:: AbstractVectorOfArray{T, N, A} ) where {T, N, A}
399+ N > 1 && Base. depwarn (
400400 " Linear indexing of `AbstractVectorOfArray` is deprecated. Change `A[i]` to `A.u[i]` " ,
401401 :lastindex )
402402 return lastindex (VA. u)
@@ -420,13 +420,17 @@ Base.getindex(A::AbstractVectorOfArray, I::AbstractArray{Int}) = A.u[I]
420420Base. getindex (A:: AbstractDiffEqArray , I:: Int ) = A. u[I]
421421Base. getindex (A:: AbstractDiffEqArray , I:: AbstractArray{Int} ) = A. u[I]
422422
423- @deprecate Base. getindex (VA:: AbstractVectorOfArray{T,N,A} , I:: Int ) where {T,N,A<: Union{AbstractArray, AbstractVectorOfArray} } VA. u[I] false
423+ @deprecate Base. getindex (VA:: AbstractVectorOfArray{T, N, A} ,
424+ I:: Int ) where {T, N, A <: Union{AbstractArray, AbstractVectorOfArray} } VA. u[I] false
424425
425- @deprecate Base. getindex (VA:: AbstractVectorOfArray{T,N,A} , I:: AbstractArray{Int} ) where {T,N,A<: Union{AbstractArray, AbstractVectorOfArray} } VA. u[I] false
426+ @deprecate Base. getindex (VA:: AbstractVectorOfArray{T, N, A} ,
427+ I:: AbstractArray{Int} ) where {T, N, A <: Union{AbstractArray, AbstractVectorOfArray} } VA. u[I] false
426428
427- @deprecate Base. getindex (VA:: AbstractDiffEqArray{T,N,A} , I:: AbstractArray{Int} ) where {T,N,A<: Union{AbstractArray, AbstractVectorOfArray} } VA. u[I] false
429+ @deprecate Base. getindex (VA:: AbstractDiffEqArray{T, N, A} ,
430+ I:: AbstractArray{Int} ) where {T, N, A <: Union{AbstractArray, AbstractVectorOfArray} } VA. u[I] false
428431
429- @deprecate Base. getindex (VA:: AbstractDiffEqArray{T,N,A} , i:: Int ) where {T,N,A<: Union{AbstractArray, AbstractVectorOfArray} } VA. u[i] false
432+ @deprecate Base. getindex (VA:: AbstractDiffEqArray{T, N, A} ,
433+ i:: Int ) where {T, N, A <: Union{AbstractArray, AbstractVectorOfArray} } VA. u[i] false
430434
431435__parameterless_type (T) = Base. typename (T). wrapper
432436
@@ -450,8 +454,12 @@ struct RaggedRange
450454end
451455
452456Base.:(:)(stop:: RaggedEnd ) = RaggedRange (stop. dim, 1 , 1 , stop. offset)
453- Base.:(:)(start:: Integer , stop:: RaggedEnd ) = RaggedRange (stop. dim, Int (start), 1 , stop. offset)
454- Base.:(:)(start:: Integer , step:: Integer , stop:: RaggedEnd ) = RaggedRange (stop. dim, Int (start), Int (step), stop. offset)
457+ function Base.:(:)(start:: Integer , stop:: RaggedEnd )
458+ RaggedRange (stop. dim, Int (start), 1 , stop. offset)
459+ end
460+ function Base.:(:)(start:: Integer , step:: Integer , stop:: RaggedEnd )
461+ RaggedRange (stop. dim, Int (start), Int (step), stop. offset)
462+ end
455463
456464@inline function _is_ragged_dim (VA:: AbstractVectorOfArray , d:: Integer )
457465 length (VA. u) <= 1 && return false
@@ -532,7 +540,8 @@ Base.@propagate_inbounds function _getindex(A::AbstractDiffEqArray, ::ScalarSymb
532540 return getindex (A, all_variable_symbols (A), args... )
533541end
534542
535- @inline _column_indices (VA:: AbstractVectorOfArray , idx) = idx === Colon () ? eachindex (VA. u) : idx
543+ @inline _column_indices (VA:: AbstractVectorOfArray , idx) = idx === Colon () ?
544+ eachindex (VA. u) : idx
536545@inline function _column_indices (VA:: AbstractVectorOfArray , idx:: AbstractArray{Bool} )
537546 findall (idx)
538547end
559568 end
560569 return Base. range (idx. start; step = idx. step, stop = stop_val)
561570end
562- @inline function _resolve_ragged_index (idx:: AbstractRange{<:RaggedEnd} , VA:: AbstractVectorOfArray , col)
571+ @inline function _resolve_ragged_index (
572+ idx:: AbstractRange{<:RaggedEnd} , VA:: AbstractVectorOfArray , col)
563573 return Base. range (_resolve_ragged_index (first (idx), VA, col); step = step (idx),
564574 stop = _resolve_ragged_index (last (idx), VA, col))
565575end
@@ -569,10 +579,12 @@ end
569579@inline function _resolve_ragged_index (idx:: CartesianIndex , VA:: AbstractVectorOfArray , col)
570580 return CartesianIndex (_resolve_ragged_indices (Tuple (idx), VA, col)... )
571581end
572- @inline function _resolve_ragged_index (idx:: AbstractArray{<:RaggedEnd} , VA:: AbstractVectorOfArray , col)
582+ @inline function _resolve_ragged_index (
583+ idx:: AbstractArray{<:RaggedEnd} , VA:: AbstractVectorOfArray , col)
573584 return map (i -> _resolve_ragged_index (i, VA, col), idx)
574585end
575- @inline function _resolve_ragged_index (idx:: AbstractArray{<:RaggedRange} , VA:: AbstractVectorOfArray , col)
586+ @inline function _resolve_ragged_index (
587+ idx:: AbstractArray{<:RaggedRange} , VA:: AbstractVectorOfArray , col)
576588 return map (i -> _resolve_ragged_index (i, VA, col), idx)
577589end
578590@inline function _resolve_ragged_index (idx:: AbstractArray , VA:: AbstractVectorOfArray , col)
591603 x isa AbstractRange && return eltype (x) <: Union{RaggedEnd, RaggedRange}
592604 if x isa AbstractArray
593605 el = eltype (x)
594- return el <: Union{RaggedEnd, RaggedRange} || (el === Any && any (_has_ragged_end, x))
606+ return el <: Union{RaggedEnd, RaggedRange} ||
607+ (el === Any && any (_has_ragged_end, x))
595608 end
596609 x isa Tuple && return any (_has_ragged_end, x)
597610 return false
@@ -621,30 +634,33 @@ end
621634 if all (idx -> idx === Colon (), resolved_prefix)
622635 (resolved_prefix... , ntuple (_ -> Colon (), n_missing)... )
623636 else
624- (resolved_prefix... , (lastindex (A. u[cols], length (resolved_prefix) + i) for i in 1 : n_missing). .. ,)
637+ (resolved_prefix... ,
638+ (lastindex (A. u[cols], length (resolved_prefix) + i) for i in 1 : n_missing). .. )
625639 end
626640 else
627641 resolved_prefix
628642 end
629643 return A. u[cols][padded... ]
630644 else
631- return VectorOfArray ([
632- begin
633- resolved_prefix = _resolve_ragged_indices (prefix, A, col)
634- inner_nd = ndims (A. u[col])
635- n_missing = inner_nd - length (resolved_prefix)
636- padded = if n_missing > 0
637- if all (idx -> idx === Colon (), resolved_prefix)
638- (resolved_prefix... , ntuple (_ -> Colon (), n_missing)... )
639- else
640- (resolved_prefix... , (lastindex (A. u[col], length (resolved_prefix) + i) for i in 1 : n_missing). .. ,)
641- end
642- else
643- resolved_prefix
644- end
645- A. u[col][padded... ]
646- end for col in cols
647- ])
645+ return VectorOfArray ([begin
646+ resolved_prefix = _resolve_ragged_indices (prefix, A, col)
647+ inner_nd = ndims (A. u[col])
648+ n_missing = inner_nd - length (resolved_prefix)
649+ padded = if n_missing > 0
650+ if all (idx -> idx === Colon (), resolved_prefix)
651+ (resolved_prefix... ,
652+ ntuple (_ -> Colon (), n_missing)... )
653+ else
654+ (resolved_prefix... ,
655+ (lastindex (A. u[col],
656+ length (resolved_prefix) + i) for i in 1 : n_missing). .. )
657+ end
658+ else
659+ resolved_prefix
660+ end
661+ A. u[col][padded... ]
662+ end
663+ for col in cols])
648664 end
649665 end
650666
@@ -685,13 +701,15 @@ end
685701 if col_idxs isa Int
686702 resolved = _resolve_ragged_indices (prefix, A, col_idxs)
687703 inner_nd = ndims (A. u[col_idxs])
688- padded = (resolved... , ntuple (_ -> Colon (), max (inner_nd - length (resolved), 0 ))... )
704+ padded = (
705+ resolved... , ntuple (_ -> Colon (), max (inner_nd - length (resolved), 0 ))... )
689706 return A. u[col_idxs][padded... ]
690707 end
691708 vals = map (col_idxs) do col
692709 resolved = _resolve_ragged_indices (prefix, A, col)
693710 inner_nd = ndims (A. u[col])
694- padded = (resolved... , ntuple (_ -> Colon (), max (inner_nd - length (resolved), 0 ))... )
711+ padded = (
712+ resolved... , ntuple (_ -> Colon (), max (inner_nd - length (resolved), 0 ))... )
695713 A. u[col][padded... ]
696714 end
697715 return stack (vals)
@@ -753,25 +771,32 @@ Base.@propagate_inbounds function Base.setindex!(VA::AbstractVectorOfArray{T, N}
753771 VA. u[I] = v
754772end
755773
756- Base. @propagate_inbounds Base. setindex! (VA:: AbstractVectorOfArray , v, I:: Int ) = Base. setindex! (VA. u, v, I)
757- @deprecate Base. setindex! (VA:: AbstractVectorOfArray{T,N,A} , v, I:: Int ) where {T,N,A<: Union{AbstractArray, AbstractVectorOfArray} } Base. setindex! (VA. u, v, I) false
774+ Base. @propagate_inbounds Base. setindex! (VA:: AbstractVectorOfArray , v, I:: Int ) = Base. setindex! (
775+ VA. u, v, I)
776+ @deprecate Base. setindex! (VA:: AbstractVectorOfArray{T, N, A} , v,
777+ I:: Int ) where {T, N, A <: Union{AbstractArray, AbstractVectorOfArray} } Base. setindex! (
778+ VA. u, v, I) false
758779
759780Base. @propagate_inbounds function Base. setindex! (VA:: AbstractVectorOfArray{T, N} , v,
760781 :: Colon , I:: Colon ) where {T, N}
761782 VA. u[I] = v
762783end
763784
764- Base. @propagate_inbounds Base. setindex! (VA:: AbstractVectorOfArray , v, I:: Colon ) = Base. setindex! (VA. u, v, I)
765- @deprecate Base. setindex! (VA:: AbstractVectorOfArray{T,N,A} , v, I:: Colon ) where {T,N,A<: Union{AbstractArray, AbstractVectorOfArray} } Base. setindex! (
785+ Base. @propagate_inbounds Base. setindex! (VA:: AbstractVectorOfArray , v, I:: Colon ) = Base. setindex! (
786+ VA. u, v, I)
787+ @deprecate Base. setindex! (VA:: AbstractVectorOfArray{T, N, A} , v,
788+ I:: Colon ) where {T, N, A <: Union{AbstractArray, AbstractVectorOfArray} } Base. setindex! (
766789 VA. u, v, I) false
767790
768791Base. @propagate_inbounds function Base. setindex! (VA:: AbstractVectorOfArray{T, N} , v,
769792 :: Colon , I:: AbstractArray{Int} ) where {T, N}
770793 VA. u[I] = v
771794end
772795
773- Base. @propagate_inbounds Base. setindex! (VA:: AbstractVectorOfArray , v, I:: AbstractArray{Int} ) = Base. setindex! (VA. u, v, I)
774- @deprecate Base. setindex! (VA:: AbstractVectorOfArray{T,N,A} , v, I:: AbstractArray{Int} ) where {T,N,A<: Union{AbstractArray, AbstractVectorOfArray} } Base. setindex! (
796+ Base. @propagate_inbounds Base. setindex! (VA:: AbstractVectorOfArray , v, I:: AbstractArray{Int} ) = Base. setindex! (
797+ VA. u, v, I)
798+ @deprecate Base. setindex! (VA:: AbstractVectorOfArray{T, N, A} , v,
799+ I:: AbstractArray{Int} ) where {T, N, A <: Union{AbstractArray, AbstractVectorOfArray} } Base. setindex! (
775800 VA, v, :, I) false
776801
777802Base. @propagate_inbounds function Base. setindex! (
0 commit comments