ZENOTME commented on PR #111: URL: https://github.com/apache/datasketches-rust/pull/111#issuecomment-4389019646
> Given that, I am not yet convinced that introducing a project-wide common hash interface would provide enough benefit over using shared utility functions where appropriate. > Nonetheless, in order to have cross-language compatibility each language needs to ensure that data is presented to hash functions in a deterministic and non-ambiguous way, and given the same data, the same hash algorithm in every language will result in the same hash values. Thanks @proost @leerho , based on the above opinion: 1. We need to align the behaviour with other languages to have cross-language compatibility. 2. It's not appropriate to introduce a project-wide common hash interface. There are two ways to implement custom hash behaviour: 1. Introduce the hashable trait for each sketch to clean the interface. 2. Separate the update interface like other languages, e.g., e.g update_f32, update_u32, update_i32, ... I prefer 1 for a cleaner interface, are there other considerations? cc @tisonkun -- 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]
