Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Draft
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
fix: conditionally remake
  • Loading branch information
avik-pal committed Oct 29, 2024
commit 8cd8c7f0a2ac0d5ca146c16bbdc4a8ad291f162d
20 changes: 12 additions & 8 deletions src/solve.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1152,20 +1152,24 @@ function get_concrete_problem(prob::NonlinearProblem, isadapt; kwargs...)
p = get_concrete_p(prob, kwargs)
u0 = get_concrete_u0(prob, isadapt, nothing, kwargs)
u0 = promote_u0(u0, p, nothing)
f_promote = promote_f(
prob.f, Val(SciMLBase.specialization(prob.f)), u0, p
)
remake(prob; u0 = u0, p = p, f = f_promote)
f_promote = promote_f(prob.f, Val(SciMLBase.specialization(prob.f)), u0, p)
if f_promote === prob.f && u0 === prob.u0 && p === prob.p
return prob
else
return remake(prob; u0 = u0, p = p, f = f_promote)
end
end

function get_concrete_problem(prob::NonlinearLeastSquaresProblem, isadapt; kwargs...)
p = get_concrete_p(prob, kwargs)
u0 = get_concrete_u0(prob, isadapt, nothing, kwargs)
u0 = promote_u0(u0, p, nothing)
f_promote = promote_f(
prob.f, Val(SciMLBase.specialization(prob.f)), u0, p
)
remake(prob; u0 = u0, p = p, f = f_promote)
f_promote = promote_f(prob.f, Val(SciMLBase.specialization(prob.f)), u0, p)
if f_promote === prob.f && u0 === prob.u0 && p === prob.p
return prob
else
return remake(prob; u0 = u0, p = p, f = f_promote)
end
end

function get_concrete_problem(prob::AbstractEnsembleProblem, isadapt; kwargs...)
Expand Down
Loading