Skip to content

Commit 015879e

Browse files
feat: add constructorof for NonlinearProblem, NonlinearLeastSquaresProblem
1 parent 95b8837 commit 015879e

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

src/problems/nonlinear_problems.jl

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,17 @@ function NonlinearProblem(f::AbstractODEFunction, u0, p = NullParameters(); kwar
222222
NonlinearProblem{isinplace(f)}(f, u0, p; kwargs...)
223223
end
224224

225+
function ConstructionBase.constructorof(::Type{P}) where {P <: NonlinearProblem}
226+
function ctor(f, u0, p, pt, kw)
227+
if f isa AbstractNonlinearFunction
228+
iip = isinplace(f)
229+
else
230+
iip = isinplace(f, 4)
231+
end
232+
return NonlinearProblem{iip}(f, u0, p, pt; kw...)
233+
end
234+
end
235+
225236
"""
226237
$(SIGNATURES)
227238
@@ -322,6 +333,17 @@ function NonlinearLeastSquaresProblem(f, u0, p = NullParameters(); kwargs...)
322333
return NonlinearLeastSquaresProblem(NonlinearFunction(f), u0, p; kwargs...)
323334
end
324335

336+
function ConstructionBase.constructorof(::Type{P}) where {P <: NonlinearLeastSquaresProblem}
337+
function ctor(f, u0, p, kw)
338+
if f isa AbstractNonlinearFunction
339+
iip = isinplace(f)
340+
else
341+
iip = isinplace(f, 4)
342+
end
343+
return NonlinearProblem{iip}(f, u0, p; kw...)
344+
end
345+
end
346+
325347
@doc doc"""
326348
SCCNonlinearProblem(probs, explicitfuns!)
327349

0 commit comments

Comments
 (0)