Skip to content

Commit ea4fadf

Browse files
simplifies _varmap_to_vars
1 parent a216060 commit ea4fadf

File tree

2 files changed

+5
-15
lines changed

2 files changed

+5
-15
lines changed

src/systems/jumps/jumpsystem.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,8 @@ function DiffEqBase.DiscreteProblem(sys::JumpSystem, u0map, tspan::Union{Tuple,N
225225
ps = parameters(sys)
226226

227227
defs = defaults(sys)
228-
# defs = mergedefaults(defs,parammap,ps)
229-
# defs = mergedefaults(defs,u0map,dvs) # fill result in wrong type for u0
228+
defs = mergedefaults(defs,parammap,ps)
229+
defs = mergedefaults(defs,u0map,dvs)
230230

231231
u0 = varmap_to_vars(u0map,dvs; defaults=defs)
232232
p = varmap_to_vars(parammap,ps; defaults=defs)

src/variables.jl

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -73,23 +73,13 @@ function _varmap_to_vars(varmap::Dict, varlist; defaults=Dict(), check=false, to
7373
varmap = Dict(toterm(value(k))=>value(varmap[k]) for k in keys(varmap))
7474
# resolve symbolic parameter expressions
7575
for (p, v) in pairs(varmap)
76-
val = varmap[p] = fixpoint_sub(v, varmap)
76+
varmap[p] = fixpoint_sub(v, varmap)
7777
end
78-
vs = values(varmap)
79-
T′ = eltype(vs)
80-
if Base.isconcretetype(T′)
81-
T = T′
82-
else
83-
T = foldl((t, elem)->promote_type(t, eltype(elem)), vs; init=typeof(first(vs)))
84-
end
85-
out = Vector{T}(undef, length(varlist))
78+
8679
missingvars = setdiff(varlist, keys(varmap))
8780
check && (isempty(missingvars) || throw_missingvars(missingvars))
8881

89-
for (i, var) in enumerate(varlist)
90-
out[i] = varmap[var]
91-
end
92-
out
82+
out = [varmap[var] for var in varlist]
9383
end
9484

9585
@noinline throw_missingvars(vars) = throw(ArgumentError("$vars are missing from the variable map."))

0 commit comments

Comments
 (0)