tisonkun commented on PR #271: URL: https://github.com/apache/datasketches-rust/pull/271#issuecomment-5690888412
Thank you for picking this up — the implementation here was clean and well-tested. After a closer look at the underlying semantics, though, we've decided not to expose the inverted state at all, which makes this approach moot. The reasoning, in short: an inverted Bloom filter only answers "definitely not inserted" on its `true` side, and the original filter already answers that (with a much higher hit rate) on its `false` side — so a read-only inverted view is a strictly worse absence oracle than the filter it came from. The one composition with a clean per-item meaning is A AND NOT B, and that use case is better served by an explicit set-difference operation than by exposing an inverted intermediate. #278 implements that: it removes `invert()` and adds `BloomFilter::difference` with documented semantics. Closing this in favor of #278; the cross-language discussion is tracked at https://github.com/apache/datasketches-java/issues/766. Your exploration here was still useful input for reaching that conclusion. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
