pub mod correlation_function;
pub mod gaussian_density;
pub mod kabsch;
pub mod local_density;
pub mod spatial;
pub mod sphere_voxelization;
pub use correlation_function::{CorrelationFunction, CorrelationFunctionResult};
pub use gaussian_density::{GaussianDensity, GaussianDensityResult};
pub use local_density::{LocalDensity, LocalDensityResult};
pub use spatial::{GridSpec, SpatialDistribution, SpatialDistributionResult};
pub use sphere_voxelization::{SphereVoxelization, SphereVoxelizationResult};
#[inline]
pub(crate) fn wrap_index(i: isize, n: isize, pbc: bool) -> (bool, usize) {
if pbc {
(true, i.rem_euclid(n) as usize)
} else if i < 0 || i >= n {
(false, 0)
} else {
(true, i as usize)
}
}