use thiserror::Error;
#[derive(Debug, Error, PartialEq)]
pub enum SamplingError {
#[error("Empty points: no points to sample from.")]
EmptyPoints,
#[error("Empty weights: no weights to sample from.")]
EmptyWeights,
#[error("Invalid diversity: Diversity score must be between 0.0 and 1.0.")]
InvalidDiversity,
#[error("Points length ({points_len}) and weights length ({weights_len}) mismatch.")]
WeightsLengthMismatch {
points_len: usize,
weights_len: usize,
},
}