Skip to content

Commit 3ee1f87

Browse files
authored
Fix ODEFunction QuoteNode bug and implement iip_config (#1887)
1 parent 8a03d0e commit 3ee1f87

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/systems/diffeqs/abstractodesystem.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,7 @@ function ODEFunctionExpr{iip}(sys::AbstractODESystem, dvs = states(sys),
537537
jac_prototype = $jp_expr,
538538
syms = $(Symbol.(states(sys))),
539539
indepsym = $(QuoteNode(Symbol(get_iv(sys)))),
540-
paramsyms = $(QuoteNode(Symbol.(parameters(sys)))),
540+
paramsyms = $(Symbol.(parameters(sys))),
541541
sparsity = $(jacobian_sparsity(sys)))
542542
end
543543
!linenumbers ? striplines(ex) : ex

test/odesystem.jl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,15 @@ for f in [
7272
@test J == f.jac(u, p, t)
7373
end
7474

75+
#check iip_config
76+
f = eval(ODEFunctionExpr(de, [x, y, z], [σ, ρ, β], iip_config = (false, true)))
77+
du = zeros(3)
78+
u = collect(1:3)
79+
p = collect(4:6)
80+
f.f(du, u, p, 0.1)
81+
@test du == [4, 0, -16]
82+
@test_throws ArgumentError f.f(u, p, 0.1)
83+
7584
eqs = [D(x) ~ σ * (y - x),
7685
D(y) ~ x *- z) - y * t,
7786
D(z) ~ x * y - β * z]

0 commit comments

Comments
 (0)