[PPL-devel] [GIT] ppl/ppl(master): Code duplication and useless bitwise manipulation avoided.

Roberto Bagnara bagnara at cs.unipr.it
Wed Apr 1 22:32:29 CEST 2009


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

Author: Roberto Bagnara <bagnara at cs.unipr.it>
Date:   Wed Apr  1 22:32:00 2009 +0200

Code duplication and useless bitwise manipulation avoided.

---

 src/OR_Matrix.inlines.hh |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/src/OR_Matrix.inlines.hh b/src/OR_Matrix.inlines.hh
index 4315e56..9124dd1 100644
--- a/src/OR_Matrix.inlines.hh
+++ b/src/OR_Matrix.inlines.hh
@@ -43,7 +43,7 @@ OR_Matrix<T>::row_first_element_index(const dimension_type k) {
 template <typename T>
 inline dimension_type
 OR_Matrix<T>::row_size(const dimension_type k) {
-  return (k+2) & ~dimension_type(1);
+  return k + 2 - k%2;
 }
 
 #if PPL_OR_MATRIX_EXTRA_DEBUG
@@ -250,7 +250,7 @@ OR_Matrix<T>::any_row_iterator<U>::operator+=(const difference_type m) {
   i += increment;
   value.first += increment;
 #if PPL_OR_MATRIX_EXTRA_DEBUG
-  value.size_ += (m - m % 2);
+  value.size_ += (m - m%2);
 #endif
   return *this;
 }
@@ -337,7 +337,7 @@ template <typename T>
 template <typename U>
 inline dimension_type
 OR_Matrix<T>::any_row_iterator<U>::row_size() const {
-  return (e+2) & ~dimension_type(1);
+  return OR_Matrix::row_size(e);
 }
 
 template <typename T>
@@ -421,11 +421,10 @@ isqrt(unsigned long x) {
 template <typename T>
 inline dimension_type
 OR_Matrix<T>::max_num_rows() {
-  // Compute the maximum number of rows that
-  // are contained in a DB_Row that allocates
-  // a pseudo-triangular matrix.
+  // Compute the maximum number of rows that are contained in a DB_Row
+  // that allocates a pseudo-triangular matrix.
   dimension_type k = isqrt(2*DB_Row<T>::max_size() + 1);
-  return (k-1) & ~dimension_type(1);
+  return (k - 1) - (k - 1)%2;
 }
 
 template <typename T>




More information about the PPL-devel mailing list