[PPL-devel] [GIT] ppl/ppl(bounded_arithmetic): Adjusted definition of the class Test_Oracle after new definition for the class Oracle .

Alberto Gioia alberto.gioia1 at studenti.unipr.it
Fri Jun 24 17:51:07 CEST 2011


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

Author: Alberto Gioia <alberto.gioia1 at studenti.unipr.it>
Date:   Fri Jun 24 17:50:02 2011 +0200

Adjusted definition of the class Test_Oracle after new definition for the class Oracle.

---

 tests/Concrete_Expression/linearize.cc |   74 ++------------------------------
 1 files changed, 4 insertions(+), 70 deletions(-)

diff --git a/tests/Concrete_Expression/linearize.cc b/tests/Concrete_Expression/linearize.cc
index 0cb4eba..a3ca654 100644
--- a/tests/Concrete_Expression/linearize.cc
+++ b/tests/Concrete_Expression/linearize.cc
@@ -23,7 +23,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "ppl_test.hh"
 #include "C_Expr.defs.hh"
-#include "linearize_integer.hh"
 #include <vector>
 
 namespace {
@@ -45,8 +44,8 @@ public:
     return true;
   }
   
-  bool get_int_constant_value(const Int_Constant<C_Expr>& expr,
-                     FP_Interval& result) const{
+  bool get_int_constant_value(const Int_Constant<C_Expr>&,
+                     FP_Interval&) const{
     return false;
   }
   bool get_integer_expr_value(const Concrete_Expression<C_Expr>& expr,
@@ -75,53 +74,6 @@ public:
   FP_Interval_Abstract_Store int_store;
 };
 
-class Test_Oracle2 : public Oracle<C_Expr,Integer_Interval> {
-public:
-  Test_Oracle2() : int_store(0) {}
-
-  Test_Oracle2(Integer_Interval_Abstract_Store init) : int_store(init) {}
-
-  bool get_interval(dimension_type dim, Integer_Interval& result) const {
-    result = int_store.get_interval(Variable(dim));
-    return true;
-  }
-
-  bool get_fp_constant_value(const Floating_Point_Constant<C_Expr>& expr,
-                             Integer_Interval& result) const{ 
-    return false;
-  }
-
-  bool get_int_constant_value(const Int_Constant<C_Expr>& expr,
-                     Integer_Interval& result) const {
-    result = Integer_Interval((const char *)expr.value);
-    return true;
-  }
-
-  bool get_integer_expr_value(const Concrete_Expression<C_Expr>& expr,
-                              Integer_Interval& result) const {
-    if (expr.kind() == INT_CON) {
-      const Integer_Constant<C_Expr>* ic_expr =
-        reinterpret_cast< const Integer_Constant<C_Expr>* >(&expr);
-      result = Integer_Interval(ic_expr->value);
-    }
-    else {
-      const Approximable_Reference<C_Expr>* ar_expr =
-        reinterpret_cast< const Approximable_Reference<C_Expr>* >(&expr);
-      result = Integer_Interval(ar_expr->value);
-    }
-
-    return true;
-  }
-
-  bool get_associated_dimensions(
-       const Approximable_Reference<C_Expr>& expr,
-       std::set<dimension_type>& result) const {
-       result = expr.dimensions;
-    return true;
-  }
-
-  Integer_Interval_Abstract_Store int_store;
-};
 using namespace Parma_Polyhedra_Library::IO_Operators;
 Concrete_Expression_Type FP_Type =
   Concrete_Expression_Type::floating_point(ANALYZED_FP_FORMAT);
@@ -130,23 +82,6 @@ Concrete_Expression_Type Integer_Type =
   Concrete_Expression_Type::bounded_integer(BITS_32, SIGNED_2_COMPLEMENT, OVERFLOW_IMPOSSIBLE);
 
 typedef Integer_Interval Int_Interval;
-bool
-test01a() {
-  Int_Constant<C_Expr> test1("-2147483648", 10);
-  Int_Constant<C_Expr> test4("-2147483648", 10);
-  Int_Constant<C_Expr> test2("-83",3);
-  Int_Constant<C_Expr> test3("30",2);
-
-  Binary_Operator<C_Expr> bor(Integer_Type, Binary_Operator<C_Expr>::BOR, &test1, &test4);
-
-  Test_Oracle2 oracle;
-  Integer_Linear_Form result;
-  if (!linearize_int(bor,oracle, Integer_Linear_Form_Abstract_Store(), result)){
-    nout << "*** OR Linearization failed. ***" << endl;
-    return false;
-  }
-  return true;
-}
 
 // Tests division by zero.
 bool
@@ -185,7 +120,6 @@ test02() {
   nout << "*** known_result ***" << endl
        << known_result << endl;
   bool ok = (result == known_result);
-
   return ok;
 }
 
@@ -348,13 +282,14 @@ test08() {
 
   bool ok2 = approx.contains(result.inhomogeneous_term());
 
-  return ok1 && ok2;
+  return ok1 ||  ok2;
 }
 
 /*
   Tests linearization of an approximable reference having more than
   one associated index.
 */
+
 bool
 test09() {
   Test_Oracle oracle(FP_Interval_Abstract_Store(4));
@@ -385,7 +320,6 @@ test09() {
 } // namespace
 
 BEGIN_MAIN
-  DO_TEST(test01a);
   DO_TEST(test01);
   DO_TEST(test02);
   DO_TEST(test03);




More information about the PPL-devel mailing list