[PPL-devel] [GIT] ppl/ppl(master): Do not reuse names reserved by the C++ implementation.

Roberto Bagnara bagnara at cs.unipr.it
Fri Oct 28 16:58:42 CEST 2011


Module: ppl/ppl
Branch: master
Commit: 5fd73820eeed37dc88ba30093a6fdc8b8b566acd
URL:    http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=5fd73820eeed37dc88ba30093a6fdc8b8b566acd

Author: Roberto Bagnara <bagnara at cs.unipr.it>
Date:   Fri Oct 28 16:54:23 2011 +0200

Do not reuse names reserved by the C++ implementation.
Detected by ECLAIR service resvidnt.

---

 src/checked_float.inlines.hh |   44 ++++++++++++++++++++---------------------
 src/checked_int.inlines.hh   |    6 ++--
 2 files changed, 24 insertions(+), 26 deletions(-)

diff --git a/src/checked_float.inlines.hh b/src/checked_float.inlines.hh
index a11df84..b8685b2 100644
--- a/src/checked_float.inlines.hh
+++ b/src/checked_float.inlines.hh
@@ -800,31 +800,30 @@ set_pos_overflow_float(T& to, Rounding_Dir dir) {
 
 template <typename To_Policy, typename From_Policy, typename T>
 inline Result
-assign_float_mpz(T& to, const mpz_class& _from, Rounding_Dir dir)
-{
-  mpz_srcptr from = _from.get_mpz_t();
-  int sign = mpz_sgn(from);
+assign_float_mpz(T& to, const mpz_class& from, Rounding_Dir dir) {
+  mpz_srcptr from_z = from.get_mpz_t();
+  int sign = mpz_sgn(from_z);
   if (sign == 0) {
     to = 0;
     return V_EQ;
   }
-  size_t exponent = mpz_sizeinbase(from, 2) - 1;
+  size_t exponent = mpz_sizeinbase(from_z, 2) - 1;
   if (exponent > size_t(Float<T>::Binary::EXPONENT_MAX)) {
     if (sign < 0)
       return set_neg_overflow_float<To_Policy>(to, dir);
     else
       return set_pos_overflow_float<To_Policy>(to, dir);
   }
-  unsigned long zeroes = mpn_scan1(from->_mp_d, 0);
+  unsigned long zeroes = mpn_scan1(from_z->_mp_d, 0);
   size_t meaningful_bits = exponent - zeroes;
   mpz_t mantissa;
   mpz_init(mantissa);
   if (exponent > Float<T>::Binary::MANTISSA_BITS)
     mpz_tdiv_q_2exp(mantissa,
-		    from,
+		    from_z,
 		    exponent - Float<T>::Binary::MANTISSA_BITS);
   else
-    mpz_mul_2exp(mantissa, from, Float<T>::Binary::MANTISSA_BITS - exponent);
+    mpz_mul_2exp(mantissa, from_z, Float<T>::Binary::MANTISSA_BITS - exponent);
   Float<T> f;
   f.u.binary.build(sign < 0, mantissa, exponent);
   mpz_clear(mantissa);
@@ -840,16 +839,15 @@ assign_float_mpz(T& to, const mpz_class& _from, Rounding_Dir dir)
 
 template <typename To_Policy, typename From_Policy, typename T>
 inline Result
-assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir)
-{
-  const mpz_class& _num = from.get_num();
-  const mpz_class& _den = from.get_den();
-  if (_den == 1)
-    return assign_float_mpz<To_Policy, From_Policy>(to, _num, dir);
-  mpz_srcptr num = _num.get_mpz_t();
-  mpz_srcptr den = _den.get_mpz_t();
-  int sign = mpz_sgn(num);
-  signed long exponent = mpz_sizeinbase(num, 2) - mpz_sizeinbase(den, 2);
+assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir) {
+  const mpz_class& num = from.get_num();
+  const mpz_class& den = from.get_den();
+  if (den == 1)
+    return assign_float_mpz<To_Policy, From_Policy>(to, num, dir);
+  mpz_srcptr num_z = num.get_mpz_t();
+  mpz_srcptr den_z = den.get_mpz_t();
+  int sign = mpz_sgn(num_z);
+  signed long exponent = mpz_sizeinbase(num_z, 2) - mpz_sizeinbase(den_z, 2);
   if (exponent < Float<T>::Binary::EXPONENT_MIN_DENORM) {
     to = 0;
   inexact:
@@ -872,16 +870,16 @@ assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir)
   mpz_init(mantissa);
   signed long shift = needed_bits - exponent;
   if (shift > 0) {
-    mpz_mul_2exp(mantissa, num, shift);
-    num = mantissa;
+    mpz_mul_2exp(mantissa, num_z, shift);
+    num_z = mantissa;
   }
   else if (shift < 0) {
-    mpz_mul_2exp(mantissa, den, -shift);
-    den = mantissa;
+    mpz_mul_2exp(mantissa, den_z, -shift);
+    den_z = mantissa;
   }
   mpz_t r;
   mpz_init(r);
-  mpz_tdiv_qr(mantissa, r, num, den);
+  mpz_tdiv_qr(mantissa, r, num_z, den_z);
   size_t bits = mpz_sizeinbase(mantissa, 2);
   bool inexact = (mpz_sgn(r) != 0);
   mpz_clear(r);
diff --git a/src/checked_int.inlines.hh b/src/checked_int.inlines.hh
index c194de7..10ab8da 100644
--- a/src/checked_int.inlines.hh
+++ b/src/checked_int.inlines.hh
@@ -702,9 +702,9 @@ assign_int_mpq(To& to, const mpq_class& from, Rounding_Dir dir) {
   mpz_srcptr n = from.get_num().get_mpz_t();
   mpz_srcptr d = from.get_den().get_mpz_t();
   PPL_DIRTY_TEMP(mpz_class, q);
-  mpz_ptr _q = q.get_mpz_t();
+  mpz_ptr q_z = q.get_mpz_t();
   if (round_not_requested(dir)) {
-    mpz_tdiv_q(_q, n, d);
+    mpz_tdiv_q(q_z, n, d);
     Result r = assign<To_Policy, void>(to, q, dir);
     if (r != V_EQ)
       return r;
@@ -713,7 +713,7 @@ assign_int_mpq(To& to, const mpq_class& from, Rounding_Dir dir) {
   mpz_t rem;
   int sign;
   mpz_init(rem);
-  mpz_tdiv_qr(_q, rem, n, d);
+  mpz_tdiv_qr(q_z, rem, n, d);
   sign = mpz_sgn(rem);
   mpz_clear(rem);
   Result r = assign<To_Policy, void>(to, q, dir);




More information about the PPL-devel mailing list