[PPL-devel] [GIT] ppl/ppl(master): For code clarity purposes, better distinguish signed /unsigned operations.
Enea Zaffanella
zaffanella at cs.unipr.it
Sat Feb 25 16:14:06 CET 2012
Module: ppl/ppl
Branch: master
Commit: 5ac71293891dbc160c066a80738a4bd27b93a450
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=5ac71293891dbc160c066a80738a4bd27b93a450
Author: Enea Zaffanella <zaffanella at cs.unipr.it>
Date: Sat Feb 25 16:12:58 2012 +0100
For code clarity purposes, better distinguish signed/unsigned operations.
Detected by ECLAIR service utypflag.
---
src/Bit_Row.cc | 6 ++++--
src/CO_Tree.cc | 9 +++++----
src/checked_float.inlines.hh | 19 +++++++++++--------
3 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/src/Bit_Row.cc b/src/Bit_Row.cc
index c303fae..d250197 100644
--- a/src/Bit_Row.cc
+++ b/src/Bit_Row.cc
@@ -55,7 +55,8 @@ PPL::Bit_Row::next(unsigned long position) const {
// return (r == C_Integer<unsigned long>::max) ? -1 : r;
// </CODE>
- mp_size_t li = static_cast<mp_size_t>(position / PPL_BITS_PER_GMP_LIMB);
+ const unsigned long uli = position / PPL_BITS_PER_GMP_LIMB;
+ mp_size_t li = static_cast<mp_size_t>(uli);
const mp_size_t vec_size = vec->_mp_size;
PPL_ASSERT(vec_size >= 0);
if (li >= vec_size)
@@ -104,7 +105,8 @@ PPL::Bit_Row::prev(unsigned long position) const {
const mp_size_t vec_size = vec->_mp_size;
PPL_ASSERT(vec_size > 0);
- mp_size_t li = static_cast<mp_size_t>(position / PPL_BITS_PER_GMP_LIMB);
+ const unsigned long uli = position / PPL_BITS_PER_GMP_LIMB;
+ mp_size_t li = static_cast<mp_size_t>(uli);
mp_limb_t limb;
mp_srcptr p = vec->_mp_d;
diff --git a/src/CO_Tree.cc b/src/CO_Tree.cc
index 4a70f04..0b388a1 100644
--- a/src/CO_Tree.cc
+++ b/src/CO_Tree.cc
@@ -893,8 +893,9 @@ PPL::CO_Tree
--subtree_size;
}
- PPL_ASSERT(first_unused_index >= indexes);
- return static_cast<dimension_type>(first_unused_index - indexes);
+ ptrdiff_t distance = first_unused_index - indexes;
+ PPL_ASSERT(distance >= 0);
+ return static_cast<dimension_type>(distance);
}
void
@@ -907,8 +908,8 @@ PPL::CO_Tree::redistribute_elements_in_subtree(
bool add_element) {
// This is static and with static allocation, to improve performance.
- // sizeof_to_bits(sizeof(dimension_type)) is the maximum k such that 2^k-1 is a
- // dimension_type, so it is the maximum tree height.
+ // sizeof_to_bits(sizeof(dimension_type)) is the maximum k such that
+ // 2^k-1 is a dimension_type, so it is the maximum tree height.
// For each node level, the stack may contain up to two element (one for the
// subtree rooted at the right son of a node of that level, and one for the
// node itself). An additional element can be at the top of the tree.
diff --git a/src/checked_float.inlines.hh b/src/checked_float.inlines.hh
index 79166c0..08b7251 100644
--- a/src/checked_float.inlines.hh
+++ b/src/checked_float.inlines.hh
@@ -885,14 +885,17 @@ assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir) {
- exponent);
mpz_t mantissa;
mpz_init(mantissa);
- long shift = static_cast<long>(needed_bits) - exponent;
- if (shift > 0) {
- mpz_mul_2exp(mantissa, numer_z, static_cast<unsigned long>(shift));
- numer_z = mantissa;
- }
- else if (shift < 0) {
- mpz_mul_2exp(mantissa, denom_z, static_cast<unsigned long>(-shift));
- denom_z = mantissa;
+ {
+ long shift = static_cast<long>(needed_bits) - exponent;
+ if (shift > 0) {
+ mpz_mul_2exp(mantissa, numer_z, static_cast<unsigned long>(shift));
+ numer_z = mantissa;
+ }
+ else if (shift < 0) {
+ shift = -shift;
+ mpz_mul_2exp(mantissa, denom_z, static_cast<unsigned long>(shift));
+ denom_z = mantissa;
+ }
}
mpz_t r;
mpz_init(r);
More information about the PPL-devel
mailing list