hawkingrei opened a new pull request, #142: URL: https://github.com/apache/datasketches-rust/pull/142
## Summary - Add `ThetaJaccardSimilarity` for Theta sketches. - Return lower bound, estimate, and upper bound for the Jaccard index. - Port core coverage from the C++ `theta_jaccard_similarity_test.cpp` cases. ## Motivation This closes one small P0 parity gap with `apache/datasketches-cpp`: Rust had Theta sketching and intersection support, but no Jaccard similarity API. ## Implementation Notes - Reuses existing `ThetaIntersection` for the intersection side. - Builds the two-input union locally inside the Jaccard implementation without exposing a full `ThetaUnion` API in this PR. - Ports the C++ sampled-ratio bound approximation locally for Jaccard bounds. ## Tests - `cargo check -p datasketches --features theta` - `cargo test -p datasketches --features theta --test theta_jaccard_similarity_test` - `cargo test -p datasketches --features theta --lib --test theta_intersection_test --test theta_jaccard_similarity_test --test theta_sketch_test` Full `cargo test -p datasketches --features theta` currently reaches unrelated failures in `theta_serialization_test` because local `datasketches/tests/serialization_test_data/...` files are missing. -- 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]
