pub use crate::errors::EvocErrors;
pub use crate::graph::EvocEmbeddingParams;
pub use crate::nearest_neighbours::nearest_neighbour_cpu::NearestNeighbourParamsEvoc;
pub use crate::utils::sparse::CoordinateList;
pub use crate::utils::traits::EvocFloat;
#[cfg(feature = "gpu")]
pub use crate::nearest_neighbours::nearest_neighbour_gpu::NearestNeighbourParamsGpuEvoc;
#[derive(Clone, Copy, Debug, Default)]
pub enum Verbosity {
#[default]
Quiet,
Normal,
Detailed,
}
impl Verbosity {
pub fn normal_verbosity(&self) -> bool {
matches!(self, Verbosity::Normal | Verbosity::Detailed)
}
pub fn detailed_verbosity(&self) -> bool {
matches!(self, Verbosity::Detailed)
}
}
pub fn parse_verbosity_level(level: usize) -> Verbosity {
match level {
0 => Verbosity::Quiet,
1 => Verbosity::Normal,
2 => Verbosity::Detailed,
_ => Verbosity::Quiet,
}
}
pub type EvocKnnResults<T> = Result<(Vec<Vec<usize>>, Vec<Vec<T>>), EvocErrors>;
pub type PreComputedKnn<T> = Option<(Vec<Vec<usize>>, Vec<Vec<T>>)>;