use thiserror::Error;
#[derive(Debug, PartialEq, Error)]
pub enum FastDbscanError<T> {
#[error("The minimum number of pixels must be greater than zero")]
InvalidMinPixels,
#[error("The epsilon value must be greater than zero and not NaN: {0}")]
InvalidEpsilon(T),
#[error("The probability value must be in the range (0, 1]: {0}")]
OutOfRangeProbability(T),
#[error("Expected pixels length {expected}, but got {actual}")]
UnexpectedLength { actual: usize, expected: usize },
}