feat: add Mash distance metric and rolling entropy support

Implement the Mash distance metric across the CLI, index, and compact vector traits. This includes adding a `Mash` variant to the `DistanceMetric` enum and `MetricArg` CLI argument, implementing the conversion from Jaccard distances using the standard mutation-rate estimator formula, and updating documentation with supported metrics and algorithmic references. Additionally, add an `entropy` method to rolling statistics for computing order-specific entropy.
This commit is contained in:
Eric Coissac
2026-07-09 11:40:48 +02:00
parent dc3392865f
commit 2610a4af79
7 changed files with 61 additions and 8 deletions
-7
View File
@@ -196,13 +196,6 @@ impl RollingStat {
.map(|raw| Minimizer::from_raw_unchecked(raw << (64 - self.m * 2)))
}
pub fn entropy(&self, order: usize) -> Option<f64> {
if !self.ready() {
return None;
}
Some(self.entropy.entropy(order))
}
pub fn normalized_entropy(&self) -> Option<f64> {
if !self.ready() {
return None;