[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