diff options
author | Gael Guennebaud <g.gael@free.fr> | 2009-10-07 14:25:12 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2009-10-07 14:25:12 +0200 |
commit | af31345df3707b3b3f33ae0ee2db575683c9d514 (patch) | |
tree | caf0acf88ae871efeb293c6dab156fed731bff42 | |
parent | 075830ddb0184ff369e95ba0f0f865bb0aaad1c4 (diff) |
really fix stable norm compilation for older gcc
-rw-r--r-- | Eigen/src/Core/StableNorm.h | 8 | ||||
-rw-r--r-- | test/stable_norm.cpp | 3 |
2 files changed, 5 insertions, 6 deletions
diff --git a/Eigen/src/Core/StableNorm.h b/Eigen/src/Core/StableNorm.h index b4a5d0bfd..06e69c448 100644 --- a/Eigen/src/Core/StableNorm.h +++ b/Eigen/src/Core/StableNorm.h @@ -109,14 +109,14 @@ MatrixBase<Derived>::blueNorm() const rbig = std::numeric_limits<RealScalar>::max(); // largest floating-point number iexp = -((1-iemin)/2); - b1 = RealScalar(std::pow<RealScalar>(ibeta,iexp)); // lower boundary of midrange + b1 = RealScalar(std::pow(RealScalar(ibeta),RealScalar(iexp))); // lower boundary of midrange iexp = (iemax + 1 - it)/2; - b2 = RealScalar(std::pow<RealScalar>(ibeta,iexp)); // upper boundary of midrange + b2 = RealScalar(std::pow(RealScalar(ibeta),RealScalar(iexp))); // upper boundary of midrange iexp = (2-iemin)/2; - s1m = RealScalar(std::pow<RealScalar>(ibeta,iexp)); // scaling factor for lower range + s1m = RealScalar(std::pow(RealScalar(ibeta),RealScalar(iexp))); // scaling factor for lower range iexp = - ((iemax+it)/2); - s2m = RealScalar(std::pow<RealScalar>(ibeta,iexp)); // scaling factor for upper range + s2m = RealScalar(std::pow(RealScalar(ibeta),RealScalar(iexp))); // scaling factor for upper range overfl = rbig*s2m; // overfow boundary for abig eps = RealScalar(std::pow(double(ibeta), 1-it)); diff --git a/test/stable_norm.cpp b/test/stable_norm.cpp index 6ce99477d..ed72bb7a7 100644 --- a/test/stable_norm.cpp +++ b/test/stable_norm.cpp @@ -35,8 +35,7 @@ template<typename MatrixType> void stable_norm(const MatrixType& m) // Check the basic machine-dependent constants. { - int nbig, ibeta, it, iemin, iemax, iexp; - RealScalar abig, eps; + int ibeta, it, iemin, iemax; ibeta = std::numeric_limits<RealScalar>::radix; // base for floating-point numbers it = std::numeric_limits<RealScalar>::digits; // number of base-beta digits in mantissa |