diff --git a/src/macros.jl b/src/macros.jl index a6f78c3..e0f911e 100644 --- a/src/macros.jl +++ b/src/macros.jl @@ -8,7 +8,7 @@ macro ode_def(name,ex,params...) :build_hes => false, :build_invhes => false, :build_dpfuncs => true) - name isa Expr ? ode_def_opts(gensym(),opts,name,params...) : + name isa Expr ? ode_def_opts(gensym(),opts,name,ex,params...) : ode_def_opts(name,opts,ex,params...) end @@ -22,7 +22,7 @@ macro ode_def_bare(name,ex,params...) :build_hes => false, :build_invhes => false, :build_dpfuncs => false) - name isa Expr ? ode_def_opts(gensym(),opts,name,params...) : + name isa Expr ? ode_def_opts(gensym(),opts,name,ex,params...) : ode_def_opts(name,opts,ex,params...) end @@ -36,7 +36,7 @@ macro ode_def_nohes(name,ex,params...) :build_hes => false, :build_invhes => false, :build_dpfuncs => true) - name isa Expr ? ode_def_opts(gensym(),opts,name,params...) : + name isa Expr ? ode_def_opts(gensym(),opts,name,ex,params...) : ode_def_opts(name,opts,ex,params...) end @@ -50,7 +50,7 @@ macro ode_def_noinvhes(name,ex,params...) :build_hes => false, :build_invhes => false, :build_dpfuncs => true) - name isa Expr ? ode_def_opts(gensym(),opts,name,params...) : + name isa Expr ? ode_def_opts(gensym(),opts,name,ex,params...) : ode_def_opts(name,opts,ex,params...) end @@ -64,6 +64,6 @@ macro ode_def_noinvjac(name,ex,params...) :build_hes => false, :build_invhes => false, :build_dpfuncs => true) - name isa Expr ? ode_def_opts(gensym(),opts,name,params...) : + name isa Expr ? ode_def_opts(gensym(),opts,name,ex,params...) : ode_def_opts(name,opts,ex,params...) end diff --git a/test/runtests.jl b/test/runtests.jl index d6917e5..b866202 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -114,6 +114,12 @@ end a b c d @test DiffEqBase.__has_syms(f_t_noname) +f = @ode_def begin + dx = a*x - b*x*y + dy = -c*y + d*x*y +end a b c d +@test_nowarn f([0.1,0.2], [1,2], [1,2,3,4], 1) + println("Make the problems in the problem library build") using DiffEqProblemLibrary