Trait argmin::prelude::CheckedNeg[][src]

pub trait CheckedNeg {
    fn checked_neg(&self) -> Option<Self>;
}
Expand description

Performs negation that returns None if the result can’t be represented.

Required methods

fn checked_neg(&self) -> Option<Self>[src]

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);

Implementations on Foreign Types

impl CheckedNeg for u32[src]

pub fn checked_neg(&self) -> Option<u32>[src]

impl CheckedNeg for u128[src]

pub fn checked_neg(&self) -> Option<u128>[src]

impl CheckedNeg for u16[src]

pub fn checked_neg(&self) -> Option<u16>[src]

impl CheckedNeg for i32[src]

pub fn checked_neg(&self) -> Option<i32>[src]

impl CheckedNeg for isize[src]

pub fn checked_neg(&self) -> Option<isize>[src]

impl CheckedNeg for i8[src]

pub fn checked_neg(&self) -> Option<i8>[src]

impl CheckedNeg for i128[src]

pub fn checked_neg(&self) -> Option<i128>[src]

impl CheckedNeg for u64[src]

pub fn checked_neg(&self) -> Option<u64>[src]

impl CheckedNeg for i16[src]

pub fn checked_neg(&self) -> Option<i16>[src]

impl CheckedNeg for u8[src]

pub fn checked_neg(&self) -> Option<u8>[src]

impl CheckedNeg for usize[src]

pub fn checked_neg(&self) -> Option<usize>[src]

impl CheckedNeg for i64[src]

pub fn checked_neg(&self) -> Option<i64>[src]

Implementors