@@ -10,16 +10,18 @@ import LinearAlgebra: BlasFloat, matprod, mul!
10
10
@inline * (A:: StaticVector , B:: StaticMatrix ) = * (reshape (A, Size (Size (A)[1 ], 1 )), B)
11
11
@inline * (A:: StaticVector , B:: Transpose{<:Any, <:StaticVector} ) = _mul (Size (A), Size (B), A, B)
12
12
@inline * (A:: StaticVector , B:: Adjoint{<:Any, <:StaticVector} ) = _mul (Size (A), Size (B), A, B)
13
+ @inline * (A:: StaticArray{Tuple{N,1},<:Any,2} , B:: Adjoint{<:Any,<:StaticVector} ) where {N} = vec (A) * B
14
+ @inline * (A:: StaticArray{Tuple{N,1},<:Any,2} , B:: Transpose{<:Any,<:StaticVector} ) where {N} = vec (A) * B
13
15
14
16
@inline mul! (dest:: StaticVecOrMat , A:: StaticMatrix , B:: StaticVector ) = _mul! (Size (dest), dest, Size (A), Size (B), A, B)
15
17
@inline mul! (dest:: StaticVecOrMat , A:: StaticMatrix , B:: StaticMatrix ) = _mul! (Size (dest), dest, Size (A), Size (B), A, B)
16
18
@inline mul! (dest:: StaticVecOrMat , A:: StaticVector , B:: StaticMatrix ) = mul! (dest, reshape (A, Size (Size (A)[1 ], 1 )), B)
17
19
@inline mul! (dest:: StaticVecOrMat , A:: StaticVector , B:: Transpose{<:Any, <:StaticVector} ) = _mul! (Size (dest), dest, Size (A), Size (B), A, B)
18
20
@inline mul! (dest:: StaticVecOrMat , A:: StaticVector , B:: Adjoint{<:Any, <:StaticVector} ) = _mul! (Size (dest), dest, Size (A), Size (B), A, B)
19
-
20
21
# @inline *{TA<:LinearAlgebra.BlasFloat,Tb}(A::StaticMatrix{TA}, b::StaticVector{Tb})
21
22
22
23
24
+
23
25
# Implementations
24
26
25
27
@generated function _mul (:: Size{sa} , a:: StaticMatrix{<:Any, <:Any, Ta} , b:: AbstractVector{Tb} ) where {sa, Ta, Tb}
0 commit comments