diff options
author | 2009-10-15 16:09:17 -0400 | |
---|---|---|
committer | 2009-10-15 16:09:17 -0400 | |
commit | 41e942d3fb3a3bf26a7fad169adaf3968daa7d46 (patch) | |
tree | 91b89e81e95725a499f04f37b032cf7365ab69ef /Eigen | |
parent | 924b55e9a92cc30f6caf9e53ea6c5ec96f275dc3 (diff) |
don't try to finish early
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/LU/LU.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Eigen/src/LU/LU.h b/Eigen/src/LU/LU.h index fb81713a3..6eeb4fae8 100644 --- a/Eigen/src/LU/LU.h +++ b/Eigen/src/LU/LU.h @@ -361,8 +361,8 @@ LU<MatrixType>& LU<MatrixType>::compute(const MatrixType& matrix) col_of_biggest_in_corner += k; if(k==0) biggest = biggest_in_corner; - // if the corner is negligible, then we have less than full rank, and we can finish early - if(ei_isMuchSmallerThan(biggest_in_corner, biggest, m_precision)) + // if the corner is exactly zero, terminate to avoid generating NaN values + if(biggest_in_corner == RealScalar(0)) { m_rank = k; for(int i = k; i < size; i++) |