Skip to content

Commit

Permalink
feat: add constructorof for NonlinearProblem, `NonlinearLeastSqua…
Browse files Browse the repository at this point in the history
…resProblem`
  • Loading branch information
AayushSabharwal committed Dec 6, 2024
1 parent f012a0a commit 3db067c
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions src/problems/nonlinear_problems.jl
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,17 @@ function NonlinearProblem(f::AbstractODEFunction, u0, p = NullParameters(); kwar
NonlinearProblem{isinplace(f)}(f, u0, p; kwargs...)
end

function ConstructionBase.constructorof(::Type{P}) where {P <: NonlinearProblem}
function ctor(f, u0, p, pt, kw)
if f isa AbstractNonlinearFunction
iip = isinplace(f)
else
iip = isinplace(f, 4)
end
return NonlinearProblem{iip}(f, u0, p, pt; kw...)
end
end

"""
$(SIGNATURES)
Expand Down Expand Up @@ -322,6 +333,17 @@ function NonlinearLeastSquaresProblem(f, u0, p = NullParameters(); kwargs...)
return NonlinearLeastSquaresProblem(NonlinearFunction(f), u0, p; kwargs...)
end

function ConstructionBase.constructorof(::Type{P}) where {P <: NonlinearLeastSquaresProblem}
function ctor(f, u0, p, kw)
if f isa AbstractNonlinearFunction
iip = isinplace(f)
else
iip = isinplace(f, 4)
end
return NonlinearProblem{iip}(f, u0, p; kw...)
end
end

@doc doc"""
SCCNonlinearProblem(probs, explicitfuns!)
Expand Down

0 comments on commit 3db067c

Please sign in to comment.