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);
Implementors
impl CheckedNeg for u8impl CheckedNeg for u16impl CheckedNeg for u32impl CheckedNeg for u64impl CheckedNeg for usizeimpl CheckedNeg for u128impl CheckedNeg for i8impl CheckedNeg for i16impl CheckedNeg for i32impl CheckedNeg for i64impl CheckedNeg for isizeimpl CheckedNeg for i128