You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ah...@apache.org on 2020/02/17 14:10:34 UTC

[commons-collections] 04/12: Added orCardinality to BitSetBloomFilter.

This is an automated email from the ASF dual-hosted git repository.

aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git

commit 82273e966e17f1d6df1651c7ff964a898d1859ef
Author: aherbert <a....@sussex.ac.uk>
AuthorDate: Mon Feb 17 13:06:52 2020 +0000

    Added orCardinality to BitSetBloomFilter.
---
 .../commons/collections4/bloomfilter/BitSetBloomFilter.java   | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/main/java/org/apache/commons/collections4/bloomfilter/BitSetBloomFilter.java b/src/main/java/org/apache/commons/collections4/bloomfilter/BitSetBloomFilter.java
index e3adbaa..eb1aff4 100644
--- a/src/main/java/org/apache/commons/collections4/bloomfilter/BitSetBloomFilter.java
+++ b/src/main/java/org/apache/commons/collections4/bloomfilter/BitSetBloomFilter.java
@@ -114,6 +114,17 @@ public class BitSetBloomFilter extends AbstractBloomFilter {
     }
 
     @Override
+    public int orCardinality(final BloomFilter other) {
+        if (other instanceof BitSetBloomFilter) {
+            verifyShape(other);
+            final BitSet result = (BitSet) bitSet.clone();
+            result.or(((BitSetBloomFilter)other).bitSet);
+            return result.cardinality();
+        }
+        return super.orCardinality(other);
+    }
+
+    @Override
     public String toString() {
         return bitSet.toString();
     }