#![warn(missing_docs)]
#![cfg_attr(
test,
allow(
clippy::unwrap_used,
clippy::expect_used,
clippy::needless_update,
clippy::needless_range_loop,
clippy::useless_vec
)
)]
pub mod classic;
#[cfg(feature = "fresh_graph")]
pub mod fresh_graph;
#[cfg(feature = "store")]
pub mod store;
#[cfg(feature = "curator")]
pub mod curator;
#[cfg(feature = "diskann")]
pub mod diskann;
#[cfg(feature = "emg")]
pub mod emg;
#[cfg(feature = "range_filtered")]
pub mod range_filtered;
#[cfg(any(
feature = "evoc",
feature = "ivf_pq",
feature = "ivf_avq",
feature = "ivf_rabitq"
))]
pub(crate) mod clump_compat;
#[cfg(feature = "evoc")]
pub mod evoc;
#[cfg(feature = "hnsw")]
pub mod hnsw;
#[cfg(feature = "lsh")]
pub mod lsh;
#[cfg(feature = "ivf_pq")]
pub mod ivf_pq;
#[cfg(feature = "nsg")]
pub mod nsg;
#[cfg(feature = "finger")]
pub mod finger;
#[cfg(feature = "filtered_graph")]
pub mod filtered_graph;
#[cfg(feature = "nsw")]
pub mod nsw;
#[cfg(feature = "quantization")]
pub mod quantization;
#[cfg(feature = "ivf_avq")]
pub mod ivf_avq;
#[cfg(feature = "pipnn")]
pub mod pipnn;
#[cfg(feature = "ivf_rabitq")]
pub mod ivf_rabitq;
#[cfg(feature = "rp_quant")]
pub mod rp_quant;
#[cfg(feature = "binary_index")]
pub mod binary_index;
#[cfg(feature = "sparse_mips")]
pub mod sparse_mips;
#[cfg(feature = "sq4")]
pub mod sq4;
#[cfg(feature = "lemur")]
pub mod lemur;
#[cfg(feature = "sng")]
pub mod sng;
#[cfg(feature = "vamana")]
pub mod vamana;
#[cfg(feature = "hnsw")]
pub(crate) mod adaptive;
#[cfg(feature = "hnsw")]
pub mod adsampling;
pub mod partitioning;
#[cfg(feature = "ivf_pq")]
pub(crate) mod pq_simd;
#[cfg(feature = "hnsw")]
pub mod prt;
pub mod distance;
#[cfg(any(feature = "diskann", feature = "ivf_pq", feature = "ivf_avq"))]
pub(crate) mod file_io;
pub mod filtering;
#[cfg(any(
feature = "nsw",
feature = "sng",
feature = "vamana",
feature = "nsg",
feature = "finger",
feature = "pipnn",
feature = "emg",
feature = "binary_index",
feature = "rp_quant",
feature = "sparse_mips",
feature = "lsh",
feature = "sq4",
all(feature = "hnsw", feature = "sq4"),
all(feature = "hnsw", feature = "sq8")
))]
pub(crate) mod graph_snapshot;
#[cfg(any(
feature = "finger",
feature = "filtered_graph",
feature = "nsg",
feature = "sparse_mips",
feature = "fresh_graph",
feature = "emg",
feature = "pipnn"
))]
pub(crate) mod graph_utils;
#[cfg(feature = "hnsw")]
pub mod lid;
pub mod memory;
#[cfg(any(
feature = "diskann",
feature = "emg",
feature = "finger",
feature = "fresh_graph",
feature = "hnsw",
feature = "nsg",
feature = "nsw",
feature = "pipnn",
feature = "sng",
feature = "vamana"
))]
pub(crate) mod prefetch;
pub(crate) mod simd;
#[cfg(feature = "rmt-spectral")]
pub(crate) mod spectral;
pub use distance::DistanceMetric;
pub use error::{Result, RetrieveError};
pub use memory::MemoryReport;
#[cfg(feature = "benchmark")]
pub mod benchmark;
pub mod compression;
pub mod error;
pub mod persistence;
#[cfg(feature = "python")]
pub mod python;
#[cfg(feature = "hnsw")]
pub mod streaming;