summaryrefslogtreecommitdiff
path: root/omegalib/omega_lib/include/basic/boolset-test.cc
diff options
context:
space:
mode:
authorTuowen Zhao <ztuowen@gmail.com>2016-09-17 19:27:15 +0000
committerTuowen Zhao <ztuowen@gmail.com>2016-09-17 19:27:15 +0000
commitad1cadf3512f3dd789151983e5c93af411f929db (patch)
treed6d25d562617d9bec7b13286cf413ed8f7567275 /omegalib/omega_lib/include/basic/boolset-test.cc
parentcfafd2ffcad803e7bb02b60c085eafd73f28f87a (diff)
downloadchill-ad1cadf3512f3dd789151983e5c93af411f929db.tar.gz
chill-ad1cadf3512f3dd789151983e5c93af411f929db.tar.bz2
chill-ad1cadf3512f3dd789151983e5c93af411f929db.zip
restructure
Diffstat (limited to 'omegalib/omega_lib/include/basic/boolset-test.cc')
-rwxr-xr-xomegalib/omega_lib/include/basic/boolset-test.cc72
1 files changed, 72 insertions, 0 deletions
diff --git a/omegalib/omega_lib/include/basic/boolset-test.cc b/omegalib/omega_lib/include/basic/boolset-test.cc
new file mode 100755
index 0000000..5b68220
--- /dev/null
+++ b/omegalib/omega_lib/include/basic/boolset-test.cc
@@ -0,0 +1,72 @@
+#include "boolset.h"
+#include <iostream>
+
+using namespace omega;
+
+void foo(const BoolSet<> &B) {
+ for (BoolSet<>::const_iterator i = B.begin(); i != B.end(); i++)
+ std::cout << *i << ' ';
+ std::cout << std::endl;
+}
+
+int main() {
+ BoolSet<> A(13);
+
+ A.set(2);
+ std::cout << A << std::endl;
+
+ A.set_all();
+ std::cout << A << std::endl;
+
+ A.unset_all();
+ std::cout << A << std::endl;
+
+ A.set(2);
+ A.set(4);
+
+ BoolSet<> B(13);
+ B.set(2);
+
+ std::cout << "A: " << A << std::endl;
+ std::cout << "B: " << B << std::endl;
+
+ std::cout << A.imply(B) << std::endl;
+ std::cout << B.imply(A) << std::endl;
+
+ B.set(10);
+ std::cout << (A|B) << std::endl;
+ std::cout << (A&B) << std::endl;
+
+ BoolSet<> C(3);
+ C.set(0);
+ std::cout << (A|C) << std::endl;
+ std::cout << ~(A|C) << std::endl;
+
+ B = BoolSet<>(23);
+ std::cout << "test iterator\n";
+ B.set(12);
+ B.set(11);
+ B.set(0);
+ std::cout << B << std::endl;
+ for (BoolSet<>::const_iterator i = B.begin(); i != B.end(); i++) {
+ std::cout << *i << ' ';
+ if (*i == 11)
+ B.unset(*i);
+ }
+ std::cout << std::endl;
+ std::cout << B << std::endl;
+ std::cout << std::endl;
+ foo(B);
+
+ std::cout << ~BoolSet<>(5) << std::endl;
+
+ std::cout << "------\n";
+ B.dump();
+ std::cout << std::endl << *(B.begin()+1) << std::endl;
+
+ for (BoolSet<>::iterator i = B.begin(); i != B.end(); i++)
+ for (BoolSet<>::iterator j = i; j != B.end(); j++)
+ if (j == i)
+ std::cout << "ehh-";
+
+}