Skip to content

Commit 2228761

Browse files
Reduce loop allocations
1 parent 650f403 commit 2228761

File tree

1 file changed

+3
-2
lines changed
  • lib/OrdinaryDiffEqNonlinearSolve/src

1 file changed

+3
-2
lines changed

lib/OrdinaryDiffEqNonlinearSolve/src/newton.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,15 @@ function initialize!(nlsolver::NLSolver{<:NonlinearSolveAlg, true},
6666

6767
nlstep_data = f.nlstep_data
6868
if nlstep_data !== nothing
69+
ztmp .= 0
6970
if method === COEFFICIENT_MULTISTEP
7071
nlstep_data.set_γ_c(nlstep_data.nlprob, (one(t), one(t), α * invγdt, tstep))
71-
nlstep_data.set_inner_tmp(nlstep_data.nlprob, zero(z))
72+
nlstep_data.set_inner_tmp(nlstep_data.nlprob, ztmp)
7273
nlstep_data.set_outer_tmp(nlstep_data.nlprob, tmp)
7374
else
7475
nlstep_data.set_γ_c(nlstep_data.nlprob, (dt, γ, one(t), tstep))
7576
nlstep_data.set_inner_tmp(nlstep_data.nlprob, tmp)
76-
nlstep_data.set_outer_tmp(nlstep_data.nlprob, zero(z))
77+
nlstep_data.set_outer_tmp(nlstep_data.nlprob, ztmp)
7778
end
7879
nlstep_data.nlprob.u0 .= @view z[nlstep_data.u0perm]
7980
SciMLBase.reinit!(cache.cache, nlstep_data.nlprob.u0, p=nlstep_data.nlprob.p)

0 commit comments

Comments
 (0)