Skip to main content

faiss_next/
lib.rs

1#![doc = include_str!("../README.md")]
2
3pub mod clustering;
4pub mod distance;
5pub mod error;
6pub mod factory;
7pub mod id_selector;
8pub mod idx;
9pub mod index;
10pub mod io;
11pub mod metric;
12pub mod pairwise;
13pub mod parameter;
14pub mod result;
15pub mod search_params;
16pub mod transform;
17
18#[cfg(feature = "cuda")]
19pub mod gpu;
20
21pub use clustering::{Clustering, ClusteringParameters};
22pub use distance::DistanceComputer;
23pub use error::{Error, Result};
24pub use factory::{index_factory, IndexBuilder};
25pub use id_selector::{
26    IDSelector, IDSelectorAnd, IDSelectorBatch, IDSelectorNot, IDSelectorOr, IDSelectorRange,
27    IDSelectorXOr,
28};
29pub use idx::Idx;
30pub use index::{
31    BinaryIndex, Index, IndexBinary, IndexFlat, IndexFlat1D, IndexIDMap, IndexIDMap2, IndexIVF,
32    IndexIVFFlat, IndexIVFScalarQuantizer, IndexImpl, IndexLSH, IndexPreTransform, IndexRefineFlat,
33    IndexReplicas, IndexScalarQuantizer, IndexShards, IvfIndex, QuantizerType,
34};
35pub use io::{read_index, read_index_binary, write_index, write_index_binary};
36pub use metric::MetricType;
37pub use pairwise::{
38    get_distance_compute_blas_database_bs, get_distance_compute_blas_query_bs,
39    get_distance_compute_blas_threshold, inner_products, l2_sqr_ny, norm_l2_sqr, norms_l2,
40    norms_l2_sqr, pairwise_l2_sqr, pairwise_l2_sqr_with_stride, renorm_l2,
41    set_distance_compute_blas_database_bs, set_distance_compute_blas_query_bs,
42    set_distance_compute_blas_threshold,
43};
44pub use parameter::ParameterSpace;
45pub use result::{BinarySearchResult, RangeSearchResult, SearchResult};
46pub use search_params::{SearchParameters, SearchParametersIvf, SearchParams};
47pub use transform::{
48    CenteringTransform, ItqMatrix, ItqTransform, LinearTransform, NormalizationTransform,
49    OpqMatrix, PcaMatrix, RandomRotationMatrix, RemapDimensionsTransform, VectorTransform,
50};
51
52#[cfg(feature = "cuda")]
53pub use gpu::{GpuIndexImpl, GpuResources};