Trait num_traits::ops::checked::CheckedNeg
[−]
[src]
pub trait CheckedNeg: Sized { fn checked_neg(&self) -> Option<Self>; }
Performs negation that returns None
if the result can't be represented.
Required Methods
fn checked_neg(&self) -> Option<Self>
Negates a number, returning None
for results that can't be represented, like signed MIN
values that can't be positive, or non-zero unsigned values that can't be negative.
Examples
use num_traits::CheckedNeg; use std::i32::MIN; assert_eq!(CheckedNeg::checked_neg(&1_i32), Some(-1)); assert_eq!(CheckedNeg::checked_neg(&-1_i32), Some(1)); assert_eq!(CheckedNeg::checked_neg(&MIN), None); assert_eq!(CheckedNeg::checked_neg(&0_u32), Some(0)); assert_eq!(CheckedNeg::checked_neg(&1_u32), None);