Store permutation's determinant as char.

This also fixes some long to float conversion warnings
This commit is contained in:
Gael Guennebaud 2016-05-26 17:34:23 +02:00
parent 2f56d91063
commit 00c29c2cae
2 changed files with 6 additions and 5 deletions

View File

@ -418,9 +418,10 @@ template<typename _MatrixType> class FullPivLU
PermutationQType m_q; PermutationQType m_q;
IntColVectorType m_rowsTranspositions; IntColVectorType m_rowsTranspositions;
IntRowVectorType m_colsTranspositions; IntRowVectorType m_colsTranspositions;
Index m_det_pq, m_nonzero_pivots; Index m_nonzero_pivots;
RealScalar m_l1_norm; RealScalar m_l1_norm;
RealScalar m_maxpivot, m_prescribedThreshold; RealScalar m_maxpivot, m_prescribedThreshold;
char m_det_pq;
bool m_isInitialized, m_usePrescribedThreshold; bool m_isInitialized, m_usePrescribedThreshold;
}; };

View File

@ -254,8 +254,8 @@ template<typename _MatrixType> class PartialPivLU
MatrixType m_lu; MatrixType m_lu;
PermutationType m_p; PermutationType m_p;
TranspositionType m_rowsTranspositions; TranspositionType m_rowsTranspositions;
Index m_det_p;
RealScalar m_l1_norm; RealScalar m_l1_norm;
char m_det_p;
bool m_isInitialized; bool m_isInitialized;
}; };
@ -264,8 +264,8 @@ PartialPivLU<MatrixType>::PartialPivLU()
: m_lu(), : m_lu(),
m_p(), m_p(),
m_rowsTranspositions(), m_rowsTranspositions(),
m_det_p(0),
m_l1_norm(0), m_l1_norm(0),
m_det_p(0),
m_isInitialized(false) m_isInitialized(false)
{ {
} }
@ -275,8 +275,8 @@ PartialPivLU<MatrixType>::PartialPivLU(Index size)
: m_lu(size, size), : m_lu(size, size),
m_p(size), m_p(size),
m_rowsTranspositions(size), m_rowsTranspositions(size),
m_det_p(0),
m_l1_norm(0), m_l1_norm(0),
m_det_p(0),
m_isInitialized(false) m_isInitialized(false)
{ {
} }
@ -287,8 +287,8 @@ PartialPivLU<MatrixType>::PartialPivLU(const EigenBase<InputType>& matrix)
: m_lu(matrix.rows(), matrix.rows()), : m_lu(matrix.rows(), matrix.rows()),
m_p(matrix.rows()), m_p(matrix.rows()),
m_rowsTranspositions(matrix.rows()), m_rowsTranspositions(matrix.rows()),
m_det_p(0),
m_l1_norm(0), m_l1_norm(0),
m_det_p(0),
m_isInitialized(false) m_isInitialized(false)
{ {
compute(matrix.derived()); compute(matrix.derived());