[PPL-devel] [GIT] ppl/ppl(master): Magic constants avoided.
Roberto Bagnara
bagnara at cs.unipr.it
Sun Oct 9 20:59:25 CEST 2011
Module: ppl/ppl
Branch: master
Commit: 05d2137112f498fdcc29803d4e4608700790e8cc
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=05d2137112f498fdcc29803d4e4608700790e8cc
Author: Roberto Bagnara <bagnara at cs.unipr.it>
Date: Sun Oct 9 20:58:54 2011 +0200
Magic constants avoided.
Detected by ECLAIR service nomagicc.
---
src/Init.cc | 2 +-
src/Init.defs.hh | 8 ++++++++
src/OR_Matrix.inlines.hh | 13 +++++++------
3 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/src/Init.cc b/src/Init.cc
index f7f847c..3cee7c4 100644
--- a/src/Init.cc
+++ b/src/Init.cc
@@ -176,7 +176,7 @@ PPL::Init::Init() {
// The default is choosen to have a precision greater than most
// precise IEC559 floating point (112 bits of mantissa).
- set_irrational_precision(128);
+ set_irrational_precision(DEFAULT_IRRATIONAL_PRECISION);
}
}
diff --git a/src/Init.defs.hh b/src/Init.defs.hh
index 7a9ee4b..57d1cec 100644
--- a/src/Init.defs.hh
+++ b/src/Init.defs.hh
@@ -73,6 +73,14 @@ public:
~Init();
private:
+ /*! \brief
+ Default precision parameter used for irrational calculations.
+
+ The default is choosen to have a precision greater than most
+ precise IEC559 floating point (112 bits of mantissa).
+ */
+ static const unsigned DEFAULT_IRRATIONAL_PRECISION = 128U;
+
//! Count the number of objects created.
static unsigned int count;
static fpu_rounding_direction_type old_rounding_direction;
diff --git a/src/OR_Matrix.inlines.hh b/src/OR_Matrix.inlines.hh
index 401bb0c..fa7f284 100644
--- a/src/OR_Matrix.inlines.hh
+++ b/src/OR_Matrix.inlines.hh
@@ -30,8 +30,8 @@ site: http://www.cs.unipr.it/ppl/ . */
#include "C_Polyhedron.defs.hh"
#include "distances.defs.hh"
#include "assert.hh"
-#include <algorithm>
#include "checked.defs.hh"
+#include <algorithm>
namespace Parma_Polyhedra_Library {
@@ -405,11 +405,12 @@ OR_Matrix<T>::swap(OR_Matrix& y) {
}
//! Returns the integer square root of \p x.
-inline unsigned long
-isqrt(unsigned long x) {
- unsigned long r = 0;
- for (unsigned long t = 0x40000000; t; t >>= 2) {
- unsigned long s = r + t;
+inline dimension_type
+isqrt(dimension_type x) {
+ dimension_type r = 0;
+ const dimension_type FIRST_BIT_MASK = 0x40000000U;
+ for (dimension_type t = FIRST_BIT_MASK; t; t >>= 2) {
+ dimension_type s = r + t;
if (s <= x) {
x -= s;
r = s + t;
More information about the PPL-devel
mailing list