@@ -29,7 +29,6 @@ returns a vector of the series for each component, that is, `A[i,:]` for each `i
29
29
A plot recipe is provided, which plots the `A[i,:]` series.
30
30
31
31
There is also support for `VectorOfArray` constructed from multi-dimensional arrays
32
-
33
32
```julia
34
33
VectorOfArray(u::AbstractArray{AT}) where {T, N, AT <: AbstractArray{T, N}}
35
34
```
@@ -352,53 +351,48 @@ Base.@propagate_inbounds function _getindex(A::AbstractDiffEqArray, ::NotSymboli
352
351
end
353
352
354
353
struct ParameterIndexingError <: Exception
355
- sym:: Any
354
+ sym
356
355
end
357
356
358
357
function Base. showerror (io:: IO , pie:: ParameterIndexingError )
359
- print (io,
360
- " Indexing with parameters is deprecated. Use `getp(A, $(pie. sym) )` for parameter indexing." )
358
+ print (io, " Indexing with parameters is deprecated. Use `getp(A, $(pie. sym) )` for parameter indexing." )
361
359
end
362
360
363
361
# Symbolic Indexing Methods
364
362
for (symtype, elsymtype, valtype, errcheck) in [
365
- (ScalarSymbolic, SymbolicIndexingInterface. SymbolicTypeTrait,
366
- Any, :(is_parameter (A, sym))),
367
- (ArraySymbolic, SymbolicIndexingInterface. SymbolicTypeTrait,
368
- Any, :(is_parameter (A, sym))),
369
- (NotSymbolic, SymbolicIndexingInterface. SymbolicTypeTrait,
370
- Union{<: Tuple , <: AbstractArray },
371
- :(all (x -> is_parameter (A, x), sym)))
363
+ (ScalarSymbolic, SymbolicIndexingInterface. SymbolicTypeTrait, Any, :(is_parameter (A, sym))),
364
+ (ArraySymbolic, SymbolicIndexingInterface. SymbolicTypeTrait, Any, :(is_parameter (A, sym))),
365
+ (NotSymbolic, SymbolicIndexingInterface. SymbolicTypeTrait, Union{<: Tuple , <: AbstractArray },
366
+ :(all (x -> is_parameter (A, x), sym))),
372
367
]
373
- @eval Base. @propagate_inbounds function _getindex (A:: AbstractDiffEqArray , :: $symtype ,
374
- :: $elsymtype , sym:: $valtype )
375
- if $ errcheck
376
- throw (ParameterIndexingError (sym))
377
- end
378
- getu (A, sym)(A)
368
+ @eval Base. @propagate_inbounds function _getindex (A:: AbstractDiffEqArray , :: $symtype ,
369
+ :: $elsymtype , sym:: $valtype )
370
+ if $ errcheck
371
+ throw (ParameterIndexingError (sym))
379
372
end
380
- @eval Base . @propagate_inbounds function _getindex (A :: AbstractDiffEqArray , :: $symtype ,
381
- :: $elsymtype , sym :: $valtype , arg)
382
- if $ errcheck
383
- throw ( ParameterIndexingError ( sym) )
384
- end
385
- getu (A, sym)(A, arg )
373
+ getu (A, sym)(A)
374
+ end
375
+ @eval Base . @propagate_inbounds function _getindex (A :: AbstractDiffEqArray , :: $symtype ,
376
+ :: $elsymtype , sym:: $valtype , arg )
377
+ if $ errcheck
378
+ throw ( ParameterIndexingError ( sym))
386
379
end
387
- @eval Base. @propagate_inbounds function _getindex (A:: AbstractDiffEqArray , :: $symtype ,
388
- :: $elsymtype , sym:: $valtype , arg:: Union {
389
- AbstractArray{Int}, AbstractArray{Bool}})
390
- if $ errcheck
391
- throw (ParameterIndexingError (sym))
392
- end
393
- getu (A, sym).((A,), arg)
380
+ getu (A, sym)(A, arg)
381
+ end
382
+ @eval Base. @propagate_inbounds function _getindex (A:: AbstractDiffEqArray , :: $symtype ,
383
+ :: $elsymtype , sym:: $valtype , arg:: Union{AbstractArray{Int}, AbstractArray{Bool}} )
384
+ if $ errcheck
385
+ throw (ParameterIndexingError (sym))
394
386
end
395
- @eval Base . @propagate_inbounds function _getindex (A :: AbstractDiffEqArray , :: $symtype ,
396
- :: $elsymtype , sym :: $valtype , :: Colon )
397
- if $ errcheck
398
- throw ( ParameterIndexingError ( sym) )
399
- end
400
- getu (A, sym)(A )
387
+ getu (A, sym).((A,), arg)
388
+ end
389
+ @eval Base . @propagate_inbounds function _getindex (A :: AbstractDiffEqArray , :: $symtype ,
390
+ :: $elsymtype , sym:: $valtype , :: Colon )
391
+ if $ errcheck
392
+ throw ( ParameterIndexingError ( sym))
401
393
end
394
+ getu (A, sym)(A)
395
+ end
402
396
end
403
397
404
398
Base. @propagate_inbounds function _getindex (A:: AbstractDiffEqArray , :: ScalarSymbolic ,
@@ -416,9 +410,8 @@ Base.@propagate_inbounds function Base.getindex(A::AbstractVectorOfArray, _arg,
416
410
elsymtype = symbolic_type (eltype (_arg))
417
411
418
412
if symtype == NotSymbolic () && elsymtype == NotSymbolic ()
419
- if _arg isa Union{Tuple, AbstractArray} &&
420
- any (x -> symbolic_type (x) != NotSymbolic (), _arg)
421
- _getindex (A, symtype, elsymtype, _arg, args... )
413
+ if _arg isa Union{Tuple, AbstractArray} && any (x -> symbolic_type (x) != NotSymbolic (), _arg)
414
+ _getindex (A, symtype, elsymtype, _arg, args... )
422
415
else
423
416
_getindex (A, symtype, _arg, args... )
424
417
end
@@ -734,6 +727,7 @@ function Base.similar(vec::VectorOfArray{
734
727
return Base. similar (vec, eltype (vec))
735
728
end
736
729
730
+
737
731
# fill!
738
732
# For DiffEqArray it ignores ts and fills only u
739
733
function Base. fill! (VA:: AbstractVectorOfArray , x)
0 commit comments