diff --git a/src/math/real.cpp b/src/math/real.cpp index dca246b1..b4a43e92 100644 --- a/src/math/real.cpp +++ b/src/math/real.cpp @@ -763,10 +763,10 @@ template<> real pow(real const &x, real const &y) } } -static real fast_fact(int x) +static real fast_fact(unsigned int x) { real ret = real::R_1(); - int i = 1, multiplier = 1, exponent = 0; + unsigned int i = 1, multiplier = 1, exponent = 0; for (;;) { @@ -774,7 +774,7 @@ static real fast_fact(int x) /* Multiplication is a no-op if multiplier == 1 */ return ldexp(ret * multiplier, exponent); - int tmp = i; + unsigned int tmp = i; while ((tmp & 1) == 0) { tmp >>= 1;