[PPL-devel] [GIT] ppl/ppl(bounded_arithmetic): Added into the function of the bitwise operators shift,

Alberto Gioia alberto.gioia1 at studenti.unipr.it
Wed Sep 14 13:01:16 CEST 2011


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

Author: Alberto Gioia <alberto.gioia1 at studenti.unipr.it>
Date:   Wed Sep 14 12:53:57 2011 +0200

Added into the function of the bitwise operators shift,
another check on the second operand.

---

 src/Linear_Form.templates.hh |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/Linear_Form.templates.hh b/src/Linear_Form.templates.hh
index 928ec11..15fd3b3 100644
--- a/src/Linear_Form.templates.hh
+++ b/src/Linear_Form.templates.hh
@@ -431,6 +431,7 @@ template <typename C>
 Linear_Form<C>&
 operator<<(Linear_Form<C>& f, const C& n) {
   C zero(0);
+  C one(1);
 
   dimension_type f_size = f.size();
 
@@ -438,6 +439,8 @@ operator<<(Linear_Form<C>& f, const C& n) {
     f = Linear_Form<C>(zero);
     return f;
   }
+  else if (n == one)
+    return f;
   else if (f >= zero || f < zero) {
     for (dimension_type i = f_size; i-- > 0; )
       f[i] << n;
@@ -453,6 +456,7 @@ template <typename C>
 Linear_Form<C>&
 operator>>(Linear_Form<C>& f, const C& n) {
   C zero(0);
+  C one(1);
 
   dimension_type f_size = f.size();
 
@@ -460,6 +464,8 @@ operator>>(Linear_Form<C>& f, const C& n) {
     f = Linear_Form<C>(zero);
     return f;
   }
+  if (n == one)
+    return f;
   else if (f >= zero || f < zero) {
     for (dimension_type i = f_size; i-- > 0; )
       f[i] >> n;




More information about the PPL-devel mailing list