pub trait Neg {
    type Output;
    // Required method
    fn neg(self) -> Self::Output;
}Expand description
The unary negation operator -.
§Examples
An implementation of Neg for Sign, which allows the use of - to
negate its value.
use std::ops::Neg;
#[derive(Debug, PartialEq)]
enum Sign {
    Negative,
    Zero,
    Positive,
}
impl Neg for Sign {
    type Output = Self;
    fn neg(self) -> Self::Output {
        match self {
            Sign::Negative => Sign::Positive,
            Sign::Zero => Sign::Zero,
            Sign::Positive => Sign::Negative,
        }
    }
}
// A negative positive is a negative.
assert_eq!(-Sign::Positive, Sign::Negative);
// A double negative is a positive.
assert_eq!(-Sign::Negative, Sign::Positive);
// Zero is its own negation.
assert_eq!(-Sign::Zero, Sign::Zero);Required Associated Types§
Required Methods§
Implementors§
Source§impl Neg for Dec19x19
§Tests
check! ( [Dec19x19::neg] {
    (Dec19x19::MAX)   => Dec19x19::MIN + Dec19x19::SMALLEST_STEP,
    (Dec19x19!(3.0))  => Dec19x19!(-3.0),
    (Dec19x19!(0.0))  => Dec19x19!(0.0),
    (Dec19x19!(-3.0)) => Dec19x19!(3.0),
    (Dec19x19::MIN)   => Dec19x19::MAX,
    ((Dec19x19::MIN + Dec19x19::SMALLEST_STEP)) => Dec19x19::MAX,
});
 
impl Neg for Dec19x19
§Tests
check! ( [Dec19x19::neg] {
    (Dec19x19::MAX)   => Dec19x19::MIN + Dec19x19::SMALLEST_STEP,
    (Dec19x19!(3.0))  => Dec19x19!(-3.0),
    (Dec19x19!(0.0))  => Dec19x19!(0.0),
    (Dec19x19!(-3.0)) => Dec19x19!(3.0),
    (Dec19x19::MIN)   => Dec19x19::MAX,
    ((Dec19x19::MIN + Dec19x19::SMALLEST_STEP)) => Dec19x19::MAX,
});