aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/LU/LU.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2008-08-23 17:11:44 +0000
committerGravatar Gael Guennebaud <g.gael@free.fr>2008-08-23 17:11:44 +0000
commitf2f48b6560b1921c6847bd91b68da9825419d0a3 (patch)
treee4081e9c63df924e5216081216c3ddfb14db0ed0 /Eigen/src/LU/LU.h
parent2120fed849e1d00724694a2c8a041ec5561c750b (diff)
* remove LargeBit and related stuff
* replaced the Flags template parameter of Matrix by StorageOrder and move it back to the 4th position such that we don't have to worry about the two Max* template parameters * extended EIGEN_USING_MATRIX_TYPEDEFS with the ei_* math functions
Diffstat (limited to 'Eigen/src/LU/LU.h')
-rw-r--r--Eigen/src/LU/LU.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/Eigen/src/LU/LU.h b/Eigen/src/LU/LU.h
index af385df29..6e844e196 100644
--- a/Eigen/src/LU/LU.h
+++ b/Eigen/src/LU/LU.h
@@ -72,7 +72,8 @@ template<typename MatrixType> class LU
};
typedef Matrix<typename MatrixType::Scalar, MatrixType::ColsAtCompileTime, Dynamic,
- MatrixType::MaxColsAtCompileTime, MaxSmallDimAtCompileTime> KernelReturnType;
+ MatrixType::Flags&RowMajorBit,
+ MatrixType::MaxColsAtCompileTime, MaxSmallDimAtCompileTime> KernelReturnType;
/** Constructor.
*
@@ -151,6 +152,7 @@ template<typename MatrixType> class LU
*/
void computeKernel(Matrix<typename MatrixType::Scalar,
MatrixType::ColsAtCompileTime, Dynamic,
+ MatrixType::Flags&RowMajorBit,
MatrixType::MaxColsAtCompileTime,
LU<MatrixType>::MaxSmallDimAtCompileTime
> *result) const;
@@ -372,6 +374,7 @@ typename ei_traits<MatrixType>::Scalar LU<MatrixType>::determinant() const
template<typename MatrixType>
void LU<MatrixType>::computeKernel(Matrix<typename MatrixType::Scalar,
MatrixType::ColsAtCompileTime, Dynamic,
+ MatrixType::Flags&RowMajorBit,
MatrixType::MaxColsAtCompileTime,
LU<MatrixType>::MaxSmallDimAtCompileTime
> *result) const
@@ -396,7 +399,8 @@ void LU<MatrixType>::computeKernel(Matrix<typename MatrixType::Scalar,
* independent vectors in Ker U.
*/
- Matrix<Scalar, Dynamic, Dynamic, MatrixType::MaxColsAtCompileTime, MaxSmallDimAtCompileTime>
+ Matrix<Scalar, Dynamic, Dynamic, MatrixType::Flags&RowMajorBit,
+ MatrixType::MaxColsAtCompileTime, MaxSmallDimAtCompileTime>
y(-m_lu.corner(TopRight, m_rank, dimker));
m_lu.corner(TopLeft, m_rank, m_rank)
@@ -414,8 +418,9 @@ const typename LU<MatrixType>::KernelReturnType
LU<MatrixType>::kernel() const
{
Matrix<typename MatrixType::Scalar, MatrixType::ColsAtCompileTime, Dynamic,
- MatrixType::MaxColsAtCompileTime,
- LU<MatrixType>::MaxSmallDimAtCompileTime> result(m_lu.cols(), dimensionOfKernel());
+ MatrixType::Flags&RowMajorBit,
+ MatrixType::MaxColsAtCompileTime,
+ LU<MatrixType>::MaxSmallDimAtCompileTime> result(m_lu.cols(), dimensionOfKernel());
computeKernel(&result);
return result;
}
@@ -446,6 +451,7 @@ bool LU<MatrixType>::solve(
// Step 2
Matrix<Scalar, MatrixType::RowsAtCompileTime, MatrixType::RowsAtCompileTime,
+ MatrixType::Flags&RowMajorBit,
MatrixType::MaxRowsAtCompileTime,
MatrixType::MaxRowsAtCompileTime> l(rows, rows);
l.setZero();
@@ -464,6 +470,7 @@ bool LU<MatrixType>::solve(
return false;
}
Matrix<Scalar, Dynamic, OtherDerived::ColsAtCompileTime,
+ MatrixType::Flags&RowMajorBit,
MatrixType::MaxRowsAtCompileTime, OtherDerived::MaxColsAtCompileTime>
d(c.corner(TopLeft, m_rank, c.cols()));
m_lu.corner(TopLeft, m_rank, m_rank)