@@ -48,7 +48,7 @@ Change `S` to use LinearOperators on GPU.
4848"""
4949function opEye (T:: DataType , n:: Int ; S = Vector{T})
5050 prod! = @closure (res, v, α, β) -> mulOpEye! (res, v, α, β, n)
51- LinearOperator {T} ( n, n, true , true , prod!, prod!, prod!, S = S)
51+ LinearOperator5 (T, n, n, true , true , prod!, prod!, prod!, S = S)
5252end
5353
5454opEye (n:: Int ) = opEye (Float64, n)
@@ -67,7 +67,7 @@ function opEye(T::DataType, nrow::I, ncol::I; S = Vector{T}) where {I <: Integer
6767 return opEye (T, nrow)
6868 end
6969 prod! = @closure (res, v, α, β) -> mulOpEye! (res, v, α, β, min (nrow, ncol))
70- return LinearOperator {T} ( nrow, ncol, false , false , prod!, prod!, prod!, S = S)
70+ return LinearOperator5 (T, nrow, ncol, false , false , prod!, prod!, prod!, S = S)
7171end
7272
7373opEye (nrow:: I , ncol:: I ) where {I <: Integer } = opEye (Float64, nrow, ncol)
@@ -90,7 +90,7 @@ Change `S` to use LinearOperators on GPU.
9090"""
9191function opOnes (T:: DataType , nrow:: I , ncol:: I ; S = Vector{T}) where {I <: Integer }
9292 prod! = @closure (res, v, α, β) -> mulOpOnes! (res, v, α, β)
93- LinearOperator {T} ( nrow, ncol, nrow == ncol, nrow == ncol, prod!, prod!, prod!, S = S)
93+ LinearOperator5 (T, nrow, ncol, nrow == ncol, nrow == ncol, prod!, prod!, prod!, S = S)
9494end
9595
9696opOnes (nrow:: I , ncol:: I ) where {I <: Integer } = opOnes (Float64, nrow, ncol)
@@ -113,7 +113,7 @@ Change `S` to use LinearOperators on GPU.
113113"""
114114function opZeros (T:: DataType , nrow:: I , ncol:: I ; S = Vector{T}) where {I <: Integer }
115115 prod! = @closure (res, v, α, β) -> mulOpZeros! (res, v, α, β)
116- LinearOperator {T} ( nrow, ncol, nrow == ncol, nrow == ncol, prod!, prod!, prod!, S = S)
116+ LinearOperator5 (T, nrow, ncol, nrow == ncol, nrow == ncol, prod!, prod!, prod!, S = S)
117117end
118118
119119opZeros (nrow:: I , ncol:: I ) where {I <: Integer } = opZeros (Float64, nrow, ncol)
@@ -134,7 +134,7 @@ Diagonal operator with the vector `d` on its main diagonal.
134134function opDiagonal (d:: AbstractVector{T} ) where {T}
135135 prod! = @closure (res, v, α, β) -> mulSquareOpDiagonal! (res, d, v, α, β)
136136 ctprod! = @closure (res, w, α, β) -> mulSquareOpDiagonal! (res, conj .(d), w, α, β)
137- LinearOperator {T} ( length (d), length (d), true , isreal (d), prod!, prod!, ctprod!, S = typeof (d))
137+ LinearOperator5 (T, length (d), length (d), true , isreal (d), prod!, prod!, ctprod!, S = typeof (d))
138138end
139139
140140function mulOpDiagonal! (res, d, v, α, β:: T , n_min) where {T}
@@ -157,7 +157,7 @@ function opDiagonal(nrow::I, ncol::I, d::AbstractVector{T}) where {T, I <: Integ
157157 prod! = @closure (res, v, α, β) -> mulOpDiagonal! (res, d, v, α, β, n_min)
158158 tprod! = @closure (res, u, α, β) -> mulOpDiagonal! (res, d, u, α, β, n_min)
159159 ctprod! = @closure (res, w, α, β) -> mulOpDiagonal! (res, conj .(d), w, α, β, n_min)
160- LinearOperator {T} ( nrow, ncol, false , false , prod!, tprod!, ctprod!, S = typeof (d))
160+ LinearOperator5 (T, nrow, ncol, false , false , prod!, tprod!, ctprod!, S = typeof (d))
161161end
162162
163163function mulRestrict! (res, I, v, α, β)
@@ -185,7 +185,7 @@ function opRestriction(Idx::LinearOperatorIndexType{I}, ncol::I) where {I <: Int
185185 nrow = length (Idx)
186186 prod! = @closure (res, v, α, β) -> mulRestrict! (res, Idx, v, α, β)
187187 tprod! = @closure (res, u, α, β) -> multRestrict! (res, Idx, u, α, β)
188- return LinearOperator {I} ( nrow, ncol, false , false , prod!, tprod!, tprod!)
188+ return LinearOperator5 (I, nrow, ncol, false , false , prod!, tprod!, tprod!)
189189end
190190
191191opRestriction (:: Colon , ncol:: I ) where {I <: Integer } = opEye (I, ncol)
0 commit comments