Skip to content

Commit 3a1b052

Browse files
feat: retain prob.f.sys when remakeing SDEProblem
1 parent 306a29e commit 3a1b052

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
@@ -354,13 +354,13 @@ function remake(prob::SDEProblem;
354354
if prob.f isa SDEFunction
355355
f = remake(prob.f; g = g)
356356
else
357-
f = SDEFunction(prob.f, g)
357+
f = SDEFunction(prob.f, g; sys = prob.f.sys)
358358
end
359359
else
360360
if f isa SDEFunction
361361
f = remake(f; g = g)
362362
else
363-
f = SDEFunction(f, g)
363+
f = SDEFunction(f, g; sys = prob.f.sys)
364364
end
365365
end
366366

@@ -387,11 +387,12 @@ end
387387
388388
Remake the given `SDEFunction`.
389389
"""
390-
function remake(func::SDEFunction;
390+
function remake(func::Union{SDEFunction, SDDEFunction};
391391
f = missing,
392392
g = missing,
393393
mass_matrix = missing,
394394
analytic = missing,
395+
sys = missing,
395396
kwargs...)
396397
if f === missing
397398
f = func.f
@@ -409,7 +410,12 @@ function remake(func::SDEFunction;
409410
analytic = func.analytic
410411
end
411412

412-
return SDEFunction(f, g; mass_matrix, analytic, kwargs...)
413+
if sys === missing
414+
sys = func.sys
415+
end
416+
417+
T = func isa SDEFunction ? SDEFunction : SDDEFunction
418+
return T(f, g; mass_matrix, analytic, sys, kwargs...)
413419
end
414420

415421
"""

0 commit comments

Comments
 (0)