[PPL-devel] [GIT] ppl/ppl(bounded_arithmetic): Removed stuff that will not be included in PPL 0.11.
Roberto Bagnara
bagnara at cs.unipr.it
Sat Feb 27 17:47:37 CET 2010
Module: ppl/ppl
Branch: bounded_arithmetic
Commit: 368e94bd2e3711f6e3c110947c7bd8db51812b5b
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=368e94bd2e3711f6e3c110947c7bd8db51812b5b
Author: Roberto Bagnara <bagnara at cs.unipr.it>
Date: Sat Feb 27 17:42:23 2010 +0100
Removed stuff that will not be included in PPL 0.11.
---
src/Bool4.defs.hh | 199 --------------------------------------------------
src/Box.defs.hh | 7 --
src/Box.templates.hh | 12 ---
src/Makefile.am | 1 -
4 files changed, 0 insertions(+), 219 deletions(-)
diff --git a/src/Bool4.defs.hh b/src/Bool4.defs.hh
deleted file mode 100644
index c0fe2fe..0000000
--- a/src/Bool4.defs.hh
+++ /dev/null
@@ -1,199 +0,0 @@
-/* Boolean values set class.
- Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PPL_Bool4_defs_hh
-#define PPL_Bool4_defs_hh 1
-
-#include "globals.types.hh"
-
-namespace Parma_Polyhedra_Library {
-
-class Bool4 {
-private:
- enum {
- B_FALSE = 0,
- B_TRUE,
- B_UNIVERSE,
- B_EMPTY,
- };
- unsigned char value;
- static bool b_from_b4_b4(unsigned int results, unsigned char x, unsigned char y) {
- return (results >> (x << 2 | y)) & 1;
- }
- static unsigned char b4_from_b4(unsigned int results, unsigned char x) {
- return (results >> (x << 1)) & 3;
- }
- static unsigned char b4_from_b4_b4(unsigned int results, unsigned char x, unsigned char y) {
- return (results >> (x << 3 | y << 1)) & 3;
- }
-public:
- Bool4() {
- }
- explicit Bool4(bool v) {
- assign(v);
- }
- explicit Bool4(Degenerate_Element e) {
- assign(e);
- }
- bool is_empty() const {
- return value == B_EMPTY;
- }
- bool is_universe() const {
- return value == B_UNIVERSE;
- }
- bool is_true() const {
- return value == B_TRUE;
- }
- bool is_false() const {
- return value == B_FALSE;
- }
- bool contains(bool v) const {
- return value == B_UNIVERSE || value == (v ? B_TRUE : B_FALSE);
- }
- bool contains(const Bool4& x) const {
- // EEEE UUUU TTTT FFFF
- // EUTF EUTF EUTF EUTF
- // 1000 1111 1010 1001
- return b_from_b4_b4(0x8fa9U, value, x.value);
- }
- bool strictly_contains(const Bool4& x) const {
- // EEEE UUUU TTTT FFFF
- // EUTF EUTF EUTF EUTF
- // 0000 1011 1000 1000
- return b_from_b4_b4(0x0b88U, value, x.value);
- }
- bool is_disjoint_from(const Bool4& x) const {
- // EEEE UUUU TTTT FFFF
- // EUTF EUTF EUTF EUTF
- // 1111 1000 1001 1010
- return b_from_b4_b4(0xf89aU, value, x.value);
- }
- bool equal(const Bool4& x) const {
- return value == x.value;
- }
- void assign(Degenerate_Element e) {
- switch (e) {
- default:
- PPL_ASSERT(0);
- /* Fall through */
- case EMPTY:
- value = B_EMPTY;
- break;
- case UNIVERSE:
- value = B_UNIVERSE;
- break;
- }
- }
- void assign(bool v) {
- value = v ? B_TRUE : B_FALSE;
- }
- void assign(const Bool4& x) {
- value = x.value;
- }
- void complement_assign(const Bool4& x) {
- value = x.value ^ B_TRUE;
- }
- void join_assign(const Bool4& x, const Bool4& y) {
- // E E E E U U U U T T T T F F F F
- // E U T F E U T F E U T F E U T F
- // E U T F U U U U T U T U F U U F
- // 1110 0100 1010 1010 0110 0110 0010 1000
- value = b4_from_b4_b4(0xe4aa6628U, x.value, y.value);
- }
- void intersect_assign(const Bool4& x, const Bool4& y) {
- // E E E E U U U U T T T T F F F F
- // E U T F E U T F E U T F E U T F
- // E E E E E U T F E T T E E F E F
- // 1111 1111 1110 0100 1101 0111 1100 1100
- value = b4_from_b4_b4(0xffe4d7ccU, x.value, y.value);
- }
- void difference_assign(const Bool4& x, const Bool4& y) {
- // E E E E U U U U T T T T F F F F
- // E U T F E U T F E U T F E U T F
- // E E E E U E F T T E E T F E F E
- // 1111 1111 1011 0001 0111 1101 0011 0011
- value = b4_from_b4_b4(0xffb17d33U, x.value, y.value);
- }
-
-#define r_bit(v, n) ((v) >> (n) & 1)
-#define r_join(v, a, b) (r_bit(v, a) == r_bit(v, b) ? r_bit(v, a) : 2)
-
-#define br2_to_b4(v) \
- (r_bit(v, 0) | r_bit(v, 1) << 2 | r_join(v, 0, 1) << 4 | \
- r_bit(v, 2) << 8 | r_bit(v, 3) << 10 | r_join(v, 2, 3) << 12 | \
- r_join(v, 0, 2) << 16 | r_join(v, 1, 3) << 18 | \
- 0xffe0c0c0U)
-
-#define br1_to_b4(v) \
- (r_bit(v, 0) | r_bit(v,1) << 2 | r_join(v, 0, 1) << 4 | 0xc0)
-
- void not_assign(const Bool4& x) {
- // F T
- // T F
- value = b4_from_b4(br1_to_b4(0x1), x.value);
- }
- void or_assign(const Bool4& x, const Bool4& y) {
- // T T F F
- // T F T F
- // T T T F
- value = b4_from_b4_b4(br2_to_b4(0xe), x.value, y.value);
- }
- void and_assign(const Bool4& x, const Bool4& y) {
- // T T F F
- // T F T F
- // T F F F
- value = b4_from_b4_b4(br2_to_b4(0x8), x.value, y.value);
- }
- void xor_assign(const Bool4& x, const Bool4& y) {
- // T T F F
- // T F T F
- // F T T F
- value = b4_from_b4_b4(br2_to_b4(0x6), x.value, y.value);
- }
- void implication_assign(const Bool4& x, const Bool4& y) {
- // T T F F
- // T F T F
- // T F T T
- value = b4_from_b4_b4(br2_to_b4(0xb), x.value, y.value);
- }
- void print(std::ostream& os) const {
- if (is_empty())
- os << "[]";
- else if (is_false())
- os << "0";
- else if (is_true())
- os << "1";
- else if (is_universe())
- os << "[0, 1]";
- }
-};
-
-inline std::ostream&
-operator<<(std::ostream& os, const Bool4& x) {
- x.print(os);
- return os;
-}
-
-} // namespace Parma_Polyhedra_Library
-
-#endif // !defined(PPL_Bool4_defs_hh)
-
diff --git a/src/Box.defs.hh b/src/Box.defs.hh
index b68ac0d..52c201f 100644
--- a/src/Box.defs.hh
+++ b/src/Box.defs.hh
@@ -1313,9 +1313,6 @@ public:
template <typename T>
typename Enable_If<Is_Same<T, Box>::value && Is_Same_Or_Derived<Interval_Base, ITV>::value, void>::type
CC76_widening_assign(const T& y, unsigned* tp = 0);
- template <typename T>
- typename Enable_If<Is_Same<T, Box>::value, void>::type
- CC76_widening_assign(const T& y, unsigned* tp = 0);
/*! \brief
Assigns to \p *this the result of computing the
@@ -1337,10 +1334,6 @@ public:
typename Enable_If<Is_Same<T, Box>::value && Is_Same_Or_Derived<Interval_Base, ITV>::value, void>::type
CC76_widening_assign(const T& y,
Iterator first, Iterator last);
- template <typename T, typename Iterator>
- typename Enable_If<Is_Same<T, Box>::value, void>::type
- CC76_widening_assign(const T& y,
- Iterator first, Iterator last);
//! Same as CC76_widening_assign(y, tp).
void widening_assign(const Box& y, unsigned* tp = 0);
diff --git a/src/Box.templates.hh b/src/Box.templates.hh
index 5e7dc5d..3de3094 100644
--- a/src/Box.templates.hh
+++ b/src/Box.templates.hh
@@ -3552,12 +3552,6 @@ Box<ITV>::CC76_widening_assign(const T& y, Iterator first, Iterator last) {
}
template <typename ITV>
-template <typename T, typename Iterator>
-typename Enable_If<Is_Same<T, Box<ITV> >::value, void>::type
-Box<ITV>::CC76_widening_assign(const T& y, Iterator first, Iterator last) {
-}
-
-template <typename ITV>
template <typename T>
typename Enable_If<Is_Same<T, Box<ITV> >::value && Is_Same_Or_Derived<Interval_Base, ITV>::value, void>::type
Box<ITV>::CC76_widening_assign(const T& y, unsigned* tp) {
@@ -3586,12 +3580,6 @@ Box<ITV>::CC76_widening_assign(const T& y, unsigned* tp) {
}
template <typename ITV>
-template <typename T>
-typename Enable_If<Is_Same<T, Box<ITV> >::value, void>::type
-Box<ITV>::CC76_widening_assign(const T& y, unsigned* tp) {
-}
-
-template <typename ITV>
void
Box<ITV>::get_limiting_box(const Constraint_System& cs,
Box& limiting_box) const {
diff --git a/src/Makefile.am b/src/Makefile.am
index fb205e6..7c10d46 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -216,7 +216,6 @@ distances.defs.hh \
distances.inlines.hh \
Boundary.defs.hh \
intervals.defs.hh \
-Bool4.defs.hh \
Interval_Info.defs.hh \
Interval_Info.inlines.hh \
Interval_Restriction.defs.hh \
More information about the PPL-devel
mailing list