summaryrefslogtreecommitdiff
path: root/utils/fast_sparse_vector.h
diff options
context:
space:
mode:
authorPatrick Simianer <simianer@cl.uni-heidelberg.de>2011-11-11 12:42:24 +0100
committerPatrick Simianer <simianer@cl.uni-heidelberg.de>2011-11-11 12:42:24 +0100
commita6f3fb188e539eb1eb4d9e0be9fffdf15bdf9170 (patch)
tree6b49f7f8b07dee60324645c667e65698805a55c0 /utils/fast_sparse_vector.h
parent606750f2487ed294dcdadcd99638eb5de80d1a0c (diff)
more reporting, size_nonz() for fast sparse vector
Diffstat (limited to 'utils/fast_sparse_vector.h')
-rw-r--r--utils/fast_sparse_vector.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/utils/fast_sparse_vector.h b/utils/fast_sparse_vector.h
index 8daaac85..8fe6cb3d 100644
--- a/utils/fast_sparse_vector.h
+++ b/utils/fast_sparse_vector.h
@@ -190,6 +190,14 @@ class FastSparseVector {
else
return local_size_;
}
+ size_t size_nonzero() const {
+ size_t sz = 0;
+ const_iterator it = this->begin();
+ for (; it != this->end(); ++it) {
+ if (nonzero(it->first)) sz++;
+ }
+ return sz;
+ }
inline void clear() {
if (is_remote_) delete data_.rbmap;
is_remote_ = false;