Skip to content

Commit 5f41700

Browse files
Merge pull request #489 from ErikQQY/qqy/sdefunction
Refactor SDEProblem constructor
2 parents 600fd4c + 3d3515f commit 5f41700

File tree

2 files changed

+16
-19
lines changed

2 files changed

+16
-19
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "SciMLBase"
22
uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
33
authors = ["Chris Rackauckas <[email protected]> and contributors"]
4-
version = "2.0.0"
4+
version = "2.0.1"
55

66
[deps]
77
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"

src/problems/sde_problems.jl

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -123,12 +123,12 @@ function SDEProblem(f::AbstractSDEFunction,u0,tspan,p=NullParameters();kwargs...
123123
end
124124
=#
125125

126-
function SDEProblem(f::AbstractSDEFunction, g, u0, tspan, p = NullParameters(); kwargs...)
127-
SDEProblem{isinplace(f)}(f, g, u0, tspan, p; kwargs...)
126+
function SDEProblem(f::AbstractSDEFunction, u0, tspan, p = NullParameters(); kwargs...)
127+
SDEProblem{isinplace(f)}(f, f.g, u0, tspan, p; kwargs...)
128128
end
129129

130130
function SDEProblem(f, g, u0, tspan, p = NullParameters(); kwargs...)
131-
SDEProblem(SDEFunction(f, g), g, u0, tspan, p; kwargs...)
131+
SDEProblem(SDEFunction(f, g), u0, tspan, p; kwargs...)
132132
end
133133

134134
"""
@@ -141,18 +141,19 @@ $(TYPEDEF)
141141
"""
142142
struct SplitSDEProblem{iip} <: AbstractSplitSDEProblem end
143143
# u' = Au + f
144+
#=
144145
function SplitSDEProblem(f1, f2, g, u0, tspan, p = NullParameters(); kwargs...)
145146
SplitSDEProblem(SplitSDEFunction(f1, f2, g), g, u0, tspan, p; kwargs...)
146147
end
147-
148-
function SplitSDEProblem(f::SplitSDEFunction, g, u0, tspan, p = NullParameters(); kwargs...)
149-
SplitSDEProblem{isinplace(f)}(f, g, u0, tspan, p; kwargs...)
148+
=#
149+
function SplitSDEProblem(f1, f2, g, u0, tspan, p = NullParameters(); kwargs...)
150+
SplitSDEProblem(SplitSDEFunction(f1, f2, g), u0, tspan, p; kwargs...)
150151
end
151152

152-
function SplitSDEProblem{iip}(f1, f2, g, u0, tspan, p = NullParameters();
153-
kwargs...) where {iip}
154-
SplitSDEProblem(SplitSDEFunction(f1, f2, g), g, u0, tspan, p; kwargs...)
153+
function SplitSDEProblem(f::SplitSDEFunction, u0, tspan, p = NullParameters(); kwargs...)
154+
SplitSDEProblem{isinplace(f)}(f, f.g, u0, tspan, p; kwargs...)
155155
end
156+
156157
function SplitSDEProblem{iip}(f::SplitSDEFunction, g, u0, tspan, p = NullParameters();
157158
func_cache = nothing, kwargs...) where {iip}
158159
if f.cache === nothing && iip
@@ -162,7 +163,7 @@ function SplitSDEProblem{iip}(f::SplitSDEFunction, g, u0, tspan, p = NullParamet
162163
else
163164
_f = f
164165
end
165-
SDEProblem(_f, g, u0, tspan, p; kwargs...)
166+
SDEProblem(_f, u0, tspan, p; kwargs...)
166167
end
167168

168169
"""
@@ -176,18 +177,14 @@ $(TYPEDEF)
176177
struct DynamicalSDEProblem{iip} <: AbstractDynamicalSDEProblem end
177178

178179
function DynamicalSDEProblem(f1, f2, g, v0, u0, tspan, p = NullParameters(); kwargs...)
179-
DynamicalSDEProblem(DynamicalSDEFunction(f1, f2, g), g, v0, u0, tspan, p; kwargs...)
180+
DynamicalSDEProblem(DynamicalSDEFunction(f1, f2, g), v0, u0, tspan, p; kwargs...)
180181
end
181182

182-
function DynamicalSDEProblem(f::DynamicalSDEFunction, g, v0, u0, tspan,
183+
function DynamicalSDEProblem(f::DynamicalSDEFunction, v0, u0, tspan,
183184
p = NullParameters(); kwargs...)
184-
DynamicalSDEProblem{isinplace(f)}(f, g, v0, u0, tspan, p; kwargs...)
185+
DynamicalSDEProblem{isinplace(f)}(f, f.g, v0, u0, tspan, p; kwargs...)
185186
end
186187

187-
function DynamicalSDEProblem{iip}(f1, f2, g, v0, u0, tspan, p = NullParameters();
188-
kwargs...) where {iip}
189-
DynamicalSDEProblem(DynamicalSDEFunction(f1, f2, g), g, v0, u0, tspan, p; kwargs...)
190-
end
191188
function DynamicalSDEProblem{iip}(f::DynamicalSDEFunction, g, v0, u0, tspan,
192189
p = NullParameters();
193190
func_cache = nothing, kwargs...) where {iip}
@@ -198,5 +195,5 @@ function DynamicalSDEProblem{iip}(f::DynamicalSDEFunction, g, v0, u0, tspan,
198195
else
199196
_f = f
200197
end
201-
SDEProblem(_f, g, ArrayPartition(v0, u0), tspan, p; kwargs...)
198+
SDEProblem(_f, ArrayPartition(v0, u0), tspan, p; kwargs...)
202199
end

0 commit comments

Comments
 (0)