use std::num::NonZeroUsize;
mod algorithms;
mod result;
mod vertex_pairs;
pub use result::{CosineSimilarityResult, JaccardSimilarityResult, OverlapSimilarityResult, SorensenSimilarityResult};
pub use vertex_pairs::VertexPairs;
#[derive(Debug, Clone, Copy, Default)]
#[must_use]
pub struct SimilarityParams {
pub use_weight: bool,
pub do_expensive_check: bool,
}
#[derive(Debug, Clone, Copy, Default)]
#[must_use]
pub struct AllPairsSimilarityParams {
pub use_weight: bool,
pub topk: Option<NonZeroUsize>,
pub do_expensive_check: bool,
}
pub(crate) use algorithms::{
all_pairs_cosine_similarity_coefficients, all_pairs_jaccard_coefficients, all_pairs_overlap_coefficients,
all_pairs_sorensen_coefficients, cosine_similarity_coefficients, create_vertex_pairs, jaccard_coefficients,
overlap_coefficients, sorensen_coefficients,
};