aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/SolveTriangular.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2010-07-10 22:53:27 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2010-07-10 22:53:27 +0200
commite5bc9526f16590288edbc3e5fd8837ea81654942 (patch)
tree705dc4ffb2aa57efb053b3973ff721f5a57dc234 /Eigen/src/Core/SolveTriangular.h
parentc4ef69b5bd46b106d001921867847a741bc6725b (diff)
* generalize rowmajor by vector
* fix weird compilation error when constructing a matrix with a row by matrix product
Diffstat (limited to 'Eigen/src/Core/SolveTriangular.h')
-rw-r--r--Eigen/src/Core/SolveTriangular.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/Eigen/src/Core/SolveTriangular.h b/Eigen/src/Core/SolveTriangular.h
index 310e262d8..90ce2a802 100644
--- a/Eigen/src/Core/SolveTriangular.h
+++ b/Eigen/src/Core/SolveTriangular.h
@@ -80,12 +80,13 @@ struct ei_triangular_solver_selector<Lhs,Rhs,OnTheLeft,Mode,NoUnrolling,RowMajor
// 2 - it is slighlty faster at runtime
Index startRow = IsLower ? pi : pi-actualPanelWidth;
Index startCol = IsLower ? 0 : pi;
- VectorBlock<Rhs,Dynamic> target(other,startRow,actualPanelWidth);
- ei_cache_friendly_product_rowmajor_times_vector<LhsProductTraits::NeedToConjugate,false>(
+ ei_cache_friendly_product_rowmajor_times_vector<LhsProductTraits::NeedToConjugate,false,Scalar,Index>(
+ actualPanelWidth, r,
&(actualLhs.const_cast_derived().coeffRef(startRow,startCol)), actualLhs.outerStride(),
- &(other.coeffRef(startCol)), r,
- target, Scalar(-1));
+ &(other.coeffRef(startCol)), other.innerStride(),
+ &other.coeffRef(startRow), other.innerStride(),
+ Scalar(-1));
}
for(Index k=0; k<actualPanelWidth; ++k)