Skip to content

Commit b26c355

Browse files
committed
add resid_prototype to ImplicitDiscreteFunction
1 parent d60447d commit b26c355

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/scimlfunctions.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3092,8 +3092,8 @@ function ImplicitDiscreteFunction{iip}(f; kwargs...) where {iip}
30923092
ImplicitDiscreteFunction{iip, FullSpecialize}(f; kwargs...)
30933093
end
30943094
ImplicitDiscreteFunction{iip}(f::ImplicitDiscreteFunction; kwargs...) where {iip} = f
3095-
function ImplicitDiscreteFunction(f; kwargs...)
3096-
ImplicitDiscreteFunction{isinplace(f, 5), FullSpecialize}(f; kwargs...)
3095+
function ImplicitDiscreteFunction(f; resid_prototype = __has_resid_prototype(f) ? f.resid_prototype : nothing, kwargs...)
3096+
ImplicitDiscreteFunction{isinplace(f, 5), FullSpecialize}(f; resid_prototype, kwargs...)
30973097
end
30983098
ImplicitDiscreteFunction(f::ImplicitDiscreteFunction; kwargs...) = f
30993099

@@ -3102,12 +3102,12 @@ function unwrapped_f(f::ImplicitDiscreteFunction, newf = unwrapped_f(f.f))
31023102

31033103
if specialize === NoSpecialize
31043104
ImplicitDiscreteFunction{isinplace(f, 6), specialize, Any, Any,
3105-
Any, Any, Any}(newf, f.analytic, f.observed, f.sys, f.initialization_data)
3105+
Any, Any, Any}(newf, f.analytic, f.observed, f.sys, f.resid_prototype, f.initialization_data)
31063106
else
31073107
ImplicitDiscreteFunction{isinplace(f, 6), specialize, typeof(newf),
31083108
typeof(f.analytic),
31093109
typeof(f.observed), typeof(f.sys), typeof(f.initialization_data)}(newf,
3110-
f.analytic, f.observed, f.sys, f.initialization_data)
3110+
f.analytic, f.observed, f.sys, f.resid_prototype, f.initialization_data)
31113111
end
31123112
end
31133113

0 commit comments

Comments
 (0)