diff options
author | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2010-01-26 16:02:19 +0000 |
---|---|---|
committer | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2010-01-26 16:02:19 +0000 |
commit | bdb0e9fcd03a21c2451a893424bb71955917ed07 (patch) | |
tree | b471b98ddaf1066b39b8bd1216c52ca6248f732d /Eigen/src/Core/IO.h | |
parent | 1403cea087df98dae21408518c33a22f8d2d99d1 (diff) |
Clean up one compilation error and two warnings.
Diffstat (limited to 'Eigen/src/Core/IO.h')
-rw-r--r-- | Eigen/src/Core/IO.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/Eigen/src/Core/IO.h b/Eigen/src/Core/IO.h index d132064a6..8f91e272e 100644 --- a/Eigen/src/Core/IO.h +++ b/Eigen/src/Core/IO.h @@ -143,9 +143,16 @@ std::ostream & ei_print_matrix(std::ostream & s, const Derived& _m, const IOForm } else if(fmt.precision == FullPrecision) { - explicit_precision = NumTraits<Scalar>::HasFloatingPoint - ? std::ceil(-ei_log(epsilon<Scalar>())/ei_log(10.0)) - : 0; + if (NumTraits<Scalar>::HasFloatingPoint) + { + typedef typename NumTraits<Scalar>::Real RealScalar; + RealScalar explicit_precision_fp = std::ceil(-ei_log(epsilon<Scalar>())/ei_log(10.0)); + explicit_precision = static_cast<std::streamsize>(explicit_precision_fp); + } + else + { + explicit_precision = 0; + } } else { |