Skip to content

Commit 0591281

Browse files
fix: call reset_aggregated_jumps! in compiled ImperativeAffect
1 parent 3f70980 commit 0591281

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/systems/imperative_affect.jl

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,8 @@ function check_assignable(sys, sym)
167167
end
168168
end
169169

170-
function compile_functional_affect(affect::ImperativeAffect, sys; kwargs...)
170+
function compile_functional_affect(
171+
affect::ImperativeAffect, sys; reset_jumps = false, kwargs...)
171172
#=
172173
Implementation sketch:
173174
generate observed function (oop), should save to a component array under obs_syms
@@ -247,7 +248,7 @@ function compile_functional_affect(affect::ImperativeAffect, sys; kwargs...)
247248

248249
upd_funs = NamedTuple{mod_names}((setu.((sys,), first.(mod_pairs))...,))
249250

250-
let user_affect = func(affect), ctx = context(affect)
251+
let user_affect = func(affect), ctx = context(affect), reset_jumps = reset_jumps
251252
@inline function (integ)
252253
# update the to-be-mutated values; this ensures that if you do a no-op then nothing happens
253254
modvals = mod_og_val_fun(integ.u, integ.p, integ.t)
@@ -262,6 +263,8 @@ function compile_functional_affect(affect::ImperativeAffect, sys; kwargs...)
262263

263264
# write the new values back to the integrator
264265
_generated_writeback(integ, upd_funs, upd_vals)
266+
267+
reset_jumps && reset_aggregated_jumps!(integ)
265268
end
266269
end
267270
end

0 commit comments

Comments
 (0)