Skip to content

Commit fda22be

Browse files
committed
faster codegen
1 parent 11e0a29 commit fda22be

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

src/SymbolicControlSystems.jl

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,7 @@ $decl
350350
code *= " y[0] += ($(sp.ccode(-n)))*y[$(i)];\n"
351351
end
352352
code *= " return y[0];\n}"
353+
code = replace(code, "" => "_")
353354
println(code)
354355
try
355356
clipboard(code)
@@ -367,10 +368,7 @@ function ccode(sys::StateSpace{<:Discrete}; cse = true, function_name = "transfe
367368
x = [Sym("x[$(i-1)]") for i = 1:nx]
368369
# @show P
369370
if ControlSystemsBase.numeric_type(sys) <: SymPy.Sym
370-
P = Sym(sys)
371-
vars = P.free_symbols
372-
vars.remove(z)
373-
vars = collect(vars)
371+
vars = reduce(hcat, [collect(M.free_symbols) for M in (sys.A, sys.B, sys.C, sys.D)]) |> unique
374372
vars = sort(vars, by = string)
375373
var_str = ""
376374
for var in vars
@@ -434,7 +432,7 @@ $decl
434432
}
435433
"""
436434
code *= "\n}"
437-
435+
code = replace(code, "" => "_")
438436
println(code)
439437
try
440438
clipboard(code)

0 commit comments

Comments
 (0)