Skip to content

Commit f094b87

Browse files
committed
add map bypass for JumpSystems
1 parent 5066254 commit f094b87

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

src/systems/callbacks.jl

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ Notes
105105
- `kwargs` are passed through to `Symbolics.build_function`.
106106
"""
107107
function compile_affect(eqs::Vector{Equation}, sys, dvs, ps; outputidxs = nothing,
108-
expression = Val{true}, kwargs...)
108+
expression = Val{true}, checkvars = true, kwargs...)
109109
if isempty(eqs)
110110
if expression == Val{true}
111111
return :((args...) -> ())
@@ -128,8 +128,13 @@ function compile_affect(eqs::Vector{Equation}, sys, dvs, ps; outputidxs = nothin
128128
update_inds = outputidxs
129129
end
130130

131-
u = map(x -> time_varying_as_func(value(x), sys), dvs)
132-
p = map(x -> time_varying_as_func(value(x), sys), ps)
131+
if checkvars
132+
u = map(x -> time_varying_as_func(value(x), sys), dvs)
133+
p = map(x -> time_varying_as_func(value(x), sys), ps)
134+
else
135+
u = dvs
136+
p = ps
137+
end
133138
t = get_iv(sys)
134139
rf_oop, rf_ip = build_function(rhss, u, p, t; expression = expression,
135140
wrap_code = add_integrator_header(),

src/systems/jumps/jumpsystem.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ end
121121

122122
function generate_affect_function(js::JumpSystem, affect, outputidxs)
123123
compile_affect(affect, js, states(js), parameters(js); outputidxs = outputidxs,
124-
expression = Val{true})
124+
expression = Val{true}, checkvars = false)
125125
end
126126

127127
function assemble_vrj(js, vrj, statetoid)

0 commit comments

Comments
 (0)