CheckedRem in num_traits::ops::checked - Rust
Description: Performs an integral remainder that returns `None` instead of panicking on division by zero and instead of wrapping around on underflow and overflow.
Keywords: rust, rustlang, rust-lang, CheckedRem

# Trait num_traits::ops::checked::CheckedRem

source ·

    pub trait CheckedRem: Sized + Rem<Self, Output = Self> {
        fn checked_rem(&self, v: &Self) -> Option<Self>;
    }

Expand description

Performs an integral remainder that returns `None` instead of panicking on division by zero and instead of wrapping around on underflow and overflow.

## Required Methods§

source

#### fn checked_rem(&self, v: &Self) -> Option<Self>

Finds the remainder of dividing two numbers, checking for underflow, overflow and division by zero. If any of that happens, `None` is returned.

##### Examples

    use num_traits::CheckedRem;
    use std::i32::MIN;

    assert_eq!(CheckedRem::checked_rem(&10, &7), Some(3));
    assert_eq!(CheckedRem::checked_rem(&10, &-7), Some(3));
    assert_eq!(CheckedRem::checked_rem(&-10, &7), Some(-3));
    assert_eq!(CheckedRem::checked_rem(&-10, &-7), Some(-3));

    assert_eq!(CheckedRem::checked_rem(&10, &0), None);

    assert_eq!(CheckedRem::checked_rem(&MIN, &1), Some(0));
    assert_eq!(CheckedRem::checked_rem(&MIN, &-1), None);

## Implementations on Foreign Types§

source§

### impl CheckedRem for u8

source§

#### fn checked_rem(&self, v: &u8) -> Option<u8>

source§

### impl CheckedRem for u16

source§

#### fn checked_rem(&self, v: &u16) -> Option<u16>

source§

### impl CheckedRem for u32

source§

#### fn checked_rem(&self, v: &u32) -> Option<u32>

source§

### impl CheckedRem for u64

source§

#### fn checked_rem(&self, v: &u64) -> Option<u64>

source§

### impl CheckedRem for usize

source§

#### fn checked_rem(&self, v: &usize) -> Option<usize>

source§

### impl CheckedRem for u128

source§

#### fn checked_rem(&self, v: &u128) -> Option<u128>

source§

### impl CheckedRem for i8

source§

#### fn checked_rem(&self, v: &i8) -> Option<i8>

source§

### impl CheckedRem for i16

source§

#### fn checked_rem(&self, v: &i16) -> Option<i16>

source§

### impl CheckedRem for i32

source§

#### fn checked_rem(&self, v: &i32) -> Option<i32>

source§

### impl CheckedRem for i64

source§

#### fn checked_rem(&self, v: &i64) -> Option<i64>

source§

### impl CheckedRem for isize

source§

#### fn checked_rem(&self, v: &isize) -> Option<isize>

source§

### impl CheckedRem for i128

source§

#### fn checked_rem(&self, v: &i128) -> Option<i128>

## Implementors§