booleanvector: Use isempty() instead of size()==0
authorStefan Huber <shuber@sthu.org>
Tue, 14 Jan 2014 14:10:21 +0000 (15:10 +0100)
committerStefan Huber <shuber@sthu.org>
Tue, 14 Jan 2014 15:22:17 +0000 (16:22 +0100)
include/libstick-0.1/booleanmatrix.h
include/libstick-0.1/booleanvector.h
include/libstick-0.1/persistence.h

index 594eb92c8a410bc749042afc541d572fea12994e..b32e902758b2556dc1cb77f5a503d408a336f396 100644 (file)
@@ -53,7 +53,7 @@ class boolean_colmatrix_base {
         size_t height() const {
             IT h = 0;
             for (unsigned c=0; c < width(); ++c)
-                if (cols[c].size() > 0)
+                if (!cols[c].isempty())
                     h = std::max(h, cols[c].back());
             return h+1;
         }
@@ -513,7 +513,7 @@ std::ostream& operator<<(std::ostream &os, const boolean_colmatrix_base<IT, D> &
 
         os << "-";
 
-        if (col.size() != 0)
+        if (!col.isempty())
             height = std::max(height, col.back());
     }
 
@@ -524,7 +524,7 @@ std::ostream& operator<<(std::ostream &os, const boolean_colmatrix_base<IT, D> &
         for (unsigned c=0; c < mat.width(); ++c) {
             std::list<IT> &col = cols.at(c);
             // This column is already empty
-            if (col.size() == 0)
+            if (col.isempty())
                 os << " ";
             else if (col.front() == r) {
                 os << "X";
index d7eb41bc9d7bc43109b964d20c67547f17dafa89..5d8706320766ea74b970bf10ae28373c4ba31814 100644 (file)
@@ -251,8 +251,11 @@ class heapsorted_boolean_vector {
 
         /** Returns true if vector contains no 1. */
         bool isempty() const {
-            strip_heap();
-            return isheap ? heapsize==0 : array.size()==0;
+            if (isheap) {
+                strip_heap();
+                return heapsize == 0;
+            } else
+                return array.size() == 0;
         }
 
         /** Print this vector */
index ea7369331bab105ba1e9903c9b5a69d611439bd8..d7cc25f23878266da513ea123399d7b2522d1092 100644 (file)
@@ -117,7 +117,7 @@ class persistence {
                 //if (c % 100 == 0)
                 //std::cout << "c = " << c << " (" << (100.0*float(c)/rbm.width()) << " %)" << std::endl;
                 // Reduce as long as we need to reduce
-                while (rbm.get_column(c).size() > 0) {
+                while (!rbm.get_column(c).isempty()) {
                     // (r, c) is the lowest one of col
                     const IT r = rbm.get_column(c).back();
                     // This column contains its lowest one on the same row
@@ -137,7 +137,7 @@ class persistence {
                 }
 
                 // A lowest one remained, recall it
-                if (rbm.get_column(c).size() > 0) {
+                if (!rbm.get_column(c).isempty()) {
                     const IT r = rbm.get_column(c).back();
                     assert(lowestones[r] == 0);
                     assert(r < c);
@@ -204,7 +204,7 @@ class persistence {
                 os << "  boundary: " << bm.get_column(c) << std::endl;
 
                 typename boolean_colmatrix<IT>::column_type col = rbm.get_column(c);
-                if (col.size() == 0) {
+                if (col.isempty()) {
                     os << "  \033[1;32mbirth\033[0;m of a cycle: " << tm.get_column(c) << std::endl;
                 } else {
                     os << "  \033[1;31mdeath\033[0;m of a cycle: " << rbm.get_column(c) << std::endl;
@@ -240,7 +240,7 @@ class persistence {
 
             for (unsigned c=0; c < lowestones.size(); ++c) {
                 // A cycle was born
-                if (rbm.get_column(c).size() == 0) {
+                if (rbm.get_column(c).isempty()) {
                     const int dim = order.get_simplex(c).dim;
 
                     // Create a diagram point
@@ -265,7 +265,7 @@ class persistence {
             // or not be, tertium non datur.
             for (unsigned c=0; c < lowestones.size(); ++c) {
                 // A class died with c
-                if (rbm.get_column(c).size() != 0)
+                if (!rbm.get_column(c).isempty())
                     assert(c == 0 || deaths.count(c) > 0);
                 else
                     assert(births.count(c) > 0);