@@ -39,16 +39,16 @@ function DiffEqSystem(eqs, ivs)
3939end
4040
4141
42- function generate_ode_function (sys:: DiffEqSystem ;version = ArrayFunction)
42+ function generate_ode_function (sys:: DiffEqSystem ; version:: FunctionVersion = ArrayFunction)
4343 var_exprs = [:($ (sys. dvs[i]. name) = u[$ i]) for i in eachindex (sys. dvs)]
4444 param_exprs = [:($ (sys. ps[i]. name) = p[$ i]) for i in eachindex (sys. ps)]
4545 sys_exprs = build_equals_expr .(sys. eqs)
46- if version == ArrayFunction
46+ if version === ArrayFunction
4747 dvar_exprs = [:(du[$ i] = $ (Symbol (" $(sys. dvs[i]. name) _$(sys. ivs[1 ]. name) " ))) for i in eachindex (sys. dvs)]
4848 exprs = vcat (var_exprs,param_exprs,sys_exprs,dvar_exprs)
4949 block = expr_arr_to_block (exprs)
5050 :((du,u,p,t)-> $ (toexpr (block)))
51- elseif version == SArrayFunction
51+ elseif version === SArrayFunction
5252 dvar_exprs = [:($ (Symbol (" $(sys. dvs[i]. name) _$(sys. ivs[1 ]. name) " ))) for i in eachindex (sys. dvs)]
5353 svector_expr = quote
5454 E = eltype (tuple ($ (dvar_exprs... )))
@@ -117,12 +117,12 @@ function generate_ode_iW(sys::DiffEqSystem, simplify=true)
117117 :((iW,u,p,gam,t)-> $ (block)),:((iW,u,p,gam,t)-> $ (block2))
118118end
119119
120- function DiffEqBase. ODEFunction (sys:: DiffEqSystem ;version = ArrayFunction,kwargs ... )
121- expr = generate_ode_function (sys;version= version,kwargs ... )
122- if version == ArrayFunction
123- ODEFunction {true} (eval (expr))
124- elseif version == SArrayFunction
125- ODEFunction {false} (eval (expr))
120+ function DiffEqBase. ODEFunction (sys:: DiffEqSystem ; version:: FunctionVersion = ArrayFunction)
121+ expr = generate_ode_function (sys; version = version)
122+ if version === ArrayFunction
123+ ODEFunction {true} (eval (expr))
124+ elseif version === SArrayFunction
125+ ODEFunction {false} (eval (expr))
126126 end
127127end
128128
0 commit comments