@@ -77,16 +77,14 @@ function (ii::IdentityOperator)(v::AbstractVecOrMat, u, p, t; kwargs...)
7777end
7878
7979# In-place: w is destination, v is action vector, u is update vector
80- function (ii:: IdentityOperator )(w:: AbstractVecOrMat , v:: AbstractVecOrMat , u, p, t; kwargs... )
80+ @inline function (ii:: IdentityOperator )(w:: AbstractVecOrMat , v:: AbstractVecOrMat , u, p, t; kwargs... )
8181 @assert size (v, 1 ) == ii. len
82- update_coefficients! (ii, u, p, t; kwargs... )
8382 copy! (w, v)
8483end
8584
8685# In-place with scaling: w = α*(ii*v) + β*w
87- function (ii:: IdentityOperator )(w:: AbstractVecOrMat , v:: AbstractVecOrMat , u, p, t, α, β; kwargs... )
86+ @inline function (ii:: IdentityOperator )(w:: AbstractVecOrMat , v:: AbstractVecOrMat , u, p, t, α, β; kwargs... )
8887 @assert size (v, 1 ) == ii. len
89- update_coefficients! (ii, u, p, t; kwargs... )
9088 mul! (w, I, v, α, β)
9189end
9290
@@ -388,29 +386,17 @@ function (L::ScaledOperator)(v::AbstractVecOrMat, u, p, t; kwargs...)
388386end
389387
390388# In-place: w is destination, v is action vector, u is update vector
391- function (L:: ScaledOperator )(w:: AbstractVecOrMat , v:: AbstractVecOrMat , u, p, t; kwargs... )
392- update_coefficients! (L, u, p, t; kwargs... )
393- if iszero (L. λ)
394- lmul! (false , w)
395- return w
396- else
397- a = convert (Number, L. λ)
398- mul! (w, L. L, v, a, false )
399- return w
400- end
389+ @inline function (L:: ScaledOperator )(w:: AbstractVecOrMat , v:: AbstractVecOrMat , u, p, t; kwargs... )
390+ update_coefficients! (L. λ, u, p, t; kwargs... )
391+ a = convert (Number, L. λ)
392+ return L. L (w, v, u, p, t, a, false ; kwargs... )
401393end
402394
403395# In-place with scaling: w = α*(L*v) + β*w
404- function (L:: ScaledOperator )(w:: AbstractVecOrMat , v:: AbstractVecOrMat , u, p, t, α, β; kwargs... )
405- update_coefficients! (L, u, p, t; kwargs... )
406- if iszero (L. λ)
407- lmul! (β, w)
408- return w
409- else
410- a = convert (Number, L. λ * α)
411- mul! (w, L. L, v, a, β)
412- return w
413- end
396+ @inline function (L:: ScaledOperator )(w:: AbstractVecOrMat , v:: AbstractVecOrMat , u, p, t, α, β; kwargs... )
397+ update_coefficients! (L. λ, u, p, t; kwargs... )
398+ a = convert (Number, L. λ * α)
399+ return L. L (w, v, u, p, t, a, β; kwargs... )
414400end
415401
416402
0 commit comments