@@ -75,6 +75,8 @@ function JumpSystem(eqs, iv, states, ps;
7575 end
7676 default_u0 isa Dict || (default_u0 = Dict (default_u0))
7777 default_p isa Dict || (default_p = Dict (default_p))
78+ default_u0 = Dict (value (k) => value (default_u0[k]) for k in keys (default_u0))
79+ default_p = Dict (value (k) => value (default_p[k]) for k in keys (default_p))
7880
7981 JumpSystem {typeof(ap)} (ap, value (iv), value .(states), value .(ps), observed, name, systems, default_u0, default_p)
8082end
@@ -197,8 +199,8 @@ dprob = DiscreteProblem(js, u₀map, tspan, parammap)
197199"""
198200function DiffEqBase. DiscreteProblem (sys:: JumpSystem , u0map, tspan:: Tuple ,
199201 parammap= DiffEqBase. NullParameters (); kwargs... )
200- u0 = varmap_to_vars (u0map, states (sys); defaults= get_default_u0 (sys))
201- p = varmap_to_vars (parammap, parameters (sys); defaults= get_default_p (sys))
202+ u0 = varmap_to_vars (u0map, states (sys); defaults= default_u0 (sys))
203+ p = varmap_to_vars (parammap, parameters (sys); defaults= default_p (sys))
202204 f = DiffEqBase. DISCRETE_INPLACE_DEFAULT
203205 df = DiscreteFunction {true,true} (f, syms= Symbol .(states (sys)))
204206 DiscreteProblem (df, u0, tspan, p; kwargs... )
@@ -225,8 +227,8 @@ dprob = DiscreteProblem(js, u₀map, tspan, parammap)
225227"""
226228function DiscreteProblemExpr (sys:: JumpSystem , u0map, tspan:: Tuple ,
227229 parammap= DiffEqBase. NullParameters (); kwargs... )
228- u0 = varmap_to_vars (u0map, states (sys); defaults= get_default_u0 (sys))
229- p = varmap_to_vars (parammap, parameters (sys); defaults= get_default_p (sys))
230+ u0 = varmap_to_vars (u0map, states (sys); defaults= default_u0 (sys))
231+ p = varmap_to_vars (parammap, parameters (sys); defaults= default_p (sys))
230232 # identity function to make syms works
231233 quote
232234 f = DiffEqBase. DISCRETE_INPLACE_DEFAULT
0 commit comments