Skip to content

Commit af6d34d

Browse files
committed
Swap the arguments in the macro kcopy!
1 parent 2cd76f7 commit af6d34d

20 files changed

+37
-41
lines changed

src/bicgstab.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,15 +210,15 @@ kwargs_bicgstab = (:c, :M, :N, :ldiv, :atol, :rtol, :itmax, :timemax, :verbose,
210210
mul!(q, A, y) # qₖ = Ayₖ
211211
mulorldiv!(v, M, q, ldiv) # vₖ = M⁻¹qₖ
212212
α = ρ / @kdot(n, c, v) # αₖ = ⟨r̅₀,rₖ₋₁⟩ / ⟨r̅₀,vₖ⟩
213-
@kcopy!(n, r, s) # sₖ = rₖ₋₁
213+
@kcopy!(n, s, r) # sₖ = rₖ₋₁
214214
@kaxpy!(n, -α, v, s) # sₖ = sₖ - αₖvₖ
215215
@kaxpy!(n, α, y, x) # xₐᵤₓ = xₖ₋₁ + αₖyₖ
216216
NisI || mulorldiv!(z, N, s, ldiv) # zₖ = N⁻¹sₖ
217217
mul!(d, A, z) # dₖ = Azₖ
218218
MisI || mulorldiv!(t, M, d, ldiv) # tₖ = M⁻¹dₖ
219219
ω = @kdot(n, t, s) / @kdot(n, t, t) # ⟨tₖ,sₖ⟩ / ⟨tₖ,tₖ⟩
220220
@kaxpy!(n, ω, z, x) # xₖ = xₐᵤₓ + ωₖzₖ
221-
@kcopy!(n, s, r) # rₖ = sₖ
221+
@kcopy!(n, r, s) # rₖ = sₖ
222222
@kaxpy!(n, -ω, t, r) # rₖ = rₖ - ωₖtₖ
223223
next_ρ = @kdot(n, c, r) # ρₖ₊₁ = ⟨r̅₀,rₖ⟩
224224
β = (next_ρ / ρ) */ ω) # βₖ₊₁ = (ρₖ₊₁ / ρₖ) * (αₖ / ωₖ)

src/bilq.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -308,15 +308,15 @@ kwargs_bilq = (:c, :transfer_to_bicg, :M, :N, :ldiv, :atol, :rtol, :itmax, :time
308308
# Compute d̅ₖ.
309309
if iter == 1
310310
# d̅₁ = v₁
311-
@kcopy!(n, vₖ, d̅) # d̅ ← vₖ
311+
@kcopy!(n, d̅, vₖ) # d̅ ← vₖ
312312
else
313313
# d̅ₖ = s̄ₖ * d̅ₖ₋₁ - cₖ * vₖ
314314
@kaxpby!(n, -cₖ, vₖ, conj(sₖ), d̅)
315315
end
316316

317317
# Compute vₖ₊₁ and uₖ₊₁.
318-
@kcopy!(n, vₖ, vₖ₋₁) # vₖ₋₁ ← vₖ
319-
@kcopy!(n, uₖ, uₖ₋₁) # uₖ₋₁ ← uₖ
318+
@kcopy!(n, vₖ₋₁, vₖ) # vₖ₋₁ ← vₖ
319+
@kcopy!(n, uₖ₋₁, uₖ) # uₖ₋₁ ← uₖ
320320

321321
if pᴴq 0
322322
vₖ .= q ./ βₖ₊₁ # βₖ₊₁vₖ₊₁ = q

src/bilqr.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ kwargs_bilqr = (:transfer_to_bicg, :atol, :rtol, :itmax, :timemax, :verbose, :hi
295295
# Compute d̅ₖ.
296296
if iter == 1
297297
# d̅₁ = v₁
298-
@kcopy!(n, vₖ, d̅) # d̅ ← vₖ
298+
@kcopy!(n, d̅, vₖ) # d̅ ← vₖ
299299
else
300300
# d̅ₖ = s̄ₖ * d̅ₖ₋₁ - cₖ * vₖ
301301
@kaxpby!(n, -cₖ, vₖ, conj(sₖ), d̅)
@@ -400,8 +400,8 @@ kwargs_bilqr = (:transfer_to_bicg, :atol, :rtol, :itmax, :timemax, :verbose, :hi
400400
end
401401

402402
# Compute vₖ₊₁ and uₖ₊₁.
403-
@kcopy!(n, vₖ, vₖ₋₁) # vₖ₋₁ ← vₖ
404-
@kcopy!(n, uₖ, uₖ₋₁) # uₖ₋₁ ← uₖ
403+
@kcopy!(n, vₖ₋₁, vₖ) # vₖ₋₁ ← vₖ
404+
@kcopy!(n, uₖ₋₁, uₖ) # uₖ₋₁ ← uₖ
405405

406406
if pᴴq zero(FC)
407407
vₖ .= q ./ βₖ₊₁ # βₖ₊₁vₖ₊₁ = q

src/cg_lanczos.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,9 +197,9 @@ kwargs_cg_lanczos = (:M, :ldiv, :check_curvature, :atol, :rtol, :itmax, :timemax
197197
@kaxpy!(n, -δ, Mv, Mv_next) # Mvₖ₊₁ ← Mvₖ₊₁ - δₖMvₖ
198198
if iter > 0
199199
@kaxpy!(n, -β, Mv_prev, Mv_next) # Mvₖ₊₁ ← Mvₖ₊₁ - βₖMvₖ₋₁
200-
@kcopy!(n, Mv, Mv_prev) # Mvₖ₋₁ ← Mvₖ
200+
@kcopy!(n, Mv_prev, Mv) # Mvₖ₋₁ ← Mvₖ
201201
end
202-
@kcopy!(n, Mv_next, Mv) # Mvₖ ← Mvₖ₊₁
202+
@kcopy!(n, Mv, Mv_next) # Mvₖ ← Mvₖ₊₁
203203
MisI || mulorldiv!(v, M, Mv, ldiv) # vₖ₊₁ = M⁻¹ * Mvₖ₊₁
204204
β = sqrt(@kdotr(n, v, Mv)) # βₖ₊₁ = vₖ₊₁ᴴ M vₖ₊₁
205205
@kscal!(n, one(FC) / β, v) # vₖ₊₁ ← vₖ₊₁ / βₖ₊₁

src/cg_lanczos_shift.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,9 @@ kwargs_cg_lanczos_shift = (:M, :ldiv, :check_curvature, :atol, :rtol, :itmax, :t
201201
@kaxpy!(n, -δ, Mv, Mv_next) # Mvₖ₊₁ ← Mvₖ₊₁ - δₖMvₖ
202202
if iter > 0
203203
@kaxpy!(n, -β, Mv_prev, Mv_next) # Mvₖ₊₁ ← Mvₖ₊₁ - βₖMvₖ₋₁
204-
@kcopy!(n, Mv, Mv_prev) # Mvₖ₋₁ ← Mvₖ
204+
@kcopy!(n, Mv_prev, Mv) # Mvₖ₋₁ ← Mvₖ
205205
end
206-
@kcopy!(n, Mv_next, Mv) # Mvₖ ← Mvₖ₊₁
206+
@kcopy!(n, Mv, Mv_next) # Mvₖ ← Mvₖ₊₁
207207
MisI || mulorldiv!(v, M, Mv, ldiv) # vₖ₊₁ = M⁻¹ * Mvₖ₊₁
208208
β = sqrt(@kdotr(n, v, Mv)) # βₖ₊₁ = vₖ₊₁ᴴ M vₖ₊₁
209209
@kscal!(n, one(FC) / β, v) # vₖ₊₁ ← vₖ₊₁ / βₖ₊₁

src/cgs.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ kwargs_cgs = (:c, :M, :N, :ldiv, :atol, :rtol, :itmax, :timemax, :verbose, :hist
208208
MisI || mulorldiv!(v, M, t, ldiv) # vₖ = M⁻¹tₖ
209209
σ = @kdot(n, c, v) # σₖ = ⟨ r̅₀,M⁻¹AN⁻¹pₖ ⟩
210210
α = ρ / σ # αₖ = ρₖ / σₖ
211-
@kcopy!(n, u, q) # qₖ = uₖ
211+
@kcopy!(n, q, u) # qₖ = uₖ
212212
@kaxpy!(n, -α, v, q) # qₖ = qₖ - αₖ * M⁻¹AN⁻¹pₖ
213213
@kaxpy!(n, one(FC), q, u) # uₖ₊½ = uₖ + qₖ
214214
NisI || mulorldiv!(z, N, u, ldiv) # zₖ = N⁻¹uₖ₊½
@@ -218,7 +218,7 @@ kwargs_cgs = (:c, :M, :N, :ldiv, :atol, :rtol, :itmax, :timemax, :verbose, :hist
218218
@kaxpy!(n, -α, w, r) # rₖ₊₁ = rₖ - αₖ * M⁻¹AN⁻¹(uₖ + qₖ)
219219
ρ_next = @kdot(n, c, r) # ρₖ₊₁ = ⟨ r̅₀,rₖ₊₁ ⟩
220220
β = ρ_next / ρ # βₖ = ρₖ₊₁ / ρₖ
221-
@kcopy!(n, r, u) # uₖ₊₁ = rₖ₊₁
221+
@kcopy!(n, u, r) # uₖ₊₁ = rₖ₊₁
222222
@kaxpy!(n, β, q, u) # uₖ₊₁ = uₖ₊₁ + βₖ * qₖ
223223
@kaxpby!(n, one(FC), q, β, p) # pₐᵤₓ = qₖ + βₖ * pₖ
224224
@kaxpby!(n, one(FC), u, β, p) # pₖ₊₁ = uₖ₊₁ + βₖ * pₐᵤₓ

src/krylov_utils.jl

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -375,11 +375,7 @@ macro kaxpby!(n, s, x, t, y)
375375
return esc(:(Krylov.kaxpby!($n, $s, $x, 1, $t, $y, 1)))
376376
end
377377

378-
macro kcopy!(n, x, y)
379-
return esc(:(Krylov.kcopy!($n, $x, 1, $y, 1)))
380-
end
381-
382-
macro kcopyto!(n, y, x)
378+
macro kcopy!(n, y, x)
383379
return esc(:(Krylov.kcopy!($n, $x, 1, $y, 1)))
384380
end
385381

src/minres.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,8 +255,8 @@ kwargs_minres = (:M, :ldiv, :λ, :atol, :rtol, :etol, :conlim, :itmax, :timemax,
255255
end
256256
@kaxpy!(n, one(FC) / β, v, w)
257257

258-
@kcopy!(n, r2, r1) # r1 ← r2
259-
@kcopy!(n, y, r2) # r2 ← y
258+
@kcopy!(n, r1, r2) # r1 ← r2
259+
@kcopy!(n, r2, y) # r2 ← y
260260
MisI || mulorldiv!(v, M, r2, ldiv)
261261
oldβ = β
262262
β = @kdotr(n, r2, v)

src/minres_qlp.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ kwargs_minres_qlp = (:M, :ldiv, :λ, :atol, :rtol, :Artol, :itmax, :timemax, :ve
348348
# Compute directions wₖ₋₂, ẘₖ₋₁ and w̄ₖ, last columns of Wₖ = Vₖ(Pₖ)ᴴ
349349
if iter == 1
350350
# w̅₁ = v₁
351-
@kcopy!(n, vₖ, wₖ)
351+
@kcopy!(n, wₖ, vₖ)
352352
elseif iter == 2
353353
# [w̅ₖ₋₁ vₖ] [cpₖ spₖ] = [ẘₖ₋₁ w̅ₖ] ⟷ ẘₖ₋₁ = cpₖ * w̅ₖ₋₁ + spₖ * vₖ
354354
# [spₖ -cpₖ] ⟷ w̅ₖ = spₖ * w̅ₖ₋₁ - cpₖ * vₖ

src/qmr.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,8 +328,8 @@ kwargs_qmr = (:c, :M, :N, :ldiv, :atol, :rtol, :itmax, :timemax, :verbose, :hist
328328
@kaxpy!(n, ζₖ, wₖ, x)
329329

330330
# Compute vₖ₊₁ and uₖ₊₁.
331-
@kcopy!(n, vₖ, vₖ₋₁) # vₖ₋₁ ← vₖ
332-
@kcopy!(n, uₖ, uₖ₋₁) # uₖ₋₁ ← uₖ
331+
@kcopy!(n, vₖ₋₁, vₖ) # vₖ₋₁ ← vₖ
332+
@kcopy!(n, uₖ₋₁, uₖ) # uₖ₋₁ ← uₖ
333333

334334
if pᴴq zero(FC)
335335
vₖ .= q ./ βₖ₊₁ # βₖ₊₁vₖ₊₁ = q

0 commit comments

Comments
 (0)