#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(i32)]
pub enum ArithmeticErrorCode
{
IntegerDivisionByZero = 1,
IntegerOverflow = 2,
FloatingPointDivisionByZero = 3,
FloatingPointOverflow = 4,
FloatingPointUnderflow = 5,
FloatingPointInexactResult = 6,
FloatingPointInvalidOperation = 7,
FloatingPointSubscriptOutOfRange = 8,
PackedDecimalOverflow = 9,
PackedDecimalDivisionBZero = 10,
PackedDecimalError = 11,
InvalidAsciiDigit = 12,
InvalidDecimalDigit = 13,
UndiagnosedFloatingPointException = 14,
TrapOnCondition = 15,
}
impl Into<i32> for ArithmeticErrorCode
{
#[inline(always)]
fn into(self) -> i32
{
self as i32
}
}
impl Code for ArithmeticErrorCode
{
const InclusiveMaximum: Self = ArithmeticErrorCode::TrapOnCondition;
#[inline(always)]
fn rehydrate(validated_si_code: i32) -> Self
{
unsafe { transmute(validated_si_code)}
}
}