tisonkun opened a new pull request, #299:
URL: https://github.com/apache/datasketches-rust/pull/299

   ## Summary
   
   This draft implements the rough consensus from the TCK discussion for 
cross-project review.
   
   - Add Count-Min serial version 2. Derive row seeds as 
`XXH64(row_index.to_le_bytes(), base_seed)` and use XXH64 for item hashes.
   - Map version 2 item hashes to buckets with `(hash >> 1) % num_buckets`.
   - Preserve the legacy Rust version 1 hash path when reading, updating, and 
reserializing old images.
   - Reject merges between different serial versions and document the remaining 
cross-language version 1 limitations.
   - Add independently computed version 2 known-answer vectors and legacy Rust 
version 1 regression coverage.
   
   ## Compatibility
   
   New sketches serialize as version 2. Legacy Rust version 1 images remain 
readable and retain version 1 when reserialized, so their counters are not 
mislabeled as using the new hash scheme.
   
   Version 1 images from other implementations remain unreliable for queries, 
updates, and merges because the image does not identify their legacy row-seed 
derivation. Existing C++ version 1 snapshots continue to be covered for 
deserialization and byte round-tripping.
   
   Cross-language version 2 TCK snapshots and byte comparisons still need to be 
added after the format details are agreed across implementations.
   
   Refs: https://github.com/apache/datasketches-tck/discussions/18
   Refs: https://github.com/apache/datasketches-rust/issues/297
   
   ## Validation
   
   - `cargo x check`
   - `cargo x prepare-testdata`
   - `cargo x test`
   - `cargo x lint`
   


-- 
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]

Reply via email to