spatialrust_search/
lib.rs1#![deny(unsafe_code)]
6#![warn(missing_docs)]
7
8mod brute;
9mod chunked;
10mod staging;
11mod traits;
12mod uniform_grid;
13
14#[cfg(feature = "search-kdtree")]
15mod kdtree;
16
17#[cfg(feature = "parallel")]
18mod parallel_chunked;
19
20#[cfg(feature = "search-graph")]
21mod graph;
22
23pub use brute::{brute_force_knn, brute_force_radius, BruteForceIndex};
24pub use chunked::{
25 nearest_k_spatial_tensor, radius_search_spatial_tensor, ChunkQueryRange,
26 ChunkedNearestNeighborIndex, ChunkedRadiusSearchIndex,
27};
28pub use staging::{
29 parallel_index_for_each, parallel_index_ranges, parallel_worker_count,
30 parallel_worker_count_with_chunk, PARALLEL_STAGING_MIN_POINTS,
31};
32pub use traits::{NearestNeighborIndex, Neighbor, RadiusSearchIndex, SpatialIndex};
33pub use uniform_grid::{
34 build_grid, euclidean_cluster_roots, euclidean_cluster_roots_from_segments, grid_bounds,
35 uniform_grid_fits, MAX_UNIFORM_GRID_CELLS,
36};
37
38#[cfg(feature = "parallel")]
39pub use parallel_chunked::{
40 nearest_k_spatial_tensor_parallel, nearest_k_spatial_tensor_parallel_into,
41 radius_search_spatial_tensor_parallel, radius_search_spatial_tensor_parallel_into,
42 PARALLEL_CHUNK_QUERY_MIN_POINTS,
43};
44
45#[cfg(feature = "search-kdtree")]
46pub use kdtree::KdTree;
47
48#[cfg(feature = "search-graph")]
49pub use graph::{knn_graph, radius_graph, NeighborGraph};