diff --git a/src/probabilistic/CardinalityCounter.cc b/src/probabilistic/CardinalityCounter.cc index 84c5c91de1..4014b3de57 100644 --- a/src/probabilistic/CardinalityCounter.cc +++ b/src/probabilistic/CardinalityCounter.cc @@ -134,6 +134,10 @@ void CardinalityCounter::AddElement(uint64_t hash) { **/ double CardinalityCounter::Size() const { double answer = 0; + + if ( m == 0 ) + return -1.0; + for ( unsigned int i = 0; i < m; i++ ) answer += pow(2, -((int)buckets[i])); diff --git a/src/probabilistic/CardinalityCounter.h b/src/probabilistic/CardinalityCounter.h index 68ac83cd46..5663530c93 100644 --- a/src/probabilistic/CardinalityCounter.h +++ b/src/probabilistic/CardinalityCounter.h @@ -75,7 +75,8 @@ public: * Get the current estimated number of elements in the data * structure * - * @return Estimated number of elements + * @return Estimated number of elements. Returns -1.0 if there are + * zero buckets. **/ double Size() const;