diff options
author | Gael Guennebaud <g.gael@free.fr> | 2017-11-08 23:28:01 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2017-11-08 23:28:01 +0100 |
commit | 4c03b3511e055817a4c1aa2858bd5735cb5bb4e7 (patch) | |
tree | 29a185d594b41776e4ea6986b605c96f7f7fe366 /Eigen/src | |
parent | e9d2888e74f9afaab16e2b5ec5264d44613ff366 (diff) |
Fix issue with boost::multiprec in previous commit
Diffstat (limited to 'Eigen/src')
-rw-r--r-- | Eigen/src/SVD/BDCSVD.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Eigen/src/SVD/BDCSVD.h b/Eigen/src/SVD/BDCSVD.h index b440901d6..0abd4c1bb 100644 --- a/Eigen/src/SVD/BDCSVD.h +++ b/Eigen/src/SVD/BDCSVD.h @@ -845,10 +845,10 @@ void BDCSVD<MatrixType>::computeSingVals(const ArrayRef& col0, const ArrayRef& d { // to avoid overflow, we must have mu > max(real_min, |z(k)|/sqrt(real_max)), // the factor 2 is to be more conservative - leftShifted = numext::maxi( (std::numeric_limits<RealScalar>::min)(), Literal(2) * abs(col0(k)) / sqrt((std::numeric_limits<RealScalar>::max)()) ); + leftShifted = numext::maxi<RealScalar>( (std::numeric_limits<RealScalar>::min)(), Literal(2) * abs(col0(k)) / sqrt((std::numeric_limits<RealScalar>::max)()) ); // check that we did it right: - eigen_internal_assert( (std::isfinite)( (col0(k)/leftShifted)*(col0(k)/(diag(k)+shift+leftShifted)) ) ); + eigen_internal_assert( (numext::isfinite)( (col0(k)/leftShifted)*(col0(k)/(diag(k)+shift+leftShifted)) ) ); // I don't understand why the case k==0 would be special there: // if (k == 0) rightShifted = right - left; else rightShifted = (k==actual_n-1) ? right : ((right - left) * RealScalar(0.51)); // theoretically we can take 0.5, but let's be safe @@ -857,7 +857,7 @@ void BDCSVD<MatrixType>::computeSingVals(const ArrayRef& col0, const ArrayRef& d { leftShifted = -(right - left) * RealScalar(0.51); if(k+1<n) - rightShifted = -numext::maxi( (std::numeric_limits<RealScalar>::min)(), abs(col0(k+1)) / sqrt((std::numeric_limits<RealScalar>::max)()) ); + rightShifted = -numext::maxi<RealScalar>( (std::numeric_limits<RealScalar>::min)(), abs(col0(k+1)) / sqrt((std::numeric_limits<RealScalar>::max)()) ); else rightShifted = -(std::numeric_limits<RealScalar>::min)(); } |