use diskann::graph::workingset;
mod provider;
pub use provider::{DefaultProvider, DefaultProviderParameters, SetStartPoints};
#[derive(Debug, Clone, Copy)]
pub struct PassThrough;
impl workingset::AsWorkingSet<Self> for PassThrough {
fn as_working_set(&self, _capacity: usize) -> Self {
*self
}
}
mod scalar;
pub use scalar::{SQError, SQStore, WithBits};
#[cfg(not(test))]
mod product;
pub use product::DefaultQuant;
pub mod spherical;
mod full_precision;
pub use full_precision::{
CreateFullPrecision, FullAccessor, FullPrecisionProvider, FullPrecisionStore,
};
pub(super) use full_precision::{GetFullPrecision, Rerank};
#[cfg(test)]
pub mod product;
#[cfg(test)]
pub(crate) mod test;