really fix stable norm compilation for older gcc

This commit is contained in:
Gael Guennebaud 2009-10-07 14:25:12 +02:00
parent 075830ddb0
commit af31345df3
2 changed files with 5 additions and 6 deletions

View File

@ -109,14 +109,14 @@ MatrixBase<Derived>::blueNorm() const
rbig = std::numeric_limits<RealScalar>::max(); // largest floating-point number rbig = std::numeric_limits<RealScalar>::max(); // largest floating-point number
iexp = -((1-iemin)/2); 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; 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; 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); 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 overfl = rbig*s2m; // overfow boundary for abig
eps = RealScalar(std::pow(double(ibeta), 1-it)); eps = RealScalar(std::pow(double(ibeta), 1-it));

View File

@ -35,8 +35,7 @@ template<typename MatrixType> void stable_norm(const MatrixType& m)
// Check the basic machine-dependent constants. // Check the basic machine-dependent constants.
{ {
int nbig, ibeta, it, iemin, iemax, iexp; int ibeta, it, iemin, iemax;
RealScalar abig, eps;
ibeta = std::numeric_limits<RealScalar>::radix; // base for floating-point numbers ibeta = std::numeric_limits<RealScalar>::radix; // base for floating-point numbers
it = std::numeric_limits<RealScalar>::digits; // number of base-beta digits in mantissa it = std::numeric_limits<RealScalar>::digits; // number of base-beta digits in mantissa