@@ -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:: StaticMatrix , B:: Adjoint{<:Any, <:StaticVector} ) = * (reshape (A, Size (Size (A)[1 ],)), B)
13
14
14
15
@inline mul! (dest:: StaticVecOrMat , A:: StaticMatrix , B:: StaticVector ) = _mul! (Size (dest), dest, Size (A), Size (B), A, B)
15
16
@inline mul! (dest:: StaticVecOrMat , A:: StaticMatrix , B:: StaticMatrix ) = _mul! (Size (dest), dest, Size (A), Size (B), A, B)
16
17
@inline mul! (dest:: StaticVecOrMat , A:: StaticVector , B:: StaticMatrix ) = mul! (dest, reshape (A, Size (Size (A)[1 ], 1 )), B)
17
18
@inline mul! (dest:: StaticVecOrMat , A:: StaticVector , B:: Transpose{<:Any, <:StaticVector} ) = _mul! (Size (dest), dest, Size (A), Size (B), A, B)
18
19
@inline mul! (dest:: StaticVecOrMat , A:: StaticVector , B:: Adjoint{<:Any, <:StaticVector} ) = _mul! (Size (dest), dest, Size (A), Size (B), A, B)
19
-
20
+ @inline mul! (dest :: StaticVecOrMat , A :: StaticMatrix , B :: Adjoint{<:Any, <:StaticVector} ) = mul! (dest, reshape (A, Size ( Size (A)[ 1 ],)), B)
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