@@ -357,6 +357,7 @@ struct SystemDomainGraph{T, C <: AbstractVector{<:ConnectionSet}} <:
357
357
Graphs. AbstractGraph{Int}
358
358
ts:: T
359
359
lineqs:: BitSet
360
+ var2idx:: Dict{Any, Int}
360
361
id2cset:: Vector{NTuple{2, Int}}
361
362
cset2id:: Vector{Vector{Int}}
362
363
csets:: C
@@ -368,15 +369,14 @@ Graphs.nv(g::SystemDomainGraph) = length(g.id2cset)
368
369
function Graphs. outneighbors (g:: SystemDomainGraph , n:: Int )
369
370
i, j = g. id2cset[n]
370
371
ids = copy (g. cset2id[i])
371
- @unpack ts, lineqs = g
372
+ @unpack ts, lineqs, var2idx = g
372
373
@unpack fullvars, structure = ts
373
374
@unpack graph = structure
374
375
visited = BitSet (n)
375
376
for s in g. csets[i]. set
376
377
s. sys. namespace === nothing && continue
377
378
sys = s. sys. sys
378
379
is_domain_connector (sys) && continue
379
- var2idx = Dict (reverse (en) for en in enumerate (ts. fullvars))
380
380
vidx = get (var2idx, states (s. sys. namespace, states (sys, s. v)), 0 )
381
381
iszero (vidx) && continue
382
382
ies = 𝑑neighbors (graph, vidx)
@@ -421,7 +421,8 @@ function rooted_system_domain_graph!(ts, csets::AbstractVector{<:ConnectionSet})
421
421
outne = Vector {Union{Nothing, Vector{Int}}} (undef, length (id2cset))
422
422
mm = linear_subsys_adjmat! (ts)
423
423
lineqs = BitSet (mm. nzrows)
424
- SystemDomainGraph (ts, lineqs, id2cset, cset2id, csets, sys2id, outne), roots
424
+ var2idx = Dict {Any, Int} (reverse (en) for en in enumerate (ts. fullvars))
425
+ SystemDomainGraph (ts, lineqs, var2idx, id2cset, cset2id, csets, sys2id, outne), roots
425
426
end
426
427
427
428
function generate_connection_equations_and_stream_connections (csets:: AbstractVector {
0 commit comments