CheckedRem

Trait CheckedRem 

Source
pub trait CheckedRem<Rhs = Self>: Sized {
    type Output;

    // Required method
    fn checked_rem(self, v: Rhs) -> Option<Self::Output>;
}
Expand description

Performs integral remainder, returning None on division by zero or if overflow occurred.

Required Associated Types§

Required Methods§

Source

fn checked_rem(self, v: Rhs) -> Option<Self::Output>

Finds the remainder of dividing two numbers, checking for 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);

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl CheckedRem for i8

Source§

impl CheckedRem for i16

Source§

impl CheckedRem for i32

Source§

impl CheckedRem for i64

Source§

impl CheckedRem for i128

Source§

impl CheckedRem for isize

Source§

impl CheckedRem for u8

Source§

impl CheckedRem for u16

Source§

impl CheckedRem for u32

Source§

impl CheckedRem for u64

Source§

impl CheckedRem for u128

Source§

impl CheckedRem for usize

Source§

impl CheckedRem<&i8> for &i8

Source§

impl CheckedRem<&i8> for i8

Source§

impl CheckedRem<&i16> for &i16

Source§

impl CheckedRem<&i16> for i16

Source§

impl CheckedRem<&i32> for &i32

Source§

impl CheckedRem<&i32> for i32

Source§

impl CheckedRem<&i64> for &i64

Source§

impl CheckedRem<&i64> for i64

Source§

impl CheckedRem<&i128> for &i128

Source§

impl CheckedRem<&i128> for i128

Source§

impl CheckedRem<&isize> for &isize

Source§

impl CheckedRem<&isize> for isize

Source§

impl CheckedRem<&u8> for &u8

Source§

impl CheckedRem<&u8> for u8

Source§

impl CheckedRem<&u16> for &u16

Source§

impl CheckedRem<&u16> for u16

Source§

impl CheckedRem<&u32> for &u32

Source§

impl CheckedRem<&u32> for u32

Source§

impl CheckedRem<&u64> for &u64

Source§

impl CheckedRem<&u64> for u64

Source§

impl CheckedRem<&u128> for &u128

Source§

impl CheckedRem<&u128> for u128

Source§

impl CheckedRem<&usize> for &usize

Source§

impl CheckedRem<&usize> for usize

Source§

impl CheckedRem<i8> for &i8

Source§

impl CheckedRem<i16> for &i16

Source§

impl CheckedRem<i32> for &i32

Source§

impl CheckedRem<i64> for &i64

Source§

impl CheckedRem<i128> for &i128

Source§

impl CheckedRem<isize> for &isize

Source§

impl CheckedRem<u8> for &u8

Source§

impl CheckedRem<u16> for &u16

Source§

impl CheckedRem<u32> for &u32

Source§

impl CheckedRem<u64> for &u64

Source§

impl CheckedRem<u128> for &u128

Source§

impl CheckedRem<usize> for &usize

Implementors§