#[derive(Debug, Clone, PartialEq, Eq, thiserror::Error)]
pub enum SpectralError {
#[error("length {len} is not a power of two")]
NonPowerOfTwoLength {
len: usize,
},
#[error("inverse not divisible by length {len}")]
NonDivisibleInverse {
len: usize,
},
#[error("invalid normalization: {0}")]
InvalidNormalization(String),
#[error("length overflow for input of size {len}")]
LengthOverflow {
len: usize,
},
#[error("shape mismatch: {0}")]
ShapeMismatch(String),
#[error("limit exceeded: {0}")]
LimitExceeded(String),
#[error("integer overflow in exact transform")]
Overflow,
}