Skip to main content

Int

Struct Int 

Source
pub struct Int<const N: usize> { /* private fields */ }
Expand description

Signed (two’s-complement) fixed-width integer of N little-endian 64-bit limbs.

Implementations§

Source§

impl<const N: usize> Int<N>

Source

pub const LIMBS: usize = N

Number of 64-bit limbs.

Source

pub const BITS: u32

Bit width (LIMBS * 64). u32 so it composes directly with the leading_zeros / count_ones u32 surface and matches the historic named-type BITS constant.

Source

pub const ZERO: Self

Additive identity.

Source

pub const ONE: Self

Multiplicative identity.

Source

pub const MAX: Self

Most positive representable value (2^(BITS-1) - 1).

Source

pub const MIN: Self

Most negative representable value (-2^(BITS-1)).

Source

pub const TEN: Self

Integer constant 10, used by decimal-scale 10^scale rescaling.

Source

pub const fn from_limbs(limbs: [u64; N]) -> Self

Constructs from raw little-endian two’s-complement limbs.

Source

pub const fn as_limbs(&self) -> &[u64; N]

Borrows the raw little-endian limbs.

Source

pub const fn is_zero(&self) -> bool

true when every limb is zero.

Source

pub const fn is_negative(&self) -> bool

true when the value is strictly negative (top bit set).

Source

pub const fn is_positive(&self) -> bool

true when the value is strictly positive (non-zero and the sign bit clear).

Source

pub const fn wrapping_neg(self) -> Self

Two’s-complement wrapping negation (!self + 1). MIN negates to itself, as with the primitive signed integers.

Source

pub const fn wrapping_add(self, rhs: Self) -> Self

Wrapping addition (modulo 2^BITS). Identical bit pattern to the unsigned add — two’s-complement makes signed and unsigned addition the same operation.

Source

pub const fn wrapping_sub(self, rhs: Self) -> Self

Wrapping subtraction (modulo 2^BITS).

Source

pub const fn wrapping_mul(self, rhs: Self) -> Self

Wrapping multiplication (modulo 2^BITS). The low N limbs of a two’s-complement product are independent of the operand signs, so this is the same truncated schoolbook the unsigned type uses.

Source

pub const fn abs(self) -> Self

Absolute value (wrapping: MIN.abs() == MIN).

Source

pub fn signum(&self) -> i32

Sign: -1, 0, or 1 as the value is negative, zero, or positive.

Source

pub fn is_one(&self) -> bool

true when the value equals one.

Source

pub fn min_value() -> Self

Most negative representable value (-2^(BITS-1)).

Source

pub fn max_value() -> Self

Most positive representable value (2^(BITS-1) - 1).

Source

pub const fn checked_add(self, rhs: Self) -> Option<Self>

Checked signed addition: None on two’s-complement overflow. Overflow happens only when both operands share a sign and the result’s sign differs from it. Routes through the add policy’s checked door to the FUSED single-pass kernel (ripple + overflow verdict in one traversal) — the previous layered shape (wrapping_add then three sign reads then an Option rewrap) measured ≈2× the bare loop at 24 limbs in inter-layer moves.

Source

pub const fn checked_sub(self, rhs: Self) -> Option<Self>

Checked signed subtraction: None on two’s-complement overflow (the operands’ signs differ and the result takes the subtrahend’s sign). Routes through the sub policy’s checked door to the fused single-pass kernel — see Self::checked_add.

Source

pub fn checked_mul(self, rhs: Self) -> Option<Self>

Checked signed multiplication: None if the true product does not fit the signed range. Computed via magnitudes so it reuses the unsigned overflow check, then re-signs.

Source

pub const fn wrapping_pow(self, exp: u32) -> Self

Wrapping exponentiation by squaring (self^exp modulo 2^BITS). self^0 == 1. Thin delegator DOWN to the pow policy (pow_dispatch) on the unsigned reinterpretation: binary square-and-multiply over the const kernels. The low N limbs of a power are sign-independent, so reinterpreting as Uint<N> and back preserves the two’s-complement result.

Source

pub fn checked_pow(self, exp: u32) -> Option<Self>

Exponentiation by squaring, returning None on signed overflow.

Source

pub const fn wrapping_sqr(self) -> Self

Wrapping square (self² modulo 2^BITS). Thin delegator DOWN to the sqr policy (sqr_dispatch) on the unsigned reinterpretation: half-product squaring via the const kernel. The low N limbs of a square are sign-independent, so reinterpreting as Uint<N> and back preserves the two’s-complement result.

Source

pub const fn wrapping_cube(self) -> Self

Wrapping cube (self³ modulo 2^BITS). Thin delegator DOWN to the cube policy (cube_dispatch) on the unsigned reinterpretation: sqr then one multiply via the const kernels. The low N limbs are sign-independent, so reinterpreting as Uint<N> and back preserves the two’s-complement result.

Source

pub const fn bit_length(&self) -> u32

MAGNITUDE bit length: 0 for zero, else floor(log2|self|) + 1 — the number of significant bits of the absolute value |self|.

This is a distinct concept from the primitive bit-count methods (Self::leading_zeros, Self::trailing_zeros, Self::count_ones, Self::count_zeros), which read the two’s-complement representation. bit_length ignores the sign: (-5).bit_length() == 5.bit_length() == 3. It is kept public for internal normalisation use (root/reciprocal seeds, shift amounts).

At MIN the magnitude is 2^(BITS-1), so MIN.bit_length() == BITS (one more than MAX.bit_length(), which is BITS - 1).

Source

pub const fn leading_zeros(&self) -> u32

Leading zero bits of the two’s-complement representation, matching the primitive iN::leading_zeros contract. A negative value has its sign bit (the MSB) set, so it has zero leading zeros; a non-negative value’s leading-zero count is BITS - bit_length (BITS for zero).

MIN is negative, so MIN.leading_zeros() == 0. MAX is the largest non-negative value (0b0111…1), so MAX.leading_zeros() == 1. Note this is the two’s-complement count, NOT a magnitude count — contrast Self::bit_length.

Source

pub const fn unsigned_abs(self) -> Uint<N>

|self| as the unsigned twin. MIN maps to 2^(BITS-1).

Source

pub fn negate(self) -> Self

Two’s-complement negation. Alias of Self::wrapping_neg.

Source

pub fn div_rem(self, rhs: Self) -> (Self, Self)

Truncating quotient and remainder (self / rhs, self % rhs) in a single divmod call. The quotient truncates toward zero and the remainder takes the sign of the dividend. Routes through the const-N fast-arm (div_rem_mag_fixed): native u64 idiv at N == 1, native u128 divide at N == 2, and the dispatching divmod (Knuth / Burnikel–Ziegler) for wider N. Panics on a zero divisor.

Source

pub const fn bit(self, idx: u32) -> bool

true if bit idx of the two’s-complement representation is set.

Source

pub const fn from_limbs_le(limbs: [u64; N]) -> Self

Builds directly from the little-endian u64 limb array. Alias of Self::from_limbs under the historic from_limbs_le public name.

Source

pub const fn limbs_le(self) -> [u64; N]

Returns the little-endian u64 limbs by value. Symmetric with Self::from_limbs_le.

Source

pub fn mul_u64(self, n: u64) -> Self

self · (n as Self) with the sign of self, panicking on overflow (the default-form contract). Computes the n-by-1-word product (the same limb recurrence as mul_schoolbook_into) and rejects a non-zero top carry.

Source

pub fn to_i128_checked(self) -> Option<i128>

Exact i128 value, or None if it does not fit.

Source

pub fn to_u128_checked(self) -> Option<u128>

Exact u128 value, or None if negative / too large.

Source

pub fn to_f64(self) -> f64

Approximate f64 value of self (lossy above 53 significant bits).

Source

pub fn to_f32(self) -> f32

Approximate f32 value of self (round-to-nearest; lossy above 24 significant bits). Routes through the f64 accumulation to keep one summation path.

Source

pub fn from_f64(v: f64) -> Self

Builds from an f64, truncating toward zero. Saturates to MIN / MAX on out-of-range; non-finite maps to ZERO.

Source

pub const fn from_str_radix(s: &str, radix: u32) -> Result<Self, ()>

Parses a signed decimal magnitude from s. Accepts an optional leading -, then ASCII digits. Only radix == 10 is supported; any other value returns Err(()).

Source

pub const fn pow(self, exp: u32) -> Self

Integer power: self^exp (wrapping on overflow). Alias of Self::wrapping_pow under the pow name.

Source

pub fn isqrt(self) -> Self

Integer square root of the magnitude (floor(sqrt(|self|))), returned non-negative. Delegates to the unsigned sibling which routes through isqrt_dispatch.

Source

pub fn sqr(self) -> Self

Integer square: self² modulo 2^BITS. Routes through the sqr policy (sqr_dispatch) on the unsigned reinterpretation, then reinterprets back as signed. Equivalent to wrapping_sqr.

Source

pub fn cube(self) -> Self

Integer cube: self³ modulo 2^BITS. Routes through the cube policy (cube_dispatch) on the unsigned reinterpretation, then reinterprets back as signed. Equivalent to wrapping_cube.

Source

pub fn icbrt(self) -> Self

Integer cube root of the magnitude (floor(cbrt(|self|))), returned non-negative. Delegates to the unsigned sibling which routes through icbrt_dispatch.

Source

pub const fn cast_unsigned(self) -> Uint<N>

Reinterprets the bit pattern as the unsigned sibling.

Source

pub fn as_f64(self) -> f64

Approximate f64 value. Alias of Self::to_f64, matching the macro’s as_f64 name.

Source

pub const fn count_ones(self) -> u32

Count of set bits across the two’s-complement representation, matching the primitive iN::count_ones contract — the limbs are read as stored, so negative values count their sign-extended one-bits. (-1).count_ones() == BITS (all-ones), and MIN.count_ones() == 1 (only the sign bit). This is a two’s-complement count, not a magnitude count.

Source

pub const fn count_zeros(self) -> u32

Count of clear bits across the two’s-complement representation, matching the primitive iN::count_zeros contract (BITS - count_ones). (-1).count_zeros() == 0 and MIN.count_zeros() == BITS - 1.

Source

pub const fn trailing_zeros(self) -> u32

Number of trailing zero bits of the two’s-complement representation, matching the primitive iN::trailing_zeros contract; BITS for zero. MIN has only its sign bit set, so MIN.trailing_zeros() == BITS - 1. This reads the stored limbs, not the magnitude — contrast Self::bit_length.

Source

pub const fn checked_neg(self) -> Option<Self>

Checked negation: None exactly at MIN (whose negation overflows the signed range).

Source

pub const fn checked_div(self, rhs: Self) -> Option<Self>

Checked division: None on a zero divisor.

Source

pub const fn checked_rem(self, rhs: Self) -> Option<Self>

Checked remainder: None on a zero divisor, and None for the MIN % -1 overflow case (the paired division MIN / -1 overflows the signed range), matching the primitive integer contract.

Source

pub const fn div_euclid(self, rhs: Self) -> Self

Euclidean division: the quotient that leaves a non-negative remainder.

Source

pub const fn rem_euclid(self, rhs: Self) -> Self

Euclidean remainder — always non-negative.

Source

pub const fn overflowing_add(self, rhs: Self) -> (Self, bool)

Wrapping addition paired with the two’s-complement overflow flag.

Source

pub const fn overflowing_sub(self, rhs: Self) -> (Self, bool)

Wrapping subtraction paired with the two’s-complement overflow flag.

Source

pub const fn overflowing_neg(self) -> (Self, bool)

Wrapping negation paired with the overflow flag (true only at MIN).

Source

pub const fn overflowing_rem(self, rhs: Self) -> (Self, bool)

Wrapping remainder paired with an overflow flag. The flag is true only for MIN % -1 (whose paired division overflows the signed range), in which case the remainder is 0; otherwise false.

Source

pub const fn saturating_add(self, rhs: Self) -> Self

Saturating addition: clamps to MIN / MAX on overflow.

Source

pub const fn saturating_sub(self, rhs: Self) -> Self

Saturating subtraction: clamps to MIN / MAX on overflow.

Source

pub const fn saturating_neg(self) -> Self

Saturating negation: MIN saturates to MAX.

Source

pub fn rotate_left(self, n: u32) -> Self

Rotates the bits left by n (modulo BITS).

Source

pub fn rotate_right(self, n: u32) -> Self

Rotates the bits right by n (modulo BITS).

Source

pub const fn wrapping_div(self, rhs: Self) -> Self

Truncating division toward zero. Panics on a zero divisor. Matches the macro’s wrapping_div (single-limb-aware div_rem, not the dispatching div_rem).

Source

pub const fn wrapping_rem(self, rhs: Self) -> Self

Truncating remainder; result carries the sign of self. Panics on a zero divisor. Matches the macro’s wrapping_rem.

Source§

impl<const N: usize> Int<N>

Source

pub fn widen<const M: usize>(self) -> Int<M>

Widens to a wider Int<M> (M >= N), sign-extending. Lossless.

Source

pub fn narrow<const M: usize>(self) -> Option<Int<M>>

Narrows to a narrower Int<M> (1 <= M <= N). Returns None unless every discarded high limb is a pure sign-extension of the narrowed value’s top bit — i.e. the value fits M limbs as two’s complement.

Trait Implementations§

Source§

impl<const N: usize> Add for Int<N>

Source§

type Output = Int<N>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Self) -> Self

Performs the + operation. Read more
Source§

impl<const N: usize> Binary for Int<N>
where Limbs<N>: ComputeLimbs,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<const N: usize> BitAnd for Int<N>

Source§

type Output = Int<N>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Self) -> Self

Performs the & operation. Read more
Source§

impl<const N: usize> BitOr for Int<N>

Source§

type Output = Int<N>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Self) -> Self

Performs the | operation. Read more
Source§

impl<const N: usize> BitXor for Int<N>

Source§

type Output = Int<N>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Self) -> Self

Performs the ^ operation. Read more
Source§

impl<const N: usize> Clone for Int<N>

Source§

fn clone(&self) -> Int<N>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<const N: usize> Copy for Int<N>

Source§

impl<const N: usize> Debug for Int<N>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<const N: usize> Display for Int<N>
where Limbs<N>: ComputeLimbs,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<const N: usize> Div for Int<N>

Source§

type Output = Int<N>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Self) -> Self

Performs the / operation. Read more
Source§

impl<const N: usize> Eq for Int<N>

Source§

impl From<Int<1>> for i64

Source§

fn from(v: Int<1>) -> i64

Converts to this type from the input type.
Source§

impl From<Int<1>> for i128

Source§

fn from(v: Int<1>) -> i128

Converts to this type from the input type.
Source§

impl From<Int<2>> for i128

Source§

fn from(v: Int<2>) -> i128

Converts to this type from the input type.
Source§

impl<const N: usize> From<i8> for Int<N>

Source§

fn from(v: i8) -> Self

Converts to this type from the input type.
Source§

impl<const N: usize> From<i16> for Int<N>

Source§

fn from(v: i16) -> Self

Converts to this type from the input type.
Source§

impl<const N: usize> From<i32> for Int<N>

Source§

fn from(v: i32) -> Self

Converts to this type from the input type.
Source§

impl<const N: usize> From<i64> for Int<N>

Source§

fn from(v: i64) -> Self

Converts to this type from the input type.
Source§

impl<const N: usize> From<u8> for Int<N>

Source§

fn from(v: u8) -> Self

Converts to this type from the input type.
Source§

impl<const N: usize> From<u16> for Int<N>

Source§

fn from(v: u16) -> Self

Converts to this type from the input type.
Source§

impl<const N: usize> From<u32> for Int<N>

Source§

fn from(v: u32) -> Self

Converts to this type from the input type.
Source§

impl<const N: usize> FromStr for Int<N>

Source§

type Err = ()

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<Self, ()>

Parses a string s to return a value of this type. Read more
Source§

impl<const N: usize> Hash for Int<N>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<const N: usize> LowerHex for Int<N>
where Limbs<N>: ComputeLimbs,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<const N: usize> Mul for Int<N>

Source§

type Output = Int<N>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Self) -> Self

Performs the * operation. Read more
Source§

impl<const N: usize> Neg for Int<N>

Source§

type Output = Int<N>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self

Performs the unary - operation. Read more
Source§

impl<const N: usize> Not for Int<N>

Source§

type Output = Int<N>

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self

Performs the unary ! operation. Read more
Source§

impl<const N: usize> Octal for Int<N>
where Limbs<N>: ComputeLimbs,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<const N: usize> Ord for Int<N>

Source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq<Int<1>> for i64

Source§

fn eq(&self, other: &Int<1>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<Int<2>> for i128

Source§

fn eq(&self, other: &Int<2>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<const N: usize, const M: usize> PartialEq<Int<M>> for Int<N>

Source§

fn eq(&self, other: &Int<M>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<i64> for Int<1>

Source§

fn eq(&self, other: &i64) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<i128> for Int<2>

Source§

fn eq(&self, other: &i128) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd<Int<1>> for i64

Source§

fn partial_cmp(&self, other: &Int<1>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl PartialOrd<Int<2>> for i128

Source§

fn partial_cmp(&self, other: &Int<2>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<const N: usize, const M: usize> PartialOrd<Int<M>> for Int<N>

Source§

fn partial_cmp(&self, other: &Int<M>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl PartialOrd<i64> for Int<1>

Source§

fn partial_cmp(&self, other: &i64) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl PartialOrd<i128> for Int<2>

Source§

fn partial_cmp(&self, other: &i128) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<const N: usize> Rem for Int<N>

Source§

type Output = Int<N>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: Self) -> Self

Performs the % operation. Read more
Source§

impl<const N: usize> Shl<u32> for Int<N>

Source§

type Output = Int<N>

The resulting type after applying the << operator.
Source§

fn shl(self, shift: u32) -> Self

Performs the << operation. Read more
Source§

impl<const N: usize> Shr<u32> for Int<N>

Source§

type Output = Int<N>

The resulting type after applying the >> operator.
Source§

fn shr(self, shift: u32) -> Self

Performs the >> operation. Read more
Source§

impl<const N: usize> Sub for Int<N>

Source§

type Output = Int<N>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self

Performs the - operation. Read more
Source§

impl<const N: usize> TryFrom<Int<N>> for i32

Source§

type Error = ConvertError

The type returned in the event of a conversion error.
Source§

fn try_from(v: Int<N>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<const N: usize> TryFrom<Int<N>> for u32

Source§

type Error = ConvertError

The type returned in the event of a conversion error.
Source§

fn try_from(v: Int<N>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<const N: usize> TryFrom<Int<N>> for u64

Source§

type Error = ConvertError

The type returned in the event of a conversion error.
Source§

fn try_from(v: Int<N>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<const N: usize> TryFrom<Int<N>> for u128

Source§

type Error = ConvertError

The type returned in the event of a conversion error.
Source§

fn try_from(v: Int<N>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<const N: usize> TryFrom<f32> for Int<N>

Source§

type Error = ConvertError

The type returned in the event of a conversion error.
Source§

fn try_from(v: f32) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<const N: usize> TryFrom<f64> for Int<N>

Source§

type Error = ConvertError

The type returned in the event of a conversion error.
Source§

fn try_from(v: f64) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<const N: usize> TryFrom<i128> for Int<N>

Source§

type Error = ConvertError

The type returned in the event of a conversion error.
Source§

fn try_from(v: i128) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<const N: usize> TryFrom<u64> for Int<N>

Source§

type Error = ConvertError

The type returned in the event of a conversion error.
Source§

fn try_from(v: u64) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<const N: usize> TryFrom<u128> for Int<N>

Source§

type Error = ConvertError

The type returned in the event of a conversion error.
Source§

fn try_from(v: u128) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<const N: usize> UpperHex for Int<N>
where Limbs<N>: ComputeLimbs,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl WidthLE<Int<1>> for Int<1>

Source§

fn widen_into(self) -> Int<1>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<2>> for Int<2>

Source§

fn widen_into(self) -> Int<2>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<2>> for i32

Source§

fn widen_into(self) -> Int<2>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<2>> for i64

Source§

fn widen_into(self) -> Int<2>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<2>> for Int<1>

Source§

fn widen_into(self) -> Int<2>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<3>> for Int<3>

Source§

fn widen_into(self) -> Int<3>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<3>> for i32

Source§

fn widen_into(self) -> Int<3>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<3>> for i64

Source§

fn widen_into(self) -> Int<3>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<3>> for i128

Source§

fn widen_into(self) -> Int<3>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<3>> for Int<2>

Source§

fn widen_into(self) -> Int<3>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<3>> for Int<1>

Source§

fn widen_into(self) -> Int<3>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<4>> for Int<4>

Source§

fn widen_into(self) -> Int<4>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<4>> for i32

Source§

fn widen_into(self) -> Int<4>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<4>> for i64

Source§

fn widen_into(self) -> Int<4>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<4>> for i128

Source§

fn widen_into(self) -> Int<4>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<4>> for Int<2>

Source§

fn widen_into(self) -> Int<4>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<4>> for Int<1>

Source§

fn widen_into(self) -> Int<4>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<4>> for Int<3>

Source§

fn widen_into(self) -> Int<4>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<6>> for Int<6>

Source§

fn widen_into(self) -> Int<6>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<6>> for i32

Source§

fn widen_into(self) -> Int<6>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<6>> for i64

Source§

fn widen_into(self) -> Int<6>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<6>> for i128

Source§

fn widen_into(self) -> Int<6>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<6>> for Int<2>

Source§

fn widen_into(self) -> Int<6>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<6>> for Int<1>

Source§

fn widen_into(self) -> Int<6>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<6>> for Int<3>

Source§

fn widen_into(self) -> Int<6>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<6>> for Int<4>

Source§

fn widen_into(self) -> Int<6>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<8>> for Int<8>

Source§

fn widen_into(self) -> Int<8>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<8>> for i32

Source§

fn widen_into(self) -> Int<8>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<8>> for i64

Source§

fn widen_into(self) -> Int<8>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<8>> for i128

Source§

fn widen_into(self) -> Int<8>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<8>> for Int<2>

Source§

fn widen_into(self) -> Int<8>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<8>> for Int<1>

Source§

fn widen_into(self) -> Int<8>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<8>> for Int<3>

Source§

fn widen_into(self) -> Int<8>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<8>> for Int<4>

Source§

fn widen_into(self) -> Int<8>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<8>> for Int<6>

Source§

fn widen_into(self) -> Int<8>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<12>> for Int<12>

Source§

fn widen_into(self) -> Int<12>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<12>> for i32

Source§

fn widen_into(self) -> Int<12>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<12>> for i64

Source§

fn widen_into(self) -> Int<12>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<12>> for i128

Source§

fn widen_into(self) -> Int<12>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<12>> for Int<2>

Source§

fn widen_into(self) -> Int<12>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<12>> for Int<1>

Source§

fn widen_into(self) -> Int<12>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<12>> for Int<3>

Source§

fn widen_into(self) -> Int<12>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<12>> for Int<4>

Source§

fn widen_into(self) -> Int<12>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<12>> for Int<6>

Source§

fn widen_into(self) -> Int<12>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<12>> for Int<8>

Source§

fn widen_into(self) -> Int<12>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<16>> for Int<16>

Source§

fn widen_into(self) -> Int<16>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<16>> for i32

Source§

fn widen_into(self) -> Int<16>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<16>> for i64

Source§

fn widen_into(self) -> Int<16>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<16>> for i128

Source§

fn widen_into(self) -> Int<16>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<16>> for Int<2>

Source§

fn widen_into(self) -> Int<16>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<16>> for Int<1>

Source§

fn widen_into(self) -> Int<16>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<16>> for Int<3>

Source§

fn widen_into(self) -> Int<16>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<16>> for Int<4>

Source§

fn widen_into(self) -> Int<16>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<16>> for Int<6>

Source§

fn widen_into(self) -> Int<16>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<16>> for Int<8>

Source§

fn widen_into(self) -> Int<16>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<16>> for Int<12>

Source§

fn widen_into(self) -> Int<16>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<24>> for Int<24>

Source§

fn widen_into(self) -> Int<24>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<24>> for i32

Source§

fn widen_into(self) -> Int<24>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<24>> for i64

Source§

fn widen_into(self) -> Int<24>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<24>> for i128

Source§

fn widen_into(self) -> Int<24>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<24>> for Int<2>

Source§

fn widen_into(self) -> Int<24>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<24>> for Int<1>

Source§

fn widen_into(self) -> Int<24>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<24>> for Int<3>

Source§

fn widen_into(self) -> Int<24>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<24>> for Int<4>

Source§

fn widen_into(self) -> Int<24>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<24>> for Int<6>

Source§

fn widen_into(self) -> Int<24>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<24>> for Int<8>

Source§

fn widen_into(self) -> Int<24>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<24>> for Int<12>

Source§

fn widen_into(self) -> Int<24>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<24>> for Int<16>

Source§

fn widen_into(self) -> Int<24>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<32>> for Int<32>

Source§

fn widen_into(self) -> Int<32>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<32>> for i32

Source§

fn widen_into(self) -> Int<32>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<32>> for i64

Source§

fn widen_into(self) -> Int<32>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<32>> for i128

Source§

fn widen_into(self) -> Int<32>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<32>> for Int<2>

Source§

fn widen_into(self) -> Int<32>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<32>> for Int<1>

Source§

fn widen_into(self) -> Int<32>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<32>> for Int<3>

Source§

fn widen_into(self) -> Int<32>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<32>> for Int<4>

Source§

fn widen_into(self) -> Int<32>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<32>> for Int<6>

Source§

fn widen_into(self) -> Int<32>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<32>> for Int<8>

Source§

fn widen_into(self) -> Int<32>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<32>> for Int<12>

Source§

fn widen_into(self) -> Int<32>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<32>> for Int<16>

Source§

fn widen_into(self) -> Int<32>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<32>> for Int<24>

Source§

fn widen_into(self) -> Int<32>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for Int<48>

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for i32

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for i64

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for i128

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for Int<2>

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for Int<1>

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for Int<3>

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for Int<4>

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for Int<6>

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for Int<8>

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for Int<12>

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for Int<16>

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for Int<24>

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<48>> for Int<32>

Source§

fn widen_into(self) -> Int<48>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for Int<64>

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for i32

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for i64

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for i128

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for Int<2>

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for Int<1>

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for Int<3>

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for Int<4>

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for Int<6>

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for Int<8>

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for Int<12>

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for Int<16>

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for Int<24>

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for Int<32>

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.
Source§

impl WidthLE<Int<64>> for Int<48>

Source§

fn widen_into(self) -> Int<64>

Widens self to the Target storage type. Lossless by construction — Target’s range strictly covers Self’s.

Auto Trait Implementations§

§

impl<const N: usize> Freeze for Int<N>

§

impl<const N: usize> RefUnwindSafe for Int<N>

§

impl<const N: usize> Send for Int<N>

§

impl<const N: usize> Sync for Int<N>

§

impl<const N: usize> Unpin for Int<N>

§

impl<const N: usize> UnsafeUnpin for Int<N>

§

impl<const N: usize> UnwindSafe for Int<N>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, Rhs, Output> NumOps<Rhs, Output> for T
where T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.