use qubit_datatype::DataType;
use thiserror::Error;
#[must_use]
#[derive(Debug, Clone, PartialEq, Eq, Error)]
#[non_exhaustive]
pub enum NumericComparisonError {
#[error("left value is missing: declared type is {declared}")]
LeftMissing {
declared: DataType,
},
#[error("right value is missing: declared type is {declared}")]
RightMissing {
declared: DataType,
},
#[error("left value is not numeric: {actual}")]
LeftNotNumeric {
actual: DataType,
},
#[error("right value is not numeric: {actual}")]
RightNotNumeric {
actual: DataType,
},
#[error("left value is NaN")]
LeftNaN,
#[error("right value is NaN")]
RightNaN,
#[error("both values are NaN")]
BothNaN,
}