diff options
author | 2010-07-07 19:49:09 +0200 | |
---|---|---|
committer | 2010-07-07 19:49:09 +0200 | |
commit | 31a36aa9c407d736075de8dc06f5af0d0fe912d5 (patch) | |
tree | 58febad97092226a768b89ad571d56ed7470a2b2 /Eigen/src/Core/products/SelfadjointMatrixMatrix.h | |
parent | 861962c55f728a1eb68c0b6915c77e8c9b424cff (diff) |
support for real * complex matrix product - step 1 (works for some special cases)
Diffstat (limited to 'Eigen/src/Core/products/SelfadjointMatrixMatrix.h')
-rw-r--r-- | Eigen/src/Core/products/SelfadjointMatrixMatrix.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Eigen/src/Core/products/SelfadjointMatrixMatrix.h b/Eigen/src/Core/products/SelfadjointMatrixMatrix.h index d8fa1bd9c..3bedafb68 100644 --- a/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +++ b/Eigen/src/Core/products/SelfadjointMatrixMatrix.h @@ -256,7 +256,7 @@ struct ei_product_selfadjoint_matrix<Scalar,Index,LhsStorageOrder,true,Conjugate if (ConjugateRhs) alpha = ei_conj(alpha); - typedef ei_product_blocking_traits<Scalar> Blocking; + typedef ei_product_blocking_traits<Scalar,Scalar> Blocking; Index kc = size; // cache block size along the K direction Index mc = rows; // cache block size along the M direction @@ -270,7 +270,7 @@ struct ei_product_selfadjoint_matrix<Scalar,Index,LhsStorageOrder,true,Conjugate Scalar* allocatedBlockB = ei_aligned_stack_new(Scalar, sizeB); Scalar* blockB = allocatedBlockB + kc*Blocking::PacketSize*Blocking::nr; - ei_gebp_kernel<Scalar, Index, Blocking::mr, Blocking::nr, ConjugateLhs, ConjugateRhs> gebp_kernel; + ei_gebp_kernel<Scalar, Scalar, Index, Blocking::mr, Blocking::nr, ConjugateLhs, ConjugateRhs> gebp_kernel; ei_symm_pack_lhs<Scalar, Index, Blocking::mr,LhsStorageOrder> pack_lhs; ei_gemm_pack_rhs<Scalar, Index, Blocking::nr,RhsStorageOrder> pack_rhs; ei_gemm_pack_lhs<Scalar, Index, Blocking::mr,LhsStorageOrder==RowMajor?ColMajor:RowMajor, true> pack_lhs_transposed; @@ -341,7 +341,7 @@ struct ei_product_selfadjoint_matrix<Scalar,Index,LhsStorageOrder,false,Conjugat if (ConjugateRhs) alpha = ei_conj(alpha); - typedef ei_product_blocking_traits<Scalar> Blocking; + typedef ei_product_blocking_traits<Scalar,Scalar> Blocking; Index kc = size; // cache block size along the K direction Index mc = rows; // cache block size along the M direction @@ -353,7 +353,7 @@ struct ei_product_selfadjoint_matrix<Scalar,Index,LhsStorageOrder,false,Conjugat Scalar* allocatedBlockB = ei_aligned_stack_new(Scalar, sizeB); Scalar* blockB = allocatedBlockB + kc*Blocking::PacketSize*Blocking::nr; - ei_gebp_kernel<Scalar, Index, Blocking::mr, Blocking::nr, ConjugateLhs, ConjugateRhs> gebp_kernel; + ei_gebp_kernel<Scalar, Scalar, Index, Blocking::mr, Blocking::nr, ConjugateLhs, ConjugateRhs> gebp_kernel; ei_gemm_pack_lhs<Scalar, Index, Blocking::mr,LhsStorageOrder> pack_lhs; ei_symm_pack_rhs<Scalar, Index, Blocking::nr,RhsStorageOrder> pack_rhs; |