From 1dc9aaaf364e6a6eba679e09e965088fb6905cde Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 13 Jul 2010 16:03:49 +0200 Subject: add support for mixing type in trsv --- Eigen/src/Core/SolveTriangular.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'Eigen/src/Core/SolveTriangular.h') diff --git a/Eigen/src/Core/SolveTriangular.h b/Eigen/src/Core/SolveTriangular.h index c25317989..960da31f3 100644 --- a/Eigen/src/Core/SolveTriangular.h +++ b/Eigen/src/Core/SolveTriangular.h @@ -53,7 +53,8 @@ struct ei_triangular_solver_selector; template struct ei_triangular_solver_selector { - typedef typename Rhs::Scalar Scalar; + typedef typename Lhs::Scalar LhsScalar; + typedef typename Rhs::Scalar RhsScalar; typedef ei_blas_traits LhsProductTraits; typedef typename LhsProductTraits::ExtractType ActualLhsType; typedef typename Lhs::Index Index; @@ -81,12 +82,12 @@ struct ei_triangular_solver_selector::run( + ei_general_matrix_vector_product::run( actualPanelWidth, r, &(actualLhs.const_cast_derived().coeffRef(startRow,startCol)), actualLhs.outerStride(), &(other.coeffRef(startCol)), other.innerStride(), &other.coeffRef(startRow), other.innerStride(), - Scalar(-1)); + RhsScalar(-1)); } for(Index k=0; k struct ei_triangular_solver_selector { - typedef typename Rhs::Scalar Scalar; - typedef typename ei_packet_traits::type Packet; + typedef typename Lhs::Scalar LhsScalar; + typedef typename Rhs::Scalar RhsScalar; typedef ei_blas_traits LhsProductTraits; typedef typename LhsProductTraits::ExtractType ActualLhsType; typedef typename Lhs::Index Index; enum { - PacketSize = ei_packet_traits::size, IsLower = ((Mode&Lower)==Lower) }; @@ -148,11 +148,11 @@ struct ei_triangular_solver_selector::run( + ei_general_matrix_vector_product::run( r, actualPanelWidth, &(actualLhs.const_cast_derived().coeffRef(endBlock,startBlock)), actualLhs.outerStride(), &other.coeff(startBlock), other.innerStride(), - &(other.coeffRef(endBlock, 0)), other.innerStride(), Scalar(-1)); + &(other.coeffRef(endBlock, 0)), other.innerStride(), RhsScalar(-1)); } } } -- cgit v1.2.3