usethiserror::Error;/// Error type for quaternion operations.
#[derive(Error, Debug)]#[non_exhaustive]pubenumQuaternionError{/// The quaternion has (near-)zero norm and cannot be normalized.
#[error("cannot normalize a zero-length quaternion")]
ZeroLengthNormalization,/// The quaternion has non-finite (NaN or infinite) components.
#[error("quaternion has non-finite components")]
NonFinite,}