Struct std::num::Wrapping1.0.0[][src]

pub struct Wrapping<T>(pub T);

Provides intentionally-wrapped arithmetic on T.

Operations like + on u32 values is intended to never overflow, and in some debug configurations overflow is detected and results in a panic. While most arithmetic falls into this category, some code explicitly expects and relies upon modular arithmetic (e.g., hashing).

Wrapping arithmetic can be achieved either through methods like wrapping_add, or through the Wrapping<T> type, which says that all standard arithmetic operations on the underlying value are intended to have wrapping semantics.

Examples

use std::num::Wrapping;

let zero = Wrapping(0u32);
let one = Wrapping(1u32);

assert_eq!(std::u32::MAX, (zero - one).0);Run

Methods

impl Wrapping<usize>
[src]

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of ones in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_ones(), 1);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_zeros(), 7);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of leading zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(-1);

assert_eq!(n.leading_zeros(), 0);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of trailing zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-4);

assert_eq!(n.trailing_zeros(), 2);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the left by a specified amount, n, wrapping the truncated bits to the end of the resulting integer.

Please note this isn't the same operation as >>!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0x76543210FEDCBA99);

assert_eq!(n.rotate_left(32), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the right by a specified amount, n, wrapping the truncated bits to the beginning of the resulting integer.

Please note this isn't the same operation as <<!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0xFEDCBA987654322);

assert_eq!(n.rotate_right(4), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Reverses the byte order of the integer.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(0b0000000_01010101);
assert_eq!(n, Wrapping(85));

let m = n.swap_bytes();

assert_eq!(m, Wrapping(0b01010101_00000000));
assert_eq!(m, Wrapping(21760));Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from big endian to the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(Wrapping::<i64>::from_be(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_be(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from little endian to the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(Wrapping::<i64>::from_le(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_le(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to big endian from the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(n.to_be(), n);
} else {
    assert_eq!(n.to_be(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to little endian from the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(n.to_le(), n);
} else {
    assert_eq!(n.to_le(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Raises self to the power of exp, using exponentiation by squaring.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let x: Wrapping<i32> = Wrapping(2); // or any other integer type

assert_eq!(x.pow(4), Wrapping(16));Run

Results that are too large are wrapped:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

// 5 ^ 4 = 625, which is too big for a u8
let x: Wrapping<u8> = Wrapping(5);

assert_eq!(x.pow(4).0, 113);Run

impl Wrapping<u8>
[src]

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of ones in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_ones(), 1);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_zeros(), 7);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of leading zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(-1);

assert_eq!(n.leading_zeros(), 0);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of trailing zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-4);

assert_eq!(n.trailing_zeros(), 2);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the left by a specified amount, n, wrapping the truncated bits to the end of the resulting integer.

Please note this isn't the same operation as >>!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0x76543210FEDCBA99);

assert_eq!(n.rotate_left(32), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the right by a specified amount, n, wrapping the truncated bits to the beginning of the resulting integer.

Please note this isn't the same operation as <<!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0xFEDCBA987654322);

assert_eq!(n.rotate_right(4), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Reverses the byte order of the integer.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(0b0000000_01010101);
assert_eq!(n, Wrapping(85));

let m = n.swap_bytes();

assert_eq!(m, Wrapping(0b01010101_00000000));
assert_eq!(m, Wrapping(21760));Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from big endian to the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(Wrapping::<i64>::from_be(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_be(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from little endian to the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(Wrapping::<i64>::from_le(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_le(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to big endian from the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(n.to_be(), n);
} else {
    assert_eq!(n.to_be(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to little endian from the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(n.to_le(), n);
} else {
    assert_eq!(n.to_le(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Raises self to the power of exp, using exponentiation by squaring.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let x: Wrapping<i32> = Wrapping(2); // or any other integer type

assert_eq!(x.pow(4), Wrapping(16));Run

Results that are too large are wrapped:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

// 5 ^ 4 = 625, which is too big for a u8
let x: Wrapping<u8> = Wrapping(5);

assert_eq!(x.pow(4).0, 113);Run

impl Wrapping<u16>
[src]

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of ones in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_ones(), 1);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_zeros(), 7);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of leading zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(-1);

assert_eq!(n.leading_zeros(), 0);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of trailing zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-4);

assert_eq!(n.trailing_zeros(), 2);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the left by a specified amount, n, wrapping the truncated bits to the end of the resulting integer.

Please note this isn't the same operation as >>!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0x76543210FEDCBA99);

assert_eq!(n.rotate_left(32), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the right by a specified amount, n, wrapping the truncated bits to the beginning of the resulting integer.

Please note this isn't the same operation as <<!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0xFEDCBA987654322);

assert_eq!(n.rotate_right(4), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Reverses the byte order of the integer.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(0b0000000_01010101);
assert_eq!(n, Wrapping(85));

let m = n.swap_bytes();

assert_eq!(m, Wrapping(0b01010101_00000000));
assert_eq!(m, Wrapping(21760));Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from big endian to the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(Wrapping::<i64>::from_be(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_be(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from little endian to the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(Wrapping::<i64>::from_le(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_le(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to big endian from the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(n.to_be(), n);
} else {
    assert_eq!(n.to_be(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to little endian from the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(n.to_le(), n);
} else {
    assert_eq!(n.to_le(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Raises self to the power of exp, using exponentiation by squaring.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let x: Wrapping<i32> = Wrapping(2); // or any other integer type

assert_eq!(x.pow(4), Wrapping(16));Run

Results that are too large are wrapped:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

// 5 ^ 4 = 625, which is too big for a u8
let x: Wrapping<u8> = Wrapping(5);

assert_eq!(x.pow(4).0, 113);Run

impl Wrapping<u32>
[src]

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of ones in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_ones(), 1);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_zeros(), 7);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of leading zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(-1);

assert_eq!(n.leading_zeros(), 0);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of trailing zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-4);

assert_eq!(n.trailing_zeros(), 2);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the left by a specified amount, n, wrapping the truncated bits to the end of the resulting integer.

Please note this isn't the same operation as >>!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0x76543210FEDCBA99);

assert_eq!(n.rotate_left(32), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the right by a specified amount, n, wrapping the truncated bits to the beginning of the resulting integer.

Please note this isn't the same operation as <<!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0xFEDCBA987654322);

assert_eq!(n.rotate_right(4), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Reverses the byte order of the integer.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(0b0000000_01010101);
assert_eq!(n, Wrapping(85));

let m = n.swap_bytes();

assert_eq!(m, Wrapping(0b01010101_00000000));
assert_eq!(m, Wrapping(21760));Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from big endian to the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(Wrapping::<i64>::from_be(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_be(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from little endian to the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(Wrapping::<i64>::from_le(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_le(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to big endian from the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(n.to_be(), n);
} else {
    assert_eq!(n.to_be(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to little endian from the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(n.to_le(), n);
} else {
    assert_eq!(n.to_le(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Raises self to the power of exp, using exponentiation by squaring.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let x: Wrapping<i32> = Wrapping(2); // or any other integer type

assert_eq!(x.pow(4), Wrapping(16));Run

Results that are too large are wrapped:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

// 5 ^ 4 = 625, which is too big for a u8
let x: Wrapping<u8> = Wrapping(5);

assert_eq!(x.pow(4).0, 113);Run

impl Wrapping<u64>
[src]

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of ones in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_ones(), 1);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_zeros(), 7);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of leading zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(-1);

assert_eq!(n.leading_zeros(), 0);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of trailing zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-4);

assert_eq!(n.trailing_zeros(), 2);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the left by a specified amount, n, wrapping the truncated bits to the end of the resulting integer.

Please note this isn't the same operation as >>!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0x76543210FEDCBA99);

assert_eq!(n.rotate_left(32), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the right by a specified amount, n, wrapping the truncated bits to the beginning of the resulting integer.

Please note this isn't the same operation as <<!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0xFEDCBA987654322);

assert_eq!(n.rotate_right(4), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Reverses the byte order of the integer.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(0b0000000_01010101);
assert_eq!(n, Wrapping(85));

let m = n.swap_bytes();

assert_eq!(m, Wrapping(0b01010101_00000000));
assert_eq!(m, Wrapping(21760));Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from big endian to the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(Wrapping::<i64>::from_be(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_be(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from little endian to the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(Wrapping::<i64>::from_le(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_le(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to big endian from the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(n.to_be(), n);
} else {
    assert_eq!(n.to_be(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to little endian from the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(n.to_le(), n);
} else {
    assert_eq!(n.to_le(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Raises self to the power of exp, using exponentiation by squaring.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let x: Wrapping<i32> = Wrapping(2); // or any other integer type

assert_eq!(x.pow(4), Wrapping(16));Run

Results that are too large are wrapped:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

// 5 ^ 4 = 625, which is too big for a u8
let x: Wrapping<u8> = Wrapping(5);

assert_eq!(x.pow(4).0, 113);Run

impl Wrapping<u128>
[src]

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of ones in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_ones(), 1);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_zeros(), 7);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of leading zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(-1);

assert_eq!(n.leading_zeros(), 0);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of trailing zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-4);

assert_eq!(n.trailing_zeros(), 2);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the left by a specified amount, n, wrapping the truncated bits to the end of the resulting integer.

Please note this isn't the same operation as >>!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0x76543210FEDCBA99);

assert_eq!(n.rotate_left(32), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the right by a specified amount, n, wrapping the truncated bits to the beginning of the resulting integer.

Please note this isn't the same operation as <<!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0xFEDCBA987654322);

assert_eq!(n.rotate_right(4), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Reverses the byte order of the integer.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(0b0000000_01010101);
assert_eq!(n, Wrapping(85));

let m = n.swap_bytes();

assert_eq!(m, Wrapping(0b01010101_00000000));
assert_eq!(m, Wrapping(21760));Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from big endian to the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(Wrapping::<i64>::from_be(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_be(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from little endian to the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(Wrapping::<i64>::from_le(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_le(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to big endian from the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(n.to_be(), n);
} else {
    assert_eq!(n.to_be(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to little endian from the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(n.to_le(), n);
} else {
    assert_eq!(n.to_le(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Raises self to the power of exp, using exponentiation by squaring.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let x: Wrapping<i32> = Wrapping(2); // or any other integer type

assert_eq!(x.pow(4), Wrapping(16));Run

Results that are too large are wrapped:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

// 5 ^ 4 = 625, which is too big for a u8
let x: Wrapping<u8> = Wrapping(5);

assert_eq!(x.pow(4).0, 113);Run

impl Wrapping<isize>
[src]

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of ones in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_ones(), 1);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_zeros(), 7);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of leading zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(-1);

assert_eq!(n.leading_zeros(), 0);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of trailing zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-4);

assert_eq!(n.trailing_zeros(), 2);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the left by a specified amount, n, wrapping the truncated bits to the end of the resulting integer.

Please note this isn't the same operation as >>!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0x76543210FEDCBA99);

assert_eq!(n.rotate_left(32), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the right by a specified amount, n, wrapping the truncated bits to the beginning of the resulting integer.

Please note this isn't the same operation as <<!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0xFEDCBA987654322);

assert_eq!(n.rotate_right(4), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Reverses the byte order of the integer.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(0b0000000_01010101);
assert_eq!(n, Wrapping(85));

let m = n.swap_bytes();

assert_eq!(m, Wrapping(0b01010101_00000000));
assert_eq!(m, Wrapping(21760));Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from big endian to the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(Wrapping::<i64>::from_be(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_be(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from little endian to the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(Wrapping::<i64>::from_le(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_le(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to big endian from the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(n.to_be(), n);
} else {
    assert_eq!(n.to_be(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to little endian from the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(n.to_le(), n);
} else {
    assert_eq!(n.to_le(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Raises self to the power of exp, using exponentiation by squaring.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let x: Wrapping<i32> = Wrapping(2); // or any other integer type

assert_eq!(x.pow(4), Wrapping(16));Run

Results that are too large are wrapped:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

// 5 ^ 4 = 625, which is too big for a u8
let x: Wrapping<u8> = Wrapping(5);

assert_eq!(x.pow(4).0, 113);Run

impl Wrapping<i8>
[src]

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of ones in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_ones(), 1);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_zeros(), 7);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of leading zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(-1);

assert_eq!(n.leading_zeros(), 0);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of trailing zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-4);

assert_eq!(n.trailing_zeros(), 2);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the left by a specified amount, n, wrapping the truncated bits to the end of the resulting integer.

Please note this isn't the same operation as >>!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0x76543210FEDCBA99);

assert_eq!(n.rotate_left(32), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the right by a specified amount, n, wrapping the truncated bits to the beginning of the resulting integer.

Please note this isn't the same operation as <<!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0xFEDCBA987654322);

assert_eq!(n.rotate_right(4), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Reverses the byte order of the integer.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(0b0000000_01010101);
assert_eq!(n, Wrapping(85));

let m = n.swap_bytes();

assert_eq!(m, Wrapping(0b01010101_00000000));
assert_eq!(m, Wrapping(21760));Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from big endian to the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(Wrapping::<i64>::from_be(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_be(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from little endian to the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(Wrapping::<i64>::from_le(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_le(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to big endian from the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(n.to_be(), n);
} else {
    assert_eq!(n.to_be(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to little endian from the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(n.to_le(), n);
} else {
    assert_eq!(n.to_le(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Raises self to the power of exp, using exponentiation by squaring.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let x: Wrapping<i32> = Wrapping(2); // or any other integer type

assert_eq!(x.pow(4), Wrapping(16));Run

Results that are too large are wrapped:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

// 5 ^ 4 = 625, which is too big for a u8
let x: Wrapping<u8> = Wrapping(5);

assert_eq!(x.pow(4).0, 113);Run

impl Wrapping<i16>
[src]

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of ones in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_ones(), 1);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_zeros(), 7);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of leading zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(-1);

assert_eq!(n.leading_zeros(), 0);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of trailing zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-4);

assert_eq!(n.trailing_zeros(), 2);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the left by a specified amount, n, wrapping the truncated bits to the end of the resulting integer.

Please note this isn't the same operation as >>!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0x76543210FEDCBA99);

assert_eq!(n.rotate_left(32), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the right by a specified amount, n, wrapping the truncated bits to the beginning of the resulting integer.

Please note this isn't the same operation as <<!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0xFEDCBA987654322);

assert_eq!(n.rotate_right(4), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Reverses the byte order of the integer.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(0b0000000_01010101);
assert_eq!(n, Wrapping(85));

let m = n.swap_bytes();

assert_eq!(m, Wrapping(0b01010101_00000000));
assert_eq!(m, Wrapping(21760));Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from big endian to the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(Wrapping::<i64>::from_be(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_be(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from little endian to the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(Wrapping::<i64>::from_le(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_le(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to big endian from the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(n.to_be(), n);
} else {
    assert_eq!(n.to_be(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to little endian from the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(n.to_le(), n);
} else {
    assert_eq!(n.to_le(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Raises self to the power of exp, using exponentiation by squaring.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let x: Wrapping<i32> = Wrapping(2); // or any other integer type

assert_eq!(x.pow(4), Wrapping(16));Run

Results that are too large are wrapped:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

// 5 ^ 4 = 625, which is too big for a u8
let x: Wrapping<u8> = Wrapping(5);

assert_eq!(x.pow(4).0, 113);Run

impl Wrapping<i32>
[src]

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of ones in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_ones(), 1);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_zeros(), 7);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of leading zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(-1);

assert_eq!(n.leading_zeros(), 0);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of trailing zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-4);

assert_eq!(n.trailing_zeros(), 2);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the left by a specified amount, n, wrapping the truncated bits to the end of the resulting integer.

Please note this isn't the same operation as >>!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0x76543210FEDCBA99);

assert_eq!(n.rotate_left(32), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the right by a specified amount, n, wrapping the truncated bits to the beginning of the resulting integer.

Please note this isn't the same operation as <<!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0xFEDCBA987654322);

assert_eq!(n.rotate_right(4), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Reverses the byte order of the integer.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(0b0000000_01010101);
assert_eq!(n, Wrapping(85));

let m = n.swap_bytes();

assert_eq!(m, Wrapping(0b01010101_00000000));
assert_eq!(m, Wrapping(21760));Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from big endian to the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(Wrapping::<i64>::from_be(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_be(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from little endian to the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(Wrapping::<i64>::from_le(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_le(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to big endian from the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(n.to_be(), n);
} else {
    assert_eq!(n.to_be(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to little endian from the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(n.to_le(), n);
} else {
    assert_eq!(n.to_le(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Raises self to the power of exp, using exponentiation by squaring.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let x: Wrapping<i32> = Wrapping(2); // or any other integer type

assert_eq!(x.pow(4), Wrapping(16));Run

Results that are too large are wrapped:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

// 5 ^ 4 = 625, which is too big for a u8
let x: Wrapping<u8> = Wrapping(5);

assert_eq!(x.pow(4).0, 113);Run

impl Wrapping<i64>
[src]

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of ones in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_ones(), 1);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_zeros(), 7);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of leading zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(-1);

assert_eq!(n.leading_zeros(), 0);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of trailing zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-4);

assert_eq!(n.trailing_zeros(), 2);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the left by a specified amount, n, wrapping the truncated bits to the end of the resulting integer.

Please note this isn't the same operation as >>!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0x76543210FEDCBA99);

assert_eq!(n.rotate_left(32), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the right by a specified amount, n, wrapping the truncated bits to the beginning of the resulting integer.

Please note this isn't the same operation as <<!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0xFEDCBA987654322);

assert_eq!(n.rotate_right(4), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Reverses the byte order of the integer.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(0b0000000_01010101);
assert_eq!(n, Wrapping(85));

let m = n.swap_bytes();

assert_eq!(m, Wrapping(0b01010101_00000000));
assert_eq!(m, Wrapping(21760));Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from big endian to the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(Wrapping::<i64>::from_be(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_be(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from little endian to the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(Wrapping::<i64>::from_le(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_le(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to big endian from the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(n.to_be(), n);
} else {
    assert_eq!(n.to_be(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to little endian from the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(n.to_le(), n);
} else {
    assert_eq!(n.to_le(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Raises self to the power of exp, using exponentiation by squaring.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let x: Wrapping<i32> = Wrapping(2); // or any other integer type

assert_eq!(x.pow(4), Wrapping(16));Run

Results that are too large are wrapped:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

// 5 ^ 4 = 625, which is too big for a u8
let x: Wrapping<u8> = Wrapping(5);

assert_eq!(x.pow(4).0, 113);Run

impl Wrapping<i128>
[src]

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of ones in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_ones(), 1);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-0b1000_0000);

assert_eq!(n.count_zeros(), 7);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of leading zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(-1);

assert_eq!(n.leading_zeros(), 0);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Returns the number of trailing zeros in the binary representation of self.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i8> = Wrapping(-4);

assert_eq!(n.trailing_zeros(), 2);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the left by a specified amount, n, wrapping the truncated bits to the end of the resulting integer.

Please note this isn't the same operation as >>!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0x76543210FEDCBA99);

assert_eq!(n.rotate_left(32), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Shifts the bits to the right by a specified amount, n, wrapping the truncated bits to the beginning of the resulting integer.

Please note this isn't the same operation as <<!

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);
let m: Wrapping<i64> = Wrapping(-0xFEDCBA987654322);

assert_eq!(n.rotate_right(4), m);Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Reverses the byte order of the integer.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i16> = Wrapping(0b0000000_01010101);
assert_eq!(n, Wrapping(85));

let m = n.swap_bytes();

assert_eq!(m, Wrapping(0b01010101_00000000));
assert_eq!(m, Wrapping(21760));Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from big endian to the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(Wrapping::<i64>::from_be(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_be(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts an integer from little endian to the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(Wrapping::<i64>::from_le(n), n);
} else {
    assert_eq!(Wrapping::<i64>::from_le(n), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to big endian from the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "big") {
    assert_eq!(n.to_be(), n);
} else {
    assert_eq!(n.to_be(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Converts self to little endian from the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let n: Wrapping<i64> = Wrapping(0x0123456789ABCDEF);

if cfg!(target_endian = "little") {
    assert_eq!(n.to_le(), n);
} else {
    assert_eq!(n.to_le(), n.swap_bytes());
}Run

🔬 This is a nightly-only experimental API. (wrapping_int_impl #32463)

Raises self to the power of exp, using exponentiation by squaring.

Examples

Basic usage:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

let x: Wrapping<i32> = Wrapping(2); // or any other integer type

assert_eq!(x.pow(4), Wrapping(16));Run

Results that are too large are wrapped:

#![feature(wrapping_int_impl)]
use std::num::Wrapping;

// 5 ^ 4 = 625, which is too big for a u8
let x: Wrapping<u8> = Wrapping(5);

assert_eq!(x.pow(4).0, 113);Run

Trait Implementations

impl BitXorAssign<Wrapping<i8>> for Wrapping<i8>
1.8.0
[src]

Performs the ^= operation.

impl BitXorAssign<Wrapping<i32>> for Wrapping<i32>
1.8.0
[src]

Performs the ^= operation.

impl BitXorAssign<Wrapping<isize>> for Wrapping<isize>
1.8.0
[src]

Performs the ^= operation.

impl<'a> BitXorAssign<&'a Wrapping<u16>> for Wrapping<u16>
1.22.0
[src]

Performs the ^= operation.

impl BitXorAssign<Wrapping<u64>> for Wrapping<u64>
1.8.0
[src]

Performs the ^= operation.

impl BitXorAssign<Wrapping<u32>> for Wrapping<u32>
1.8.0
[src]

Performs the ^= operation.

impl<'a> BitXorAssign<&'a Wrapping<u128>> for Wrapping<u128>
1.22.0
[src]

Performs the ^= operation.

impl<'a> BitXorAssign<&'a Wrapping<i128>> for Wrapping<i128>
1.22.0
[src]

Performs the ^= operation.

impl<'a> BitXorAssign<&'a Wrapping<isize>> for Wrapping<isize>
1.22.0
[src]

Performs the ^= operation.

impl<'a> BitXorAssign<&'a Wrapping<usize>> for Wrapping<usize>
1.22.0
[src]

Performs the ^= operation.

impl<'a> BitXorAssign<&'a Wrapping<i32>> for Wrapping<i32>
1.22.0
[src]

Performs the ^= operation.

impl BitXorAssign<Wrapping<u16>> for Wrapping<u16>
1.8.0
[src]

Performs the ^= operation.

impl BitXorAssign<Wrapping<i64>> for Wrapping<i64>
1.8.0
[src]

Performs the ^= operation.

impl<'a> BitXorAssign<&'a Wrapping<i8>> for Wrapping<i8>
1.22.0
[src]

Performs the ^= operation.

impl<'a> BitXorAssign<&'a Wrapping<u32>> for Wrapping<u32>
1.22.0
[src]

Performs the ^= operation.

impl<'a> BitXorAssign<&'a Wrapping<i16>> for Wrapping<i16>
1.22.0
[src]

Performs the ^= operation.

impl BitXorAssign<Wrapping<i128>> for Wrapping<i128>
1.8.0
[src]

Performs the ^= operation.

impl BitXorAssign<Wrapping<u128>> for Wrapping<u128>
1.8.0
[src]

Performs the ^= operation.

impl<'a> BitXorAssign<&'a Wrapping<i64>> for Wrapping<i64>
1.22.0
[src]

Performs the ^= operation.

impl BitXorAssign<Wrapping<i16>> for Wrapping<i16>
1.8.0
[src]

Performs the ^= operation.

impl BitXorAssign<Wrapping<u8>> for Wrapping<u8>
1.8.0
[src]

Performs the ^= operation.

impl BitXorAssign<Wrapping<usize>> for Wrapping<usize>
1.8.0
[src]

Performs the ^= operation.

impl<'a> BitXorAssign<&'a Wrapping<u8>> for Wrapping<u8>
1.22.0
[src]

Performs the ^= operation.

impl<'a> BitXorAssign<&'a Wrapping<u64>> for Wrapping<u64>
1.22.0
[src]

Performs the ^= operation.

impl BitAndAssign<Wrapping<i32>> for Wrapping<i32>
1.8.0
[src]

Performs the &= operation.

impl BitAndAssign<Wrapping<usize>> for Wrapping<usize>
1.8.0
[src]

Performs the &= operation.

impl<'a> BitAndAssign<&'a Wrapping<i128>> for Wrapping<i128>
1.22.0
[src]

Performs the &= operation.

impl<'a> BitAndAssign<&'a Wrapping<u128>> for Wrapping<u128>
1.22.0
[src]

Performs the &= operation.

impl<'a> BitAndAssign<&'a Wrapping<i8>> for Wrapping<i8>
1.22.0
[src]

Performs the &= operation.

impl BitAndAssign<Wrapping<u128>> for Wrapping<u128>
1.8.0
[src]

Performs the &= operation.

impl BitAndAssign<Wrapping<u16>> for Wrapping<u16>
1.8.0
[src]

Performs the &= operation.

impl<'a> BitAndAssign<&'a Wrapping<u64>> for Wrapping<u64>
1.22.0
[src]

Performs the &= operation.

impl<'a> BitAndAssign<&'a Wrapping<u16>> for Wrapping<u16>
1.22.0
[src]

Performs the &= operation.

impl<'a> BitAndAssign<&'a Wrapping<i16>> for Wrapping<i16>
1.22.0
[src]

Performs the &= operation.

impl BitAndAssign<Wrapping<u8>> for Wrapping<u8>
1.8.0
[src]

Performs the &= operation.

impl<'a> BitAndAssign<&'a Wrapping<usize>> for Wrapping<usize>
1.22.0
[src]

Performs the &= operation.

impl<'a> BitAndAssign<&'a Wrapping<i32>> for Wrapping<i32>
1.22.0
[src]

Performs the &= operation.

impl BitAndAssign<Wrapping<i16>> for Wrapping<i16>
1.8.0
[src]

Performs the &= operation.

impl<'a> BitAndAssign<&'a Wrapping<isize>> for Wrapping<isize>
1.22.0
[src]

Performs the &= operation.

impl<'a> BitAndAssign<&'a Wrapping<u32>> for Wrapping<u32>
1.22.0
[src]

Performs the &= operation.

impl<'a> BitAndAssign<&'a Wrapping<i64>> for Wrapping<i64>
1.22.0
[src]

Performs the &= operation.

impl<'a> BitAndAssign<&'a Wrapping<u8>> for Wrapping<u8>
1.22.0
[src]

Performs the &= operation.

impl BitAndAssign<Wrapping<u64>> for Wrapping<u64>
1.8.0
[src]

Performs the &= operation.

impl BitAndAssign<Wrapping<isize>> for Wrapping<isize>
1.8.0
[src]

Performs the &= operation.

impl BitAndAssign<Wrapping<i64>> for Wrapping<i64>
1.8.0
[src]

Performs the &= operation.

impl BitAndAssign<Wrapping<i128>> for Wrapping<i128>
1.8.0
[src]

Performs the &= operation.

impl BitAndAssign<Wrapping<u32>> for Wrapping<u32>
1.8.0
[src]

Performs the &= operation.

impl BitAndAssign<Wrapping<i8>> for Wrapping<i8>
1.8.0
[src]

Performs the &= operation.

impl<'a> Sum<&'a Wrapping<u16>> for Wrapping<u16>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl<'a> Sum<&'a Wrapping<i128>> for Wrapping<i128>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl Sum<Wrapping<i128>> for Wrapping<i128>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl Sum<Wrapping<u16>> for Wrapping<u16>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl<'a> Sum<&'a Wrapping<i64>> for Wrapping<i64>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl<'a> Sum<&'a Wrapping<i32>> for Wrapping<i32>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl<'a> Sum<&'a Wrapping<usize>> for Wrapping<usize>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl Sum<Wrapping<u128>> for Wrapping<u128>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl Sum<Wrapping<i16>> for Wrapping<i16>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl Sum<Wrapping<usize>> for Wrapping<usize>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl Sum<Wrapping<i32>> for Wrapping<i32>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl<'a> Sum<&'a Wrapping<u8>> for Wrapping<u8>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl<'a> Sum<&'a Wrapping<isize>> for Wrapping<isize>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl Sum<Wrapping<u8>> for Wrapping<u8>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl<'a> Sum<&'a Wrapping<u64>> for Wrapping<u64>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl Sum<Wrapping<isize>> for Wrapping<isize>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl Sum<Wrapping<u32>> for Wrapping<u32>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl<'a> Sum<&'a Wrapping<u128>> for Wrapping<u128>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl<'a> Sum<&'a Wrapping<i16>> for Wrapping<i16>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl<'a> Sum<&'a Wrapping<i8>> for Wrapping<i8>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl<'a> Sum<&'a Wrapping<u32>> for Wrapping<u32>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl Sum<Wrapping<u64>> for Wrapping<u64>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl Sum<Wrapping<i8>> for Wrapping<i8>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl Sum<Wrapping<i64>> for Wrapping<i64>
1.14.0
[src]

Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more

impl<'a> BitOr<&'a Wrapping<i8>> for Wrapping<i8>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<&'a Wrapping<u64>> for Wrapping<u64>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a, 'b> BitOr<&'a Wrapping<u128>> for &'b Wrapping<u128>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<Wrapping<i128>> for &'a Wrapping<i128>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl BitOr<Wrapping<u128>> for Wrapping<u128>
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a, 'b> BitOr<&'a Wrapping<i8>> for &'b Wrapping<i8>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl BitOr<Wrapping<i16>> for Wrapping<i16>
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl BitOr<Wrapping<u64>> for Wrapping<u64>
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<Wrapping<u64>> for &'a Wrapping<u64>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<&'a Wrapping<isize>> for Wrapping<isize>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<Wrapping<u32>> for &'a Wrapping<u32>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<&'a Wrapping<u128>> for Wrapping<u128>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl BitOr<Wrapping<isize>> for Wrapping<isize>
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a, 'b> BitOr<&'a Wrapping<u8>> for &'b Wrapping<u8>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl BitOr<Wrapping<i32>> for Wrapping<i32>
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a, 'b> BitOr<&'a Wrapping<u16>> for &'b Wrapping<u16>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a, 'b> BitOr<&'a Wrapping<u32>> for &'b Wrapping<u32>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<&'a Wrapping<u32>> for Wrapping<u32>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<Wrapping<isize>> for &'a Wrapping<isize>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<Wrapping<u128>> for &'a Wrapping<u128>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a, 'b> BitOr<&'a Wrapping<isize>> for &'b Wrapping<isize>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<Wrapping<u8>> for &'a Wrapping<u8>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a, 'b> BitOr<&'a Wrapping<i32>> for &'b Wrapping<i32>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<&'a Wrapping<u16>> for Wrapping<u16>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a, 'b> BitOr<&'a Wrapping<i64>> for &'b Wrapping<i64>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a, 'b> BitOr<&'a Wrapping<i128>> for &'b Wrapping<i128>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl BitOr<Wrapping<usize>> for Wrapping<usize>
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl BitOr<Wrapping<i128>> for Wrapping<i128>
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a, 'b> BitOr<&'a Wrapping<u64>> for &'b Wrapping<u64>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<Wrapping<i16>> for &'a Wrapping<i16>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<&'a Wrapping<i64>> for Wrapping<i64>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<Wrapping<u16>> for &'a Wrapping<u16>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl BitOr<Wrapping<i8>> for Wrapping<i8>
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<&'a Wrapping<i16>> for Wrapping<i16>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<Wrapping<usize>> for &'a Wrapping<usize>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<Wrapping<i64>> for &'a Wrapping<i64>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl BitOr<Wrapping<u32>> for Wrapping<u32>
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<Wrapping<i32>> for &'a Wrapping<i32>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl BitOr<Wrapping<u16>> for Wrapping<u16>
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<Wrapping<i8>> for &'a Wrapping<i8>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<&'a Wrapping<i128>> for Wrapping<i128>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<&'a Wrapping<i32>> for Wrapping<i32>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a, 'b> BitOr<&'a Wrapping<usize>> for &'b Wrapping<usize>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<&'a Wrapping<usize>> for Wrapping<usize>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a, 'b> BitOr<&'a Wrapping<i16>> for &'b Wrapping<i16>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl BitOr<Wrapping<u8>> for Wrapping<u8>
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> BitOr<&'a Wrapping<u8>> for Wrapping<u8>
1.14.0
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl BitOr<Wrapping<i64>> for Wrapping<i64>
[src]

The resulting type after applying the | operator.

Performs the | operation.

impl<'a> RemAssign<&'a Wrapping<u64>> for Wrapping<u64>
1.22.0
[src]

Performs the %= operation.

impl RemAssign<Wrapping<u64>> for Wrapping<u64>
1.8.0
[src]

Performs the %= operation.

impl RemAssign<Wrapping<i128>> for Wrapping<i128>
1.8.0
[src]

Performs the %= operation.

impl<'a> RemAssign<&'a Wrapping<u8>> for Wrapping<u8>
1.22.0
[src]

Performs the %= operation.

impl RemAssign<Wrapping<usize>> for Wrapping<usize>
1.8.0
[src]

Performs the %= operation.

impl<'a> RemAssign<&'a Wrapping<i128>> for Wrapping<i128>
1.22.0
[src]

Performs the %= operation.

impl RemAssign<Wrapping<u32>> for Wrapping<u32>
1.8.0
[src]

Performs the %= operation.

impl<'a> RemAssign<&'a Wrapping<i16>> for Wrapping<i16>
1.22.0
[src]

Performs the %= operation.

impl<'a> RemAssign<&'a Wrapping<u128>> for Wrapping<u128>
1.22.0
[src]

Performs the %= operation.

impl RemAssign<Wrapping<i64>> for Wrapping<i64>
1.8.0
[src]

Performs the %= operation.

impl RemAssign<Wrapping<i32>> for Wrapping<i32>
1.8.0
[src]

Performs the %= operation.

impl<'a> RemAssign<&'a Wrapping<u32>> for Wrapping<u32>
1.22.0
[src]

Performs the %= operation.

impl<'a> RemAssign<&'a Wrapping<usize>> for Wrapping<usize>
1.22.0
[src]

Performs the %= operation.

impl<'a> RemAssign<&'a Wrapping<isize>> for Wrapping<isize>
1.22.0
[src]

Performs the %= operation.

impl<'a> RemAssign<&'a Wrapping<i64>> for Wrapping<i64>
1.22.0
[src]

Performs the %= operation.

impl<'a> RemAssign<&'a Wrapping<i8>> for Wrapping<i8>
1.22.0
[src]

Performs the %= operation.

impl<'a> RemAssign<&'a Wrapping<i32>> for Wrapping<i32>
1.22.0
[src]

Performs the %= operation.

impl<'a> RemAssign<&'a Wrapping<u16>> for Wrapping<u16>
1.22.0
[src]

Performs the %= operation.

impl RemAssign<Wrapping<i8>> for Wrapping<i8>
1.8.0
[src]

Performs the %= operation.

impl RemAssign<Wrapping<u128>> for Wrapping<u128>
1.8.0
[src]

Performs the %= operation.

impl RemAssign<Wrapping<i16>> for Wrapping<i16>
1.8.0
[src]

Performs the %= operation.

impl RemAssign<Wrapping<u16>> for Wrapping<u16>
1.8.0
[src]

Performs the %= operation.

impl RemAssign<Wrapping<isize>> for Wrapping<isize>
1.8.0
[src]

Performs the %= operation.

impl RemAssign<Wrapping<u8>> for Wrapping<u8>
1.8.0
[src]

Performs the %= operation.

impl<'a> MulAssign<&'a Wrapping<i64>> for Wrapping<i64>
1.22.0
[src]

Performs the *= operation.

impl<'a> MulAssign<&'a Wrapping<u128>> for Wrapping<u128>
1.22.0
[src]

Performs the *= operation.

impl<'a> MulAssign<&'a Wrapping<u64>> for Wrapping<u64>
1.22.0
[src]

Performs the *= operation.

impl MulAssign<Wrapping<isize>> for Wrapping<isize>
1.8.0
[src]

Performs the *= operation.

impl MulAssign<Wrapping<i128>> for Wrapping<i128>
1.8.0
[src]

Performs the *= operation.

impl MulAssign<Wrapping<i64>> for Wrapping<i64>
1.8.0
[src]

Performs the *= operation.

impl MulAssign<Wrapping<u8>> for Wrapping<u8>
1.8.0
[src]

Performs the *= operation.

impl MulAssign<Wrapping<i32>> for Wrapping<i32>
1.8.0
[src]

Performs the *= operation.

impl MulAssign<Wrapping<u64>> for Wrapping<u64>
1.8.0
[src]

Performs the *= operation.

impl MulAssign<Wrapping<usize>> for Wrapping<usize>
1.8.0
[src]

Performs the *= operation.

impl<'a> MulAssign<&'a Wrapping<i128>> for Wrapping<i128>
1.22.0
[src]

Performs the *= operation.

impl<'a> MulAssign<&'a Wrapping<u32>> for Wrapping<u32>
1.22.0
[src]

Performs the *= operation.

impl MulAssign<Wrapping<i16>> for Wrapping<i16>
1.8.0
[src]

Performs the *= operation.

impl<'a> MulAssign<&'a Wrapping<i16>> for Wrapping<i16>
1.22.0
[src]

Performs the *= operation.

impl<'a> MulAssign<&'a Wrapping<i8>> for Wrapping<i8>
1.22.0
[src]

Performs the *= operation.

impl<'a> MulAssign<&'a Wrapping<u16>> for Wrapping<u16>
1.22.0
[src]

Performs the *= operation.

impl<'a> MulAssign<&'a Wrapping<isize>> for Wrapping<isize>
1.22.0
[src]

Performs the *= operation.

impl MulAssign<Wrapping<u128>> for Wrapping<u128>
1.8.0
[src]

Performs the *= operation.

impl<'a> MulAssign<&'a Wrapping<i32>> for Wrapping<i32>
1.22.0
[src]

Performs the *= operation.

impl<'a> MulAssign<&'a Wrapping<usize>> for Wrapping<usize>
1.22.0
[src]

Performs the *= operation.

impl MulAssign<Wrapping<u16>> for Wrapping<u16>
1.8.0
[src]

Performs the *= operation.

impl MulAssign<Wrapping<u32>> for Wrapping<u32>
1.8.0
[src]

Performs the *= operation.

impl MulAssign<Wrapping<i8>> for Wrapping<i8>
1.8.0
[src]

Performs the *= operation.

impl<'a> MulAssign<&'a Wrapping<u8>> for Wrapping<u8>
1.22.0
[src]

Performs the *= operation.

impl<'a> AddAssign<&'a Wrapping<i128>> for Wrapping<i128>
1.22.0
[src]

Performs the += operation.

impl<'a> AddAssign<&'a Wrapping<u8>> for Wrapping<u8>
1.22.0
[src]

Performs the += operation.

impl AddAssign<Wrapping<i128>> for Wrapping<i128>
1.8.0
[src]

Performs the += operation.

impl<'a> AddAssign<&'a Wrapping<i16>> for Wrapping<i16>
1.22.0
[src]

Performs the += operation.

impl<'a> AddAssign<&'a Wrapping<u64>> for Wrapping<u64>
1.22.0
[src]

Performs the += operation.

impl AddAssign<Wrapping<i32>> for Wrapping<i32>
1.8.0
[src]

Performs the += operation.

impl AddAssign<Wrapping<u8>> for Wrapping<u8>
1.8.0
[src]

Performs the += operation.

impl<'a> AddAssign<&'a Wrapping<usize>> for Wrapping<usize>
1.22.0
[src]

Performs the += operation.

impl AddAssign<Wrapping<isize>> for Wrapping<isize>
1.8.0
[src]

Performs the += operation.

impl AddAssign<Wrapping<u128>> for Wrapping<u128>
1.8.0
[src]

Performs the += operation.

impl AddAssign<Wrapping<i16>> for Wrapping<i16>
1.8.0
[src]

Performs the += operation.

impl<'a> AddAssign<&'a Wrapping<i64>> for Wrapping<i64>
1.22.0
[src]

Performs the += operation.

impl<'a> AddAssign<&'a Wrapping<u32>> for Wrapping<u32>
1.22.0
[src]

Performs the += operation.

impl<'a> AddAssign<&'a Wrapping<i32>> for Wrapping<i32>
1.22.0
[src]

Performs the += operation.

impl AddAssign<Wrapping<u16>> for Wrapping<u16>
1.8.0
[src]

Performs the += operation.

impl AddAssign<Wrapping<i64>> for Wrapping<i64>
1.8.0
[src]

Performs the += operation.

impl<'a> AddAssign<&'a Wrapping<isize>> for Wrapping<isize>
1.22.0
[src]

Performs the += operation.

impl AddAssign<Wrapping<u32>> for Wrapping<u32>
1.8.0
[src]

Performs the += operation.

impl<'a> AddAssign<&'a Wrapping<u128>> for Wrapping<u128>
1.22.0
[src]

Performs the += operation.

impl AddAssign<Wrapping<i8>> for Wrapping<i8>
1.8.0
[src]

Performs the += operation.

impl<'a> AddAssign<&'a Wrapping<i8>> for Wrapping<i8>
1.22.0
[src]

Performs the += operation.

impl AddAssign<Wrapping<usize>> for Wrapping<usize>
1.8.0
[src]

Performs the += operation.

impl<'a> AddAssign<&'a Wrapping<u16>> for Wrapping<u16>
1.22.0
[src]

Performs the += operation.

impl AddAssign<Wrapping<u64>> for Wrapping<u64>
1.8.0
[src]

Performs the += operation.

impl<'a> Neg for &'a Wrapping<u32>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl<'a> Neg for &'a Wrapping<i32>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Neg for Wrapping<i8>
1.10.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Neg for Wrapping<u128>
1.10.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Neg for Wrapping<u32>
1.10.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Neg for Wrapping<usize>
1.10.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Neg for Wrapping<u16>
1.10.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl<'a> Neg for &'a Wrapping<isize>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl<'a> Neg for &'a Wrapping<i128>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Neg for Wrapping<isize>
1.10.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl<'a> Neg for &'a Wrapping<usize>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl<'a> Neg for &'a Wrapping<i16>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Neg for Wrapping<u8>
1.10.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Neg for Wrapping<i16>
1.10.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Neg for Wrapping<i32>
1.10.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl<'a> Neg for &'a Wrapping<u16>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl<'a> Neg for &'a Wrapping<u64>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl<'a> Neg for &'a Wrapping<u8>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Neg for Wrapping<u64>
1.10.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Neg for Wrapping<i64>
1.10.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl<'a> Neg for &'a Wrapping<u128>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Neg for Wrapping<i128>
1.10.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl<'a> Neg for &'a Wrapping<i64>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl<'a> Neg for &'a Wrapping<i8>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl<'a> ShrAssign<&'a usize> for Wrapping<u32>
1.22.0
[src]

Performs the >>= operation.

impl ShrAssign<usize> for Wrapping<i64>
1.8.0
[src]

Performs the >>= operation.

impl ShrAssign<usize> for Wrapping<i32>
1.8.0
[src]

Performs the >>= operation.

impl<'a> ShrAssign<&'a usize> for Wrapping<u8>
1.22.0
[src]

Performs the >>= operation.

impl ShrAssign<usize> for Wrapping<u16>
1.8.0
[src]

Performs the >>= operation.

impl<'a> ShrAssign<&'a usize> for Wrapping<i64>
1.22.0
[src]

Performs the >>= operation.

impl ShrAssign<usize> for Wrapping<u8>
1.8.0
[src]

Performs the >>= operation.

impl<'a> ShrAssign<&'a usize> for Wrapping<i32>
1.22.0
[src]

Performs the >>= operation.

impl<'a> ShrAssign<&'a usize> for Wrapping<usize>
1.22.0
[src]

Performs the >>= operation.

impl ShrAssign<usize> for Wrapping<u64>
1.8.0
[src]

Performs the >>= operation.

impl<'a> ShrAssign<&'a usize> for Wrapping<i16>
1.22.0
[src]

Performs the >>= operation.

impl ShrAssign<usize> for Wrapping<usize>
1.8.0
[src]

Performs the >>= operation.

impl<'a> ShrAssign<&'a usize> for Wrapping<isize>
1.22.0
[src]

Performs the >>= operation.

impl<'a> ShrAssign<&'a usize> for Wrapping<u64>
1.22.0
[src]

Performs the >>= operation.

impl ShrAssign<usize> for Wrapping<u32>
1.8.0
[src]

Performs the >>= operation.

impl ShrAssign<usize> for Wrapping<i16>
1.8.0
[src]

Performs the >>= operation.

impl ShrAssign<usize> for Wrapping<isize>
1.8.0
[src]

Performs the >>= operation.

impl<'a> ShrAssign<&'a usize> for Wrapping<i8>
1.22.0
[src]

Performs the >>= operation.

impl ShrAssign<usize> for Wrapping<i8>
1.8.0
[src]

Performs the >>= operation.

impl<'a> ShrAssign<&'a usize> for Wrapping<u16>
1.22.0
[src]

Performs the >>= operation.

impl<T> UpperHex for Wrapping<T> where
    T: UpperHex
1.11.0
[src]

Formats the value using the given formatter.

impl<T> Octal for Wrapping<T> where
    T: Octal
1.11.0
[src]

Formats the value using the given formatter.

impl<'a> Sub<&'a Wrapping<i128>> for Wrapping<i128>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<&'a Wrapping<usize>> for Wrapping<usize>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<Wrapping<u8>> for &'a Wrapping<u8>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a, 'b> Sub<&'a Wrapping<i16>> for &'b Wrapping<i16>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Sub<Wrapping<i8>> for Wrapping<i8>
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Sub<Wrapping<u64>> for Wrapping<u64>
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<&'a Wrapping<i32>> for Wrapping<i32>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Sub<Wrapping<i32>> for Wrapping<i32>
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<Wrapping<i16>> for &'a Wrapping<i16>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a, 'b> Sub<&'a Wrapping<i64>> for &'b Wrapping<i64>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<Wrapping<i8>> for &'a Wrapping<i8>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a, 'b> Sub<&'a Wrapping<i128>> for &'b Wrapping<i128>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<&'a Wrapping<u64>> for Wrapping<u64>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<&'a Wrapping<i16>> for Wrapping<i16>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<&'a Wrapping<i8>> for Wrapping<i8>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Sub<Wrapping<u32>> for Wrapping<u32>
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a, 'b> Sub<&'a Wrapping<u8>> for &'b Wrapping<u8>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<&'a Wrapping<u128>> for Wrapping<u128>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<Wrapping<i32>> for &'a Wrapping<i32>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a, 'b> Sub<&'a Wrapping<u64>> for &'b Wrapping<u64>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a, 'b> Sub<&'a Wrapping<u32>> for &'b Wrapping<u32>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a, 'b> Sub<&'a Wrapping<isize>> for &'b Wrapping<isize>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Sub<Wrapping<u8>> for Wrapping<u8>
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<Wrapping<i128>> for &'a Wrapping<i128>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<Wrapping<usize>> for &'a Wrapping<usize>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<Wrapping<u64>> for &'a Wrapping<u64>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a, 'b> Sub<&'a Wrapping<usize>> for &'b Wrapping<usize>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Sub<Wrapping<i64>> for Wrapping<i64>
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Sub<Wrapping<isize>> for Wrapping<isize>
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<&'a Wrapping<i64>> for Wrapping<i64>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<Wrapping<i64>> for &'a Wrapping<i64>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<&'a Wrapping<u8>> for Wrapping<u8>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a> Sub<Wrapping<u32>> for &'a Wrapping<u32>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a, 'b> Sub<&'a Wrapping<i32>> for &'b Wrapping<i32>
1.14.0
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Sub<Wrapping<u128>> for Wrapping<u128>
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Sub<Wrapping<i128>> for Wrapping<i128>
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<'a, 'b> Sub<&'a Wrapping<u128>> for &'b Wrapping<u128>
1.14.0
[src]

The resulting type after applying the - operator.