@@ -159,22 +159,15 @@ end
159
159
function configure_matmul (matmul:: Symbol )
160
160
matmul ∈ (:slow , :fast ) || return throw (ArgumentError (" only the matrix multiplication mode `:slow` and `:fast` are available" ))
161
161
162
- for T ∈ (:AbstractVector , :AbstractMatrix ) # needed to resolve method ambiguities
163
- @eval begin
164
- function LinearAlgebra. mul! (C:: AbstractVecOrMat{<:RealOrComplexI} , A:: AbstractMatrix{<:RealOrComplexI} , B:: $T{<:RealOrComplexI} , α:: Number , β:: Number )
165
- size (A, 2 ) == size (B, 1 ) || return throw (DimensionMismatch (" The number of columns of A must match the number of rows of B." ))
166
- return _mul! (MatMulMode {$(QuoteNode(matmul))} (), C, A, B, α, β)
167
- end
168
-
169
- function LinearAlgebra. mul! (C:: AbstractVecOrMat{<:RealOrComplexI} , A:: AbstractMatrix , B:: $T{<:RealOrComplexI} , α:: Number , β:: Number )
170
- size (A, 2 ) == size (B, 1 ) || return throw (DimensionMismatch (" The number of columns of A must match the number of rows of B." ))
171
- return _mul! (MatMulMode {$(QuoteNode(matmul))} (), C, A, B, α, β)
172
- end
173
-
174
- function LinearAlgebra. mul! (C:: AbstractVecOrMat{<:RealOrComplexI} , A:: AbstractMatrix{<:RealOrComplexI} , B:: $T , α:: Number , β:: Number )
175
- size (A, 2 ) == size (B, 1 ) || return throw (DimensionMismatch (" The number of columns of A must match the number of rows of B." ))
176
- return _mul! (MatMulMode {$(QuoteNode(matmul))} (), C, A, B, α, β)
177
- end
162
+ @eval begin
163
+ function LinearAlgebra. mul! (C:: $AbstractVector{<:RealOrComplexI} , A:: AbstractVecOrMat , B:: AbstractVector , α:: Number , β:: Number )
164
+ size (A, 2 ) == size (B, 1 ) || return throw (DimensionMismatch (" The number of columns of A must match the number of rows of B." ))
165
+ return _mul! (MatMulMode {$(QuoteNode(matmul))} (), C, A, B, α, β)
166
+ end
167
+
168
+ function LinearAlgebra. mul! (C:: $AbstractMatrix{<:RealOrComplexI} , A:: AbstractVecOrMat , B:: AbstractVecOrMat , α:: Number , β:: Number )
169
+ size (A, 2 ) == size (B, 1 ) || return throw (DimensionMismatch (" The number of columns of A must match the number of rows of B." ))
170
+ return _mul! (MatMulMode {$(QuoteNode(matmul))} (), C, A, B, α, β)
178
171
end
179
172
end
180
173
0 commit comments