Skip to content

Commit d5ff6cf

Browse files
Clean up FunctionVersion
1 parent 91c3b47 commit d5ff6cf

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/ModelingToolkit.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Base.convert(::Type{Variable},x::Int64) = Constant(x)
2020

2121
function caclulate_jacobian end
2222

23-
@enum FunctionVersions ArrayFunction=1 SArrayFunction=2
23+
@enum FunctionVersion ArrayFunction=1 SArrayFunction=2
2424

2525
include("operations.jl")
2626
include("differentials.jl")

src/systems/diffeqs/diffeqsystem.jl

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,16 @@ function DiffEqSystem(eqs, ivs)
3939
end
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))
118118
end
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
127127
end
128128

0 commit comments

Comments
 (0)