#![warn(unused_imports, dead_code)]
mod numpy_rng;
#[cfg(feature = "knn")]
mod fast_cosine;
#[cfg(feature = "knn")]
mod heap;
#[cfg(feature = "knn")]
mod kdtree;
#[cfg(feature = "knn")]
mod knn;
#[cfg(feature = "knn")]
mod nndescent;
#[cfg(feature = "knn")]
mod np_argsort;
#[cfg(feature = "cluster")]
mod rlx_backend;
#[cfg(feature = "knn")]
mod rng;
#[cfg(feature = "graph")]
mod csr_matmul;
#[cfg(feature = "graph")]
mod graph_construction;
#[cfg(feature = "init")]
mod label_prop;
#[cfg(feature = "embed")]
mod embed;
#[cfg(feature = "cluster")]
mod boruvka;
#[cfg(feature = "cluster")]
mod cluster_trees;
#[cfg(feature = "cluster")]
mod cluster_util;
#[cfg(feature = "cluster")]
mod clustering;
#[cfg(feature = "cluster")]
mod disjoint_set;
#[cfg(feature = "datasets")]
pub mod bbc_news_data;
#[cfg(feature = "datasets")]
mod dataset_util;
#[cfg(feature = "datasets")]
pub mod fashion_mnist_data;
#[cfg(feature = "datasets")]
pub mod idx_digits;
#[cfg(feature = "datasets")]
pub mod mnist_data;
#[cfg(feature = "datasets")]
pub mod news20_data;
#[cfg(feature = "datasets")]
mod text_bow;
#[cfg(feature = "cluster")]
pub use clustering::{
build_cluster_layers, build_cluster_layers_with_mst_edges, evoc_clusters, Evoc,
};
#[cfg(feature = "embed")]
pub use embed::node_embedding;
#[cfg(feature = "graph")]
pub use graph_construction::{
align_csr_values, neighbor_graph_matrix, neighbor_graph_matrix_with_coo,
};
#[cfg(all(feature = "graph", feature = "npy"))]
pub use graph_construction::{load_graph_coo_npz, load_graph_csr_npz};
#[cfg(feature = "knn")]
pub use knn::knn_graph_ref;
#[cfg(feature = "knn")]
pub use knn::{knn_graph, transform_distances_float, EmbeddingData, KnnError, KnnGraphOptions};
#[cfg(feature = "init")]
pub use label_prop::{label_prop_loop, label_propagation_init};
pub use numpy_rng::{check_random_state, NumpyRandomState};
#[cfg(feature = "cluster")]
pub use rlx_backend::{BackendError, ComputeBackend};
#[cfg(all(feature = "graph", feature = "init"))]
pub mod parity {
pub use crate::csr_matmul::scipy_csr_matmul;
pub use crate::graph_construction::smooth_knn_dist;
pub use crate::label_prop::{
csr_matmul_dense, normalize_cols_l2, normalize_rows_l1, partition_reduction_map,
};
}
#[cfg(feature = "embed")]
pub mod embed_kernels {
pub use crate::embed::{make_epochs_per_sample, node_embedding_epoch_repr};
}