//! Implementation of ProbMinHash2, ProbMinHash3 and ProbMinHash3a as described in O. Ertl //! . //! //! * ProbminHash3a is the fastest but at the cost of some internal storage. //! * Probminhash3 is the same algorithm without the time optimization requiring more storage. //! It can be used in streaming //! * Probminhash2 is statistically equivalent to P-Minhash as described in : //! Moulton Jiang "Maximally consistent sampling and the Jaccard index of probability distributions" //! or . //! It is given as a fallback in case ProbminHash3* algorithms do not perform well, or for comparison. //! //! * ProbMinHash3aSha is a variation of probminhash3a dedicated to hashing of types not implementing Copy. //! This implementation uses Sha512_256 hashing for initialization the random generator (Xoshiro256PlusPlus) with 256 bits seed and //! reduces the risk of collisions. //! Counted objects must satisfy the trait **Sig** instead of **Hash** for the preceding algorithms, but they do not need to satisfy Copy. //! It is more adapted to hashing Strings or Vec\ //! //! * ProbOrminhash2 is a locality-sensitive hashing for the edit distance implemented over ProbMinHash2 as in Ertl's [probordminhash2](https://github.com/oertl/probminhash). //! It is inspired by *Marcais.G et al. BioInformatics 2019*. Cf //! pub mod probminhash2; pub mod probminhash3; pub mod probminhash3sha; pub mod probordminhash2; pub mod sig; pub use probminhash2::ProbMinHash2; pub use probminhash3::{ProbMinHash3, ProbMinHash3a}; pub use probminhash3sha::ProbMinHash3aSha;