Skip to content

Commit 3e0aea0

Browse files
fix: fix IndexCache to not put matrices as nonnumeric parameters
1 parent 1275d6e commit 3e0aea0

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

src/systems/index_cache.jl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,8 @@ function IndexCache(sys::AbstractSystem)
9797
ctype = concrete_symtype(p)
9898
haskey(disc_buffers, ctype) && p in disc_buffers[ctype] && continue
9999
haskey(dependent_buffers, ctype) && p in dependent_buffers[ctype] && continue
100-
101100
insert_by_type!(
102-
if ctype <: Real || ctype <: Vector{<:Real}
101+
if ctype <: Real || ctype <: AbstractArray{<:Real}
103102
if is_discrete_domain(p)
104103
disc_buffers
105104
elseif istunable(p, true) && size(p) !== Symbolics.Unknown()
@@ -240,5 +239,5 @@ end
240239
concrete_symtype(x::BasicSymbolic) = concrete_symtype(symtype(x))
241240
concrete_symtype(::Type{Real}) = Float64
242241
concrete_symtype(::Type{Integer}) = Int
243-
concrete_symtype(::Type{Vector{T}}) where {T} = Vector{concrete_symtype(T)}
242+
concrete_symtype(::Type{A}) where {T, N, A<:Array{T, N}} = Array{concrete_symtype(T), N}
244243
concrete_symtype(::Type{T}) where {T} = T

0 commit comments

Comments
 (0)