Skip to content

Commit d0653ea

Browse files
feat: retain prob.f.sys when remakeing SDEProblem
1 parent f900c01 commit d0653ea

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/remake.jl

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -336,13 +336,13 @@ function remake(prob::SDEProblem;
336336
if prob.f isa SDEFunction
337337
f = remake(prob.f; g = g)
338338
else
339-
f = SDEFunction(prob.f, g)
339+
f = SDEFunction(prob.f, g; sys = prob.f.sys)
340340
end
341341
else
342342
if f isa SDEFunction
343343
f = remake(f; g = g)
344344
else
345-
f = SDEFunction(f, g)
345+
f = SDEFunction(f, g; sys = prob.f.sys)
346346
end
347347
end
348348

@@ -369,11 +369,12 @@ end
369369
370370
Remake the given `SDEFunction`.
371371
"""
372-
function remake(func::SDEFunction;
372+
function remake(func::Union{SDEFunction, SDDEFunction};
373373
f = missing,
374374
g = missing,
375375
mass_matrix = missing,
376376
analytic = missing,
377+
sys = missing,
377378
kwargs...)
378379
if f === missing
379380
f = func.f
@@ -391,7 +392,12 @@ function remake(func::SDEFunction;
391392
analytic = func.analytic
392393
end
393394

394-
return SDEFunction(f, g; mass_matrix, analytic, kwargs...)
395+
if sys === missing
396+
sys = func.sys
397+
end
398+
399+
T = func isa SDEFunction ? SDEFunction : SDDEFunction
400+
return T(f, g; mass_matrix, analytic, sys, kwargs...)
395401
end
396402

397403
"""

0 commit comments

Comments
 (0)