Closed liyang-gmt8 closed 7 years ago
@liyang-gmt8, I'm also interested in this issue, but unfortunately cannot reproduce it with the following example
public static void main(String[] args) {
HyperLogLogPlus hllp = new HyperLogLogPlus(20, 25)
long size = 10_000_000_000L
for (long i = 0; i < size; i++) {
hllp.offer(i)
}
System.out.printf("True Cardinality: %s%n", size)
System.out.printf("Estimated Cardinality: %s%n", hllp.cardinality())
System.out.printf("Estimated Error: %f%n", Math.abs((hllp.cardinality() - size) / (float) size))
}
... and got the following results
True Cardinality: 10000000000
Estimated Cardinality: 10010661180
Estimated Error: 0.001066
Could you please help to find a sample input to reproduce this issue?
closing. please re-open if you can provide a failing test case.