use thiserror::Error;
#[derive(Error, Debug)]
#[non_exhaustive]
pub enum QuaternionError {
#[error("division by zero quaternion")]
DivisionByZero,
#[error("cannot normalize a zero-length quaternion")]
ZeroLengthNormalization,
#[error("quaternion has non-finite components")]
NonFinite,
}