Skip to content

Commit fcc824f

Browse files
committed
changed: allocate before the loop
1 parent 51d3e43 commit fcc824f

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

src/controller/transcription.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1484,6 +1484,7 @@ function con_nonlinprogeq!(
14841484
nx̂_nk = nx̂ + nk
14851485
D̂0 = mpc.D̂0
14861486
X̂0_Z̃, K_Z̃ = @views Z̃[(nΔU+1):(nΔU+nX̂)], Z̃[(nΔU+nX̂+1):(nΔU+nX̂+nk*Hp)]
1487+
ΔK = similar(K̇) # TODO: remove this allocation
14871488
@threadsif f_threads for j=1:Hp
14881489
if j < 2
14891490
x̂0_Z̃ = @views mpc.estim.x̂0[1:nx̂]
@@ -1493,6 +1494,7 @@ function con_nonlinprogeq!(
14931494
d̂0 = @views D̂0[(1 + nd*(j-2)):(nd*(j-1))]
14941495
end
14951496
= @views K̇[(1 + nk*(j-1)):(nk*j)]
1497+
Δk = @views ΔK[(1 + nk*(j-1)):(nk*j)]
14961498
k_Z̃ = @views K_Z̃[(1 + nk*(j-1)):(nk*j)]
14971499
x̂0next = @views X̂0[(1 + nx̂*(j-1)):(nx̂*j)]
14981500
x̂0next_Z̃ = @views X̂0_Z̃[(1 + nx̂*(j-1)):(nx̂*j)]
@@ -1510,11 +1512,10 @@ function con_nonlinprogeq!(
15101512
u0 = @views U0[(1 + nu*(j-1)):(nu*j)]
15111513
û0 = @views Û0[(1 + nu*(j-1)):(nu*j)]
15121514
f̂_input!(û0, mpc.estim, model, x̂0_Z̃, u0)
1513-
Δk = similar(k̇) # TODO: remove this allocation
15141515
for o=1:no
15151516
k̇o = @views k̇[(1 + (o-1)*nx):(o*nx)]
1516-
ko_Z̃ = @views k_Z̃[(1 + (o-1)*nx):(o*nx)]
15171517
Δko = @views Δk[(1 + (o-1)*nx):(o*nx)]
1518+
ko_Z̃ = @views k_Z̃[(1 + (o-1)*nx):(o*nx)]
15181519
Δko .= @. ko_Z̃ - x0_Z̃
15191520
model.f!(k̇o, ko_Z̃, û0, d̂0, p)
15201521
end

0 commit comments

Comments
 (0)