Struct ramp::int::Int [] [src]

pub struct Int {
    // some fields omitted
}

An arbitrary-precision signed integer.

This type grows to the size it needs to in order to store the result of any operation.

Creation

An Int can be constructed in a number of ways:

  • Int::zero and Int::one construct a zero- and one-valued Int respectively.

  • Int::from will convert from any primitive integer type to an Int of the same value

    let four = Int::from(4);
  • Int::from_str (or str::parse) will attempt to convert from a string to an Int

    let i = Int::from_str("123456789").unwrap();

Output

Int supports all the formatting traits, allowing it to be used just like a regular integer when used in format! and similar macros. Int also supports conversion to primitive integer types, truncating if the Int cannot fit into the target type. Conversion to primtive integers is done with the From trait:

  let big_i   = Int::from(123456789);
  let i = i32::from(&big_i);
  assert_eq!(123456789, i);

Usage

Int has a number of operator overloads to make working with them as painless as possible.

The most basic usage is simply a + b or similar. Assuming a and b are of type Int, this operation will consume both operands, reusing the storage from one of them. If you do not wish your operands to be moved, one or both of them can be references: &a + &b works as well, but requires an entire new Int to be allocated for the return value.

There are also a overloads for a small number of primitive integer types, namely i32 and usize. While automatic type widening isn't done in Rust in general, many operations are much more efficient when working with a single integer. This means you can do a + 1 knowing that it will be performed as efficiently as possible. Comparison with these integer types is also possible, allowing checks for small constant values to be done easily:

  let big_i   = Int::from(123456789);
  assert!(big_i == 123456789);

Semantics

Addition, subtraction and multiplication follow the expected rules for integers. Division of two integers, N / D is defined as producing two values: a quotient, Q, and a remainder, R, such that the following equation holds: N = Q*D + R. The division operator itself returns Q while the remainder/modulo operator returns R. The sign of R is the same as the sign of Q.

The "bit-shift" operations are defined as being multiplication and division by a power-of-two for shift-left and shift-right respectively. The sign of the number is unaffected.

The remaining bitwise operands act as if the numbers are stored in two's complement format and as if the two inputs have the same number of bits.

Methods

impl Int
[src]

fn zero() -> Int

fn one() -> Int

fn from_single_limb(limb: Limb) -> Int

Creates a new Int from the given Limb.

fn sign(&self) -> i32

Returns the sign of the Int as either -1, 0 or 1 for self being negative, zero or positive, respectively.

fn abs(self) -> Int

Consumes self and returns the absolute value

fn to_single_limb(&self) -> Limb

Returns the least-significant limb of self.

fn abs_cmp(&self, other: &Int) -> Ordering

Compare the absolute value of self to the absolute value of other, returning an Ordering with the result.

fn abs_eq(&self, other: &Int) -> bool

Returns the equality of the absolute values of self and other.

fn abs_hash<H>(&self, state: &mut H) where H: Hasher

Hashes the value without including the sign, useful for when the sign is handled elsewhere and making a copy just to change the sign is wasteful

fn shrink_to_fit(&mut self)

Try to shrink the allocated data for this Int.

fn to_str_radix(&self, base: u8, upper: bool) -> String

Returns a string containing the value of self in base base. For bases greater than ten, if upper is true, upper-case letters are used, otherwise lower-case ones are used.

Panics if base is less than two or greater than 36.

fn write_radix<W: Write>(&self, w: &mut W, base: u8, upper: bool) -> Result<()>

fn from_str_radix(src: &str, base: u8) -> Result<IntParseIntError>

Creates a new Int from the given string in base base.

fn divmod(&self, other: &Int) -> (Int, Int)

Divide self by other, returning the quotient, Q, and remainder, R as (Q, R).

With N = self, D = other, Q and R satisfy: N = QD + R. The sign of Q and R are the same.

This will panic if other is zero.

fn pow(&self, exp: usize) -> Int

Raises self to the power of exp

fn square(&self) -> Int

Returns the square of self.

fn dsquare(self) -> Int

fn sqrt_rem(self) -> Option<(Int, Int)>

Compute the sqrt of this number, returning its floor, S, and the remainder, R, as Some((S, R)), or None if this number is negative.

The numbers S, R are both positive and satisfy self = S * S + R.

fn negate(&mut self)

Negates self in-place

fn is_even(&self) -> bool

Returns whether or not this number is even.

Returns 0 if self == 0

fn trailing_zeros(&self) -> u32

Returns the number of trailing zero bits in this number

Returns 0 if self == 0

fn count_ones(&self) -> usize

Returns the number of ones (the population count) in this number

If this number is negative, it has infinitely many ones (in two's complement), so this returns usize::MAX.

fn bit_length(&self) -> u32

Returns the number of bits required to represent (the absolute value of) this number, that is, floor(log2(abs(self))) + 1.

Returns 1 if self == 0.

fn bit(&self, bit: u32) -> bool

Returns the value of the bitth bit in this number, as if it were represented in two's complement.

fn set_bit(&mut self, bit: u32, bit_val: bool)

Set the bitth bit of this number to bit_val, treating negative numbers as if they're stored in two's complement.

fn gcd(&self, other: &Int) -> Int

Calculates the Greatest Common Divisor (GCD) of the number and other.

The result is always positive.

fn lcm(&self, other: &Int) -> Int

Calculates the Lowest Common Multiple (LCM) of the number and other.

fn to_f64(&self) -> f64

Trait Implementations

impl Clone for Int
[src]

fn clone(&self) -> Int

Returns a copy of the value. Read more

fn clone_from(&mut self, other: &Int)

Performs copy-assignment from source. Read more

impl Default for Int
[src]

fn default() -> Int

Returns the "default value" for a type. Read more

impl Drop for Int
[src]

fn drop(&mut self)

A method called when the value goes out of scope. Read more

impl PartialEq<Int> for Int
[src]

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

This method tests for self and other values to be equal, and is used by ==. Read more

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

This method tests for !=.

impl PartialEq<Limb> for Int
[src]

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

This method tests for self and other values to be equal, and is used by ==. Read more

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

This method tests for !=.

impl Eq for Int
[src]

impl Ord for Int
[src]

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

This method returns an Ordering between self and other. Read more

impl PartialOrd<Int> for Int
[src]

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

This method returns an ordering between self and other values if one exists. Read more

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

This method tests less than (for self and other) and is used by the < operator. Read more

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

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

This method tests greater than (for self and other) and is used by the > operator. Read more

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl PartialOrd<Limb> for Int
[src]

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

This method returns an ordering between self and other values if one exists. Read more

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

This method tests less than (for self and other) and is used by the < operator. Read more

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

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

This method tests greater than (for self and other) and is used by the > operator. Read more

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Hash for Int
[src]

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

Feeds this value into the state given, updating the hasher as necessary.

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

Feeds a slice of this type into the state provided.

impl AddAssign<Limb> for Int
[src]

fn add_assign(&mut self, other: Limb)

The method for the += operator

impl Add<Limb> for Int
[src]

type Output = Int

The resulting type after applying the + operator

fn add(self, other: Limb) -> Int

The method for the + operator

impl<'a> AddAssign<&'a Int> for Int
[src]

fn add_assign(&mut self, other: &'a Int)

The method for the += operator

impl<'a> Add<&'a Int> for Int
[src]

type Output = Int

The resulting type after applying the + operator

fn add(self, other: &'a Int) -> Int

The method for the + operator

impl<'a> Add<Int> for &'a Int
[src]

type Output = Int

The resulting type after applying the + operator

fn add(self, other: Int) -> Int

The method for the + operator

impl Add<Int> for Int
[src]

type Output = Int

The resulting type after applying the + operator

fn add(self, other: Int) -> Int

The method for the + operator

impl AddAssign<Int> for Int
[src]

fn add_assign(&mut self, other: Int)

The method for the += operator

impl<'a, 'b> Add<&'a Int> for &'b Int
[src]

type Output = Int

The resulting type after applying the + operator

fn add(self, other: &'a Int) -> Int

The method for the + operator

impl SubAssign<Limb> for Int
[src]

fn sub_assign(&mut self, other: Limb)

The method for the -= operator

impl Sub<Limb> for Int
[src]

type Output = Int

The resulting type after applying the - operator

fn sub(self, other: Limb) -> Int

The method for the - operator

impl<'a> SubAssign<&'a Int> for Int
[src]

fn sub_assign(&mut self, other: &'a Int)

The method for the -= operator

impl<'a> Sub<&'a Int> for Int
[src]

type Output = Int

The resulting type after applying the - operator

fn sub(self, other: &'a Int) -> Int

The method for the - operator

impl<'a> Sub<Int> for &'a Int
[src]

type Output = Int

The resulting type after applying the - operator

fn sub(self, other: Int) -> Int

The method for the - operator

impl Sub<Int> for Int
[src]

type Output = Int

The resulting type after applying the - operator

fn sub(self, other: Int) -> Int

The method for the - operator

impl SubAssign<Int> for Int
[src]

fn sub_assign(&mut self, other: Int)

The method for the -= operator

impl<'a, 'b> Sub<&'a Int> for &'b Int
[src]

type Output = Int

The resulting type after applying the - operator

fn sub(self, other: &'a Int) -> Int

The method for the - operator

impl MulAssign<Limb> for Int
[src]

fn mul_assign(&mut self, other: Limb)

The method for the *= operator

impl Mul<Limb> for Int
[src]

type Output = Int

The resulting type after applying the * operator

fn mul(self, other: Limb) -> Int

The method for the * operator

impl<'a, 'b> Mul<&'a Int> for &'b Int
[src]

type Output = Int

The resulting type after applying the * operator

fn mul(self, other: &'a Int) -> Int

The method for the * operator

impl<'a> Mul<&'a Int> for Int
[src]

type Output = Int

The resulting type after applying the * operator

fn mul(self, other: &'a Int) -> Int

The method for the * operator

impl<'a> Mul<Int> for &'a Int
[src]

type Output = Int

The resulting type after applying the * operator

fn mul(self, other: Int) -> Int

The method for the * operator

impl Mul<Int> for Int
[src]

type Output = Int

The resulting type after applying the * operator

fn mul(self, other: Int) -> Int

The method for the * operator

impl<'a> MulAssign<&'a Int> for Int
[src]

fn mul_assign(&mut self, other: &'a Int)

The method for the *= operator

impl MulAssign<Int> for Int
[src]

fn mul_assign(&mut self, other: Int)

The method for the *= operator

impl DivAssign<Limb> for Int
[src]

fn div_assign(&mut self, other: Limb)

The method for the /= operator

impl Div<Limb> for Int
[src]

type Output = Int

The resulting type after applying the / operator

fn div(self, other: Limb) -> Int

The method for the / operator

impl<'a, 'b> Div<&'a Int> for &'b Int
[src]

type Output = Int

The resulting type after applying the / operator

fn div(self, other: &'a Int) -> Int

The method for the / operator

impl<'a> Div<&'a Int> for Int
[src]

type Output = Int

The resulting type after applying the / operator

fn div(self, other: &'a Int) -> Int

The method for the / operator

impl<'a> Div<Int> for &'a Int
[src]

type Output = Int

The resulting type after applying the / operator

fn div(self, other: Int) -> Int

The method for the / operator

impl Div<Int> for Int
[src]

type Output = Int

The resulting type after applying the / operator

fn div(self, other: Int) -> Int

The method for the / operator

impl<'a> DivAssign<&'a Int> for Int
[src]

fn div_assign(&mut self, other: &'a Int)

The method for the /= operator

impl DivAssign<Int> for Int
[src]

fn div_assign(&mut self, other: Int)

The method for the /= operator

impl Rem<Limb> for Int
[src]

type Output = Int

The resulting type after applying the % operator

fn rem(self, other: Limb) -> Int

The method for the % operator

impl RemAssign<Limb> for Int
[src]

fn rem_assign(&mut self, other: Limb)

The method for the %= operator

impl DivRem<Limb> for Int
[src]

type Output = (Int, Limb)

fn divrem(self, other: Limb) -> Self::Output

impl<'a, 'b> Rem<&'a Int> for &'b Int
[src]

type Output = Int

The resulting type after applying the % operator

fn rem(self, other: &'a Int) -> Int

The method for the % operator

impl<'a> Rem<&'a Int> for Int
[src]

type Output = Int

The resulting type after applying the % operator

fn rem(self, other: &'a Int) -> Int

The method for the % operator

impl<'a> Rem<Int> for &'a Int
[src]

type Output = Int

The resulting type after applying the % operator

fn rem(self, other: Int) -> Int

The method for the % operator

impl Rem<Int> for Int
[src]

type Output = Int

The resulting type after applying the % operator

fn rem(self, other: Int) -> Int

The method for the % operator

impl<'a, 'b> DivRem<&'a Int> for &'b Int
[src]

type Output = (Int, Int)

fn divrem(self, other: &'a Int) -> (Int, Int)

impl RemAssign<Int> for Int
[src]

fn rem_assign(&mut self, other: Int)

The method for the %= operator

impl<'a> RemAssign<&'a Int> for Int
[src]

fn rem_assign(&mut self, other: &'a Int)

The method for the %= operator

impl Neg for Int
[src]

type Output = Int

The resulting type after applying the - operator

fn neg(self) -> Int

The method for the unary - operator

impl<'a> Neg for &'a Int
[src]

type Output = Int

The resulting type after applying the - operator

fn neg(self) -> Int

The method for the unary - operator

impl ShlAssign<usize> for Int
[src]

fn shl_assign(&mut self, cnt: usize)

The method for the <<= operator

impl<'a> Shl<usize> for &'a Int
[src]

type Output = Int

The resulting type after applying the << operator

fn shl(self, cnt: usize) -> Int

The method for the << operator

impl Shl<usize> for Int
[src]

type Output = Int

The resulting type after applying the << operator

fn shl(self, other: usize) -> Int

The method for the << operator

impl ShrAssign<usize> for Int
[src]

fn shr_assign(&mut self, cnt: usize)

The method for the >>= operator

impl<'a> Shr<usize> for &'a Int
[src]

type Output = Int

The resulting type after applying the >> operator

fn shr(self, other: usize) -> Int

The method for the >> operator

impl Shr<usize> for Int
[src]

type Output = Int

The resulting type after applying the >> operator

fn shr(self, other: usize) -> Int

The method for the >> operator

impl<'a> BitAnd<Limb> for Int
[src]

type Output = Int

The resulting type after applying the & operator

fn bitand(self, other: Limb) -> Int

The method for the & operator

impl BitAndAssign<Limb> for Int
[src]

fn bitand_assign(&mut self, other: Limb)

The method for the & operator

impl<'a> BitAnd<&'a Int> for Int
[src]

type Output = Int

The resulting type after applying the & operator

fn bitand(self, other: &'a Int) -> Int

The method for the & operator

impl<'a> BitAnd<Int> for &'a Int
[src]

type Output = Int

The resulting type after applying the & operator

fn bitand(self, other: Int) -> Int

The method for the & operator

impl<'a, 'b> BitAnd<&'a Int> for &'b Int
[src]

type Output = Int

The resulting type after applying the & operator

fn bitand(self, other: &'a Int) -> Int

The method for the & operator

impl BitAnd<Int> for Int
[src]

type Output = Int

The resulting type after applying the & operator

fn bitand(self, other: Int) -> Int

The method for the & operator

impl BitAndAssign<Int> for Int
[src]

fn bitand_assign(&mut self, other: Int)

The method for the & operator

impl<'a> BitAndAssign<&'a Int> for Int
[src]

fn bitand_assign(&mut self, other: &'a Int)

The method for the & operator

impl BitOr<Limb> for Int
[src]

type Output = Int

The resulting type after applying the | operator

fn bitor(self, other: Limb) -> Int

The method for the | operator

impl BitOrAssign<Limb> for Int
[src]

fn bitor_assign(&mut self, other: Limb)

The method for the |= operator

impl<'a> BitOr<&'a Int> for Int
[src]

type Output = Int

The resulting type after applying the | operator

fn bitor(self, other: &'a Int) -> Int

The method for the | operator

impl<'a> BitOr<Int> for &'a Int
[src]

type Output = Int

The resulting type after applying the | operator

fn bitor(self, other: Int) -> Int

The method for the | operator

impl<'a, 'b> BitOr<&'a Int> for &'b Int
[src]

type Output = Int

The resulting type after applying the | operator

fn bitor(self, other: &'a Int) -> Int

The method for the | operator

impl BitOr<Int> for Int
[src]

type Output = Int

The resulting type after applying the | operator

fn bitor(self, other: Int) -> Int

The method for the | operator

impl BitOrAssign<Int> for Int
[src]

fn bitor_assign(&mut self, other: Int)

The method for the |= operator

impl<'a> BitOrAssign<&'a Int> for Int
[src]

fn bitor_assign(&mut self, other: &'a Int)

The method for the |= operator

impl<'a> BitXor<Limb> for Int
[src]

type Output = Int

The resulting type after applying the ^ operator

fn bitxor(self, other: Limb) -> Int

The method for the ^ operator

impl BitXorAssign<Limb> for Int
[src]

fn bitxor_assign(&mut self, other: Limb)

The method for the ^= operator

impl<'a> BitXor<&'a Int> for Int
[src]

type Output = Int

The resulting type after applying the ^ operator

fn bitxor(self, other: &'a Int) -> Int

The method for the ^ operator

impl<'a> BitXor<Int> for &'a Int
[src]

type Output = Int

The resulting type after applying the ^ operator

fn bitxor(self, other: Int) -> Int

The method for the ^ operator

impl<'a, 'b> BitXor<&'a Int> for &'b Int
[src]

type Output = Int

The resulting type after applying the ^ operator

fn bitxor(self, other: &'a Int) -> Int

The method for the ^ operator

impl BitXor<Int> for Int
[src]

type Output = Int

The resulting type after applying the ^ operator

fn bitxor(self, other: Int) -> Int

The method for the ^ operator

impl BitXorAssign<Int> for Int
[src]

fn bitxor_assign(&mut self, other: Int)

The method for the ^= operator

impl<'a> BitXorAssign<&'a Int> for Int
[src]

fn bitxor_assign(&mut self, other: &'a Int)

The method for the ^= operator

impl Add<i32> for Int
[src]

type Output = Int

The resulting type after applying the + operator

fn add(self, other: i32) -> Int

The method for the + operator

impl AddAssign<i32> for Int
[src]

fn add_assign(&mut self, other: i32)

The method for the += operator

impl Sub<i32> for Int
[src]

type Output = Int

The resulting type after applying the - operator

fn sub(self, other: i32) -> Int

The method for the - operator

impl SubAssign<i32> for Int
[src]

fn sub_assign(&mut self, other: i32)

The method for the -= operator

impl Mul<i32> for Int
[src]

type Output = Int

The resulting type after applying the * operator

fn mul(self, other: i32) -> Int

The method for the * operator

impl MulAssign<i32> for Int
[src]

fn mul_assign(&mut self, other: i32)

The method for the *= operator

impl DivAssign<i32> for Int
[src]

fn div_assign(&mut self, other: i32)

The method for the /= operator

impl Div<i32> for Int
[src]

type Output = Int

The resulting type after applying the / operator

fn div(self, other: i32) -> Int

The method for the / operator

impl RemAssign<i32> for Int
[src]

fn rem_assign(&mut self, other: i32)

The method for the %= operator

impl Rem<i32> for Int
[src]

type Output = Int

The resulting type after applying the % operator

fn rem(self, other: i32) -> Int

The method for the % operator

impl DivRem<i32> for Int
[src]

type Output = (Int, i32)

fn divrem(self, other: i32) -> Self::Output

impl BitAndAssign<i32> for Int
[src]

fn bitand_assign(&mut self, other: i32)

The method for the & operator

impl BitOrAssign<i32> for Int
[src]

fn bitor_assign(&mut self, other: i32)

The method for the |= operator

impl BitXorAssign<i32> for Int
[src]

fn bitxor_assign(&mut self, other: i32)

The method for the ^= operator

impl<'a> Add<i32> for &'a Int
[src]

type Output = Int

The resulting type after applying the + operator

fn add(self, other: i32) -> Int

The method for the + operator

impl<'a> Sub<i32> for &'a Int
[src]

type Output = Int

The resulting type after applying the - operator

fn sub(self, other: i32) -> Int

The method for the - operator

impl<'a> Mul<i32> for &'a Int
[src]

type Output = Int

The resulting type after applying the * operator

fn mul(self, other: i32) -> Int

The method for the * operator

impl<'a> Div<i32> for &'a Int
[src]

type Output = Int

The resulting type after applying the / operator

fn div(self, other: i32) -> Int

The method for the / operator

impl<'a> Rem<i32> for &'a Int
[src]

type Output = Int

The resulting type after applying the % operator

fn rem(self, other: i32) -> Int

The method for the % operator

impl BitAnd<i32> for Int
[src]

type Output = Int

The resulting type after applying the & operator

fn bitand(self, other: i32) -> Int

The method for the & operator

impl<'a> BitAnd<i32> for &'a Int
[src]

type Output = Int

The resulting type after applying the & operator

fn bitand(self, other: i32) -> Int

The method for the & operator

impl BitOr<i32> for Int
[src]

type Output = Int

The resulting type after applying the | operator

fn bitor(self, other: i32) -> Int

The method for the | operator

impl<'a> BitOr<i32> for &'a Int
[src]

type Output = Int

The resulting type after applying the | operator

fn bitor(self, other: i32) -> Int

The method for the | operator

impl BitXor<i32> for Int
[src]

type Output = Int

The resulting type after applying the ^ operator

fn bitxor(self, other: i32) -> Int

The method for the ^ operator

impl<'a> BitXor<i32> for &'a Int
[src]

type Output = Int

The resulting type after applying the ^ operator

fn bitxor(self, other: i32) -> Int

The method for the ^ operator

impl Add<usize> for Int
[src]

type Output = Int

The resulting type after applying the + operator

fn add(self, other: usize) -> Int

The method for the + operator

impl AddAssign<usize> for Int
[src]

fn add_assign(&mut self, other: usize)

The method for the += operator

impl Sub<usize> for Int
[src]

type Output = Int

The resulting type after applying the - operator

fn sub(self, other: usize) -> Int

The method for the - operator

impl SubAssign<usize> for Int
[src]

fn sub_assign(&mut self, other: usize)

The method for the -= operator

impl Mul<usize> for Int
[src]

type Output = Int

The resulting type after applying the * operator

fn mul(self, other: usize) -> Int

The method for the * operator

impl MulAssign<usize> for Int
[src]

fn mul_assign(&mut self, other: usize)

The method for the *= operator

impl Div<usize> for Int
[src]

type Output = Int

The resulting type after applying the / operator

fn div(self, other: usize) -> Int

The method for the / operator

impl DivAssign<usize> for Int
[src]

fn div_assign(&mut self, other: usize)

The method for the /= operator

impl Rem<usize> for Int
[src]

type Output = Int

The resulting type after applying the % operator

fn rem(self, other: usize) -> Int

The method for the % operator

impl RemAssign<usize> for Int
[src]

fn rem_assign(&mut self, other: usize)

The method for the %= operator

impl DivRem<usize> for Int
[src]

type Output = (Int, usize)

fn divrem(self, other: usize) -> Self::Output

impl BitAndAssign<usize> for Int
[src]

fn bitand_assign(&mut self, other: usize)

The method for the & operator

impl BitOrAssign<usize> for Int
[src]

fn bitor_assign(&mut self, other: usize)

The method for the |= operator

impl BitXorAssign<usize> for Int
[src]

fn bitxor_assign(&mut self, other: usize)

The method for the ^= operator

impl<'a> Add<usize> for &'a Int
[src]

type Output = Int

The resulting type after applying the + operator

fn add(self, other: usize) -> Int

The method for the + operator

impl<'a> Sub<usize> for &'a Int
[src]

type Output = Int

The resulting type after applying the - operator

fn sub(self, other: usize) -> Int

The method for the - operator

impl<'a> Mul<usize> for &'a Int
[src]

type Output = Int

The resulting type after applying the * operator

fn mul(self, other: usize) -> Int

The method for the * operator

impl<'a> Div<usize> for &'a Int
[src]

type Output = Int

The resulting type after applying the / operator

fn div(self, other: usize) -> Int

The method for the / operator

impl<'a> Rem<usize> for &'a Int
[src]

type Output = Int

The resulting type after applying the % operator

fn rem(self, other: usize) -> Int

The method for the % operator

impl BitAnd<usize> for Int
[src]

type Output = Int

The resulting type after applying the & operator

fn bitand(self, other: usize) -> Int

The method for the & operator

impl<'a> BitAnd<usize> for &'a Int
[src]

type Output = Int

The resulting type after applying the & operator

fn bitand(self, other: usize) -> Int

The method for the & operator

impl BitOr<usize> for Int
[src]

type Output = Int

The resulting type after applying the | operator

fn bitor(self, other: usize) -> Int

The method for the | operator

impl<'a> BitOr<usize> for &'a Int
[src]

type Output = Int

The resulting type after applying the | operator

fn bitor(self, other: usize) -> Int

The method for the | operator

impl BitXor<usize> for Int
[src]

type Output = Int

The resulting type after applying the ^ operator

fn bitxor(self, other: usize) -> Int

The method for the ^ operator

impl<'a> BitXor<usize> for &'a Int
[src]

type Output = Int

The resulting type after applying the ^ operator

fn bitxor(self, other: usize) -> Int

The method for the ^ operator

impl Add<BaseInt> for Int
[src]

type Output = Int

The resulting type after applying the + operator

fn add(self, other: BaseInt) -> Int

The method for the + operator

impl AddAssign<BaseInt> for Int
[src]

fn add_assign(&mut self, other: BaseInt)

The method for the += operator

impl Sub<BaseInt> for Int
[src]

type Output = Int

The resulting type after applying the - operator

fn sub(self, other: BaseInt) -> Int

The method for the - operator

impl SubAssign<BaseInt> for Int
[src]

fn sub_assign(&mut self, other: BaseInt)

The method for the -= operator

impl Mul<BaseInt> for Int
[src]

type Output = Int

The resulting type after applying the * operator

fn mul(self, other: BaseInt) -> Int

The method for the * operator

impl MulAssign<BaseInt> for Int
[src]

fn mul_assign(&mut self, other: BaseInt)

The method for the *= operator

impl Div<BaseInt> for Int
[src]

type Output = Int

The resulting type after applying the / operator

fn div(self, other: BaseInt) -> Int

The method for the / operator

impl DivAssign<BaseInt> for Int
[src]

fn div_assign(&mut self, other: BaseInt)

The method for the /= operator

impl Rem<BaseInt> for Int
[src]

type Output = Int

The resulting type after applying the % operator

fn rem(self, other: BaseInt) -> Int

The method for the % operator

impl RemAssign<BaseInt> for Int
[src]

fn rem_assign(&mut self, other: BaseInt)

The method for the %= operator

impl DivRem<BaseInt> for Int
[src]

type Output = (Int, BaseInt)

fn divrem(self, other: BaseInt) -> Self::Output

impl BitAndAssign<BaseInt> for Int
[src]

fn bitand_assign(&mut self, other: BaseInt)

The method for the & operator

impl BitOrAssign<BaseInt> for Int
[src]

fn bitor_assign(&mut self, other: BaseInt)

The method for the |= operator

impl BitXorAssign<BaseInt> for Int
[src]

fn bitxor_assign(&mut self, other: BaseInt)

The method for the ^= operator

impl<'a> Add<BaseInt> for &'a Int
[src]

type Output = Int

The resulting type after applying the + operator

fn add(self, other: BaseInt) -> Int

The method for the + operator

impl<'a> Sub<BaseInt> for &'a Int
[src]

type Output = Int

The resulting type after applying the - operator

fn sub(self, other: BaseInt) -> Int

The method for the - operator

impl<'a> Mul<BaseInt> for &'a Int
[src]

type Output = Int

The resulting type after applying the * operator

fn mul(self, other: BaseInt) -> Int

The method for the * operator

impl<'a> Div<BaseInt> for &'a Int
[src]

type Output = Int

The resulting type after applying the / operator

fn div(self, other: BaseInt) -> Int

The method for the / operator

impl<'a> Rem<BaseInt> for &'a Int
[src]

type Output = Int

The resulting type after applying the % operator

fn rem(self, other: BaseInt) -> Int

The method for the % operator

impl BitAnd<BaseInt> for Int
[src]

type Output = Int

The resulting type after applying the & operator

fn bitand(self, other: BaseInt) -> Int

The method for the & operator

impl<'a> BitAnd<BaseInt> for &'a Int
[src]

type Output = Int

The resulting type after applying the & operator

fn bitand(self, other: BaseInt) -> Int

The method for the & operator

impl BitOr<BaseInt> for Int
[src]

type Output = Int

The resulting type after applying the | operator

fn bitor(self, other: BaseInt) -> Int

The method for the | operator

impl<'a> BitOr<BaseInt> for &'a Int
[src]

type Output = Int

The resulting type after applying the | operator

fn bitor(self, other: BaseInt) -> Int

The method for the | operator

impl BitXor<BaseInt> for Int
[src]

type Output = Int

The resulting type after applying the ^ operator

fn bitxor(self, other: BaseInt) -> Int

The method for the ^ operator

impl<'a> BitXor<BaseInt> for &'a Int
[src]

type Output = Int

The resulting type after applying the ^ operator

fn bitxor(self, other: BaseInt) -> Int

The method for the ^ operator

impl PartialEq<i32> for Int
[src]

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

This method tests for self and other values to be equal, and is used by ==. Read more

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

This method tests for !=.

impl PartialOrd<i32> for Int
[src]

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

This method returns an ordering between self and other values if one exists. Read more

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

This method tests less than (for self and other) and is used by the < operator. Read more

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

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

This method tests greater than (for self and other) and is used by the > operator. Read more

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl PartialEq<usize> for Int
[src]

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

This method tests for self and other values to be equal, and is used by ==. Read more

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

This method tests for !=.

impl PartialOrd<usize> for Int
[src]

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

This method returns an ordering between self and other values if one exists. Read more

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

This method tests less than (for self and other) and is used by the < operator. Read more

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

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

This method tests greater than (for self and other) and is used by the > operator. Read more

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl PartialEq<u64> for Int
[src]

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

This method tests for self and other values to be equal, and is used by ==. Read more

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

This method tests for !=.

impl PartialOrd<u64> for Int
[src]

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

This method returns an ordering between self and other values if one exists. Read more

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

This method tests less than (for self and other) and is used by the < operator. Read more

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

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

This method tests greater than (for self and other) and is used by the > operator. Read more

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl PartialEq<i64> for Int
[src]

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

This method tests for self and other values to be equal, and is used by ==. Read more

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

This method tests for !=.

impl PartialOrd<i64> for Int
[src]

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

This method returns an ordering between self and other values if one exists. Read more

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

This method tests less than (for self and other) and is used by the < operator. Read more

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

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

This method tests greater than (for self and other) and is used by the > operator. Read more

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl From<i8> for Int
[src]

fn from(val: i8) -> Int

Performs the conversion.

impl From<i16> for Int
[src]

fn from(val: i16) -> Int

Performs the conversion.

impl From<i32> for Int
[src]

fn from(val: i32) -> Int

Performs the conversion.

impl From<i64> for Int
[src]

fn from(val: i64) -> Int

Performs the conversion.

impl From<isize> for Int
[src]

fn from(val: isize) -> Int

Performs the conversion.

impl From<u8> for Int
[src]

fn from(val: u8) -> Int

Performs the conversion.

impl From<u16> for Int
[src]

fn from(val: u16) -> Int

Performs the conversion.

impl From<u32> for Int
[src]

fn from(val: u32) -> Int

Performs the conversion.

impl From<u64> for Int
[src]

fn from(val: u64) -> Int

Performs the conversion.

impl From<usize> for Int
[src]

fn from(val: usize) -> Int

Performs the conversion.

impl Binary for Int
[src]

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

Formats the value using the given formatter.

impl Octal for Int
[src]

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

Formats the value using the given formatter.

impl Display for Int
[src]

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

Formats the value using the given formatter.

impl Debug for Int
[src]

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

Formats the value using the given formatter.

impl LowerHex for Int
[src]

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

Formats the value using the given formatter.

impl UpperHex for Int
[src]

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

Formats the value using the given formatter.

impl FromStr for Int
[src]

type Err = ParseIntError

The associated error which can be returned from parsing.

fn from_str(src: &str) -> Result<IntParseIntError>

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

impl Zero for Int
[src]

fn zero() -> Int

Deprecated since 1.11.0

: no longer used for Iterator::sum

Unstable (zero_one)

: no longer used for Iterator::sum

The "zero" (usually, additive identity) for this type.

impl One for Int
[src]

fn one() -> Int

Deprecated since 1.11.0

: no longer used for Iterator::product

Unstable (zero_one)

: no longer used for Iterator::product

The "one" (usually, multiplicative identity) for this type.

impl Step for Int
[src]

fn step(&self, by: &Int) -> Option<Int>

Unstable (step_trait)

: likely to be replaced by finer-grained traits

Steps self if possible.

fn steps_between(start: &Int, end: &Int, by: &Int) -> Option<usize>

Unstable (step_trait)

: likely to be replaced by finer-grained traits

Returns the number of steps between two step objects. The count is inclusive of start and exclusive of end. Read more

fn steps_between_by_one(start: &Self, end: &Self) -> Option<usize>

Unstable (step_trait)

: likely to be replaced by finer-grained traits

Same as steps_between, but with a by of 1

fn is_negative(&self) -> bool

Unstable (step_trait)

: likely to be replaced by finer-grained traits

Tests whether this step is negative or not (going backwards)

fn replace_one(&mut self) -> Self

Unstable (step_trait)

: likely to be replaced by finer-grained traits

Replaces this step with 1, returning itself

fn replace_zero(&mut self) -> Self

Unstable (step_trait)

: likely to be replaced by finer-grained traits

Replaces this step with 0, returning itself

fn add_one(&self) -> Self

Unstable (step_trait)

: likely to be replaced by finer-grained traits

Adds one to this step, returning the result

fn sub_one(&self) -> Self

Unstable (step_trait)

: likely to be replaced by finer-grained traits

Subtracts one to this step, returning the result

impl PartialEq<Rational> for Int
[src]

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

This method tests for self and other values to be equal, and is used by ==. Read more

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

This method tests for !=.

impl PartialOrd<Rational> for Int
[src]

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

This method returns an ordering between self and other values if one exists. Read more

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

This method tests less than (for self and other) and is used by the < operator. Read more

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

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

This method tests greater than (for self and other) and is used by the > operator. Read more

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Add<Rational> for Int
[src]

type Output = Rational

The resulting type after applying the + operator

fn add(self, other: Rational) -> Rational

The method for the + operator

impl<'a> Add<&'a Rational> for Int
[src]

type Output = Rational

The resulting type after applying the + operator

fn add(self, other: &'a Rational) -> Rational

The method for the + operator

impl<'a> Add<Rational> for &'a Int
[src]

type Output = Rational

The resulting type after applying the + operator

fn add(self, other: Rational) -> Rational

The method for the + operator

impl<'a> Add<&'a Rational> for &'a Int
[src]

type Output = Rational

The resulting type after applying the + operator

fn add(self, other: &'a Rational) -> Rational

The method for the + operator

impl Mul<Rational> for Int
[src]

type Output = Rational

The resulting type after applying the * operator

fn mul(self, other: Rational) -> Rational

The method for the * operator

impl<'a> Mul<&'a Rational> for Int
[src]

type Output = Rational

The resulting type after applying the * operator

fn mul(self, other: &'a Rational) -> Rational

The method for the * operator

impl<'a> Mul<Rational> for &'a Int
[src]

type Output = Rational

The resulting type after applying the * operator

fn mul(self, other: Rational) -> Rational

The method for the * operator

impl<'a> Mul<&'a Rational> for &'a Int
[src]

type Output = Rational

The resulting type after applying the * operator

fn mul(self, other: &'a Rational) -> Rational

The method for the * operator

impl Div<Rational> for Int
[src]

type Output = Rational

The resulting type after applying the / operator

fn div(self, other: Rational) -> Rational

The method for the / operator

impl<'a> Div<&'a Rational> for Int
[src]

type Output = Rational

The resulting type after applying the / operator

fn div(self, other: &'a Rational) -> Rational

The method for the / operator

impl<'a> Div<Rational> for &'a Int
[src]

type Output = Rational

The resulting type after applying the / operator

fn div(self, other: Rational) -> Rational

The method for the / operator

impl<'a> Div<&'a Rational> for &'a Int
[src]

type Output = Rational

The resulting type after applying the / operator

fn div(self, other: &'a Rational) -> Rational

The method for the / operator