@@ -10,21 +10,21 @@ const DenseTriangular = UpperOrLowerTriangular{<:Any,<:DenseMatrixUnion}
10
10
const DenseInputVector = Union{StridedVector, BitVector}
11
11
const DenseVecOrMat = Union{DenseMatrixUnion, DenseInputVector}
12
12
13
- matprod_dest (A:: SparseMatrixCSCUnion , B:: DenseTriangular , TS) =
13
+ matprod_dest (A:: SparseMatrixCSCUnion2 , B:: DenseTriangular , TS) =
14
14
similar (B, TS, (size (A, 1 ), size (B, 2 )))
15
- matprod_dest (A:: AdjOrTrans{<:Any,<:AbstractSparseMatrixCSC } , B:: DenseTriangular , TS) =
15
+ matprod_dest (A:: AdjOrTrans{<:Any,<:SparseMatrixCSCUnion2 } , B:: DenseTriangular , TS) =
16
16
similar (B, TS, (size (A, 1 ), size (B, 2 )))
17
- matprod_dest (A:: StridedMaybeAdjOrTransMat , B:: SparseMatrixCSCUnion , TS) =
17
+ matprod_dest (A:: StridedMaybeAdjOrTransMat , B:: SparseMatrixCSCUnion2 , TS) =
18
18
similar (A, TS, (size (A, 1 ), size (B, 2 )))
19
- matprod_dest (A:: Union{BitMatrix,AdjOrTrans{<:Any,BitMatrix}} , B:: SparseMatrixCSCUnion , TS) =
19
+ matprod_dest (A:: Union{BitMatrix,AdjOrTrans{<:Any,BitMatrix}} , B:: SparseMatrixCSCUnion2 , TS) =
20
20
similar (A, TS, (size (A, 1 ), size (B, 2 )))
21
- matprod_dest (A:: DenseTriangular , B:: SparseMatrixCSCUnion , TS) =
21
+ matprod_dest (A:: DenseTriangular , B:: SparseMatrixCSCUnion2 , TS) =
22
22
similar (A, TS, (size (A, 1 ), size (B, 2 )))
23
- matprod_dest (A:: StridedMaybeAdjOrTransMat , B:: AdjOrTrans{<:Any,<:AbstractSparseMatrixCSC } , TS) =
23
+ matprod_dest (A:: StridedMaybeAdjOrTransMat , B:: AdjOrTrans{<:Any,<:SparseMatrixCSCUnion2 } , TS) =
24
24
similar (A, TS, (size (A, 1 ), size (B, 2 )))
25
- matprod_dest (A:: Union{BitMatrix,AdjOrTrans{<:Any,BitMatrix}} , B:: AdjOrTrans{<:Any,<:AbstractSparseMatrixCSC } , TS) =
25
+ matprod_dest (A:: Union{BitMatrix,AdjOrTrans{<:Any,BitMatrix}} , B:: AdjOrTrans{<:Any,<:SparseMatrixCSCUnion2 } , TS) =
26
26
similar (A, TS, (size (A, 1 ), size (B, 2 )))
27
- matprod_dest (A:: DenseTriangular , B:: AdjOrTrans{<:Any,<:AbstractSparseMatrixCSC } , TS) =
27
+ matprod_dest (A:: DenseTriangular , B:: AdjOrTrans{<:Any,<:SparseMatrixCSCUnion2 } , TS) =
28
28
similar (A, TS, (size (A, 1 ), size (B, 2 )))
29
29
30
30
for op ∈ (:+ , :- ), Wrapper ∈ (:Hermitian , :Symmetric )
@@ -45,11 +45,11 @@ for op ∈ (:+, :-)
45
45
end
46
46
end
47
47
48
- LinearAlgebra. generic_matmatmul! (C:: StridedMatrix , tA, tB, A:: SparseMatrixCSCUnion , B:: DenseMatrixUnion , _add:: MulAddMul ) =
48
+ LinearAlgebra. generic_matmatmul! (C:: StridedMatrix , tA, tB, A:: SparseMatrixCSCUnion2 , B:: DenseMatrixUnion , _add:: MulAddMul ) =
49
49
spdensemul! (C, tA, tB, A, B, _add)
50
- LinearAlgebra. generic_matmatmul! (C:: StridedMatrix , tA, tB, A:: SparseMatrixCSCUnion , B:: AbstractTriangular , _add:: MulAddMul ) =
50
+ LinearAlgebra. generic_matmatmul! (C:: StridedMatrix , tA, tB, A:: SparseMatrixCSCUnion2 , B:: AbstractTriangular , _add:: MulAddMul ) =
51
51
spdensemul! (C, tA, tB, A, B, _add)
52
- LinearAlgebra. generic_matvecmul! (C:: StridedVecOrMat , tA, A:: SparseMatrixCSCUnion , B:: DenseInputVector , _add:: MulAddMul ) =
52
+ LinearAlgebra. generic_matvecmul! (C:: StridedVecOrMat , tA, A:: SparseMatrixCSCUnion2 , B:: DenseInputVector , _add:: MulAddMul ) =
53
53
spdensemul! (C, tA, ' N' , A, B, _add)
54
54
55
55
Base. @constprop :aggressive function spdensemul! (C, tA, tB, A, B, _add)
@@ -114,7 +114,7 @@ function _At_or_Ac_mul_B!(tfun::Function, C, A, B, α, β)
114
114
C
115
115
end
116
116
117
- Base. @constprop :aggressive function LinearAlgebra. generic_matmatmul! (C:: StridedMatrix , tA, tB, A:: DenseMatrixUnion , B:: AbstractSparseMatrixCSC , _add:: MulAddMul )
117
+ Base. @constprop :aggressive function LinearAlgebra. generic_matmatmul! (C:: StridedMatrix , tA, tB, A:: DenseMatrixUnion , B:: SparseMatrixCSCUnion2 , _add:: MulAddMul )
118
118
transA = tA == ' N' ? identity : tA == ' T' ? transpose : adjoint
119
119
if tB == ' N'
120
120
_spmul! (C, transA (A), B, _add. alpha, _add. beta)
@@ -125,7 +125,7 @@ Base.@constprop :aggressive function LinearAlgebra.generic_matmatmul!(C::Strided
125
125
end
126
126
return C
127
127
end
128
- function _spmul! (C:: StridedMatrix , X:: DenseMatrixUnion , A:: AbstractSparseMatrixCSC , α:: Number , β:: Number )
128
+ function _spmul! (C:: StridedMatrix , X:: DenseMatrixUnion , A:: SparseMatrixCSCUnion2 , α:: Number , β:: Number )
129
129
mX, nX = size (X)
130
130
nX == size (A, 1 ) ||
131
131
throw (DimensionMismatch (" second dimension of X, $nX , does not match the first dimension of A, $(size (A,1 )) " ))
@@ -145,7 +145,7 @@ function _spmul!(C::StridedMatrix, X::DenseMatrixUnion, A::AbstractSparseMatrixC
145
145
end
146
146
C
147
147
end
148
- function _spmul! (C:: StridedMatrix , X:: AdjOrTrans{<:Any,<:DenseMatrixUnion} , A:: AbstractSparseMatrixCSC , α:: Number , β:: Number )
148
+ function _spmul! (C:: StridedMatrix , X:: AdjOrTrans{<:Any,<:DenseMatrixUnion} , A:: SparseMatrixCSCUnion2 , α:: Number , β:: Number )
149
149
mX, nX = size (X)
150
150
nX == size (A, 1 ) ||
151
151
throw (DimensionMismatch (" second dimension of X, $nX , does not match the first dimension of A, $(size (A,1 )) " ))
@@ -164,7 +164,7 @@ function _spmul!(C::StridedMatrix, X::AdjOrTrans{<:Any,<:DenseMatrixUnion}, A::A
164
164
C
165
165
end
166
166
167
- function _A_mul_Bt_or_Bc! (tfun:: Function , C:: StridedMatrix , A:: AbstractMatrix , B:: AbstractSparseMatrixCSC , α:: Number , β:: Number )
167
+ function _A_mul_Bt_or_Bc! (tfun:: Function , C:: StridedMatrix , A:: AbstractMatrix , B:: SparseMatrixCSCUnion2 , α:: Number , β:: Number )
168
168
mA, nA = size (A)
169
169
nA == size (B, 2 ) ||
170
170
throw (DimensionMismatch (" second dimension of A, $nA , does not match the second dimension of B, $(size (B,2 )) " ))
0 commit comments