Struct num::BigUint
[−]
[src]
pub struct BigUint { /* fields omitted */ }
A big unsigned integer type.
A BigUint
-typed value BigUint { data: vec!(a, b, c) }
represents a number
(a + b * big_digit::BASE + c * big_digit::BASE^2)
.
Methods
impl BigUint
[src]
fn new(digits: Vec<u32>) -> BigUint
[src]
Creates and initializes a BigUint
.
The digits are in little-endian base 232.
fn from_slice(slice: &[u32]) -> BigUint
[src]
Creates and initializes a BigUint
.
The digits are in little-endian base 232.
fn assign_from_slice(&mut self, slice: &[u32])
[src]
Assign a value to a BigUint
.
The digits are in little-endian base 232.
fn from_bytes_be(bytes: &[u8]) -> BigUint
[src]
Creates and initializes a BigUint
.
The bytes are in big-endian byte order.
Examples
use num_bigint::BigUint; assert_eq!(BigUint::from_bytes_be(b"A"), BigUint::parse_bytes(b"65", 10).unwrap()); assert_eq!(BigUint::from_bytes_be(b"AA"), BigUint::parse_bytes(b"16705", 10).unwrap()); assert_eq!(BigUint::from_bytes_be(b"AB"), BigUint::parse_bytes(b"16706", 10).unwrap()); assert_eq!(BigUint::from_bytes_be(b"Hello world!"), BigUint::parse_bytes(b"22405534230753963835153736737", 10).unwrap());
fn from_bytes_le(bytes: &[u8]) -> BigUint
[src]
Creates and initializes a BigUint
.
The bytes are in little-endian byte order.
fn parse_bytes(buf: &[u8], radix: u32) -> Option<BigUint>
[src]
Creates and initializes a BigUint
. The input slice must contain
ascii/utf8 characters in [0-9a-zA-Z].
radix
must be in the range 2...36
.
The function from_str_radix
from the Num
trait provides the same logic
for &str
buffers.
Examples
use num_bigint::{BigUint, ToBigUint}; assert_eq!(BigUint::parse_bytes(b"1234", 10), ToBigUint::to_biguint(&1234)); assert_eq!(BigUint::parse_bytes(b"ABCD", 16), ToBigUint::to_biguint(&0xABCD)); assert_eq!(BigUint::parse_bytes(b"G", 16), None);
fn from_radix_be(buf: &[u8], radix: u32) -> Option<BigUint>
[src]
Creates and initializes a BigUint
. Each u8 of the input slice is
interpreted as one digit of the number
and must therefore be less than radix
.
The bytes are in big-endian byte order.
radix
must be in the range 2...256
.
Examples
use num_bigint::{BigUint}; let inbase190 = &[15, 33, 125, 12, 14]; let a = BigUint::from_radix_be(inbase190, 190).unwrap(); assert_eq!(a.to_radix_be(190), inbase190);
fn from_radix_le(buf: &[u8], radix: u32) -> Option<BigUint>
[src]
Creates and initializes a BigUint
. Each u8 of the input slice is
interpreted as one digit of the number
and must therefore be less than radix
.
The bytes are in little-endian byte order.
radix
must be in the range 2...256
.
Examples
use num_bigint::{BigUint}; let inbase190 = &[14, 12, 125, 33, 15]; let a = BigUint::from_radix_be(inbase190, 190).unwrap(); assert_eq!(a.to_radix_be(190), inbase190);
fn to_bytes_be(&self) -> Vec<u8>
[src]
Returns the byte representation of the BigUint
in big-endian byte order.
Examples
use num_bigint::BigUint; let i = BigUint::parse_bytes(b"1125", 10).unwrap(); assert_eq!(i.to_bytes_be(), vec![4, 101]);
fn to_bytes_le(&self) -> Vec<u8>
[src]
Returns the byte representation of the BigUint
in little-endian byte order.
Examples
use num_bigint::BigUint; let i = BigUint::parse_bytes(b"1125", 10).unwrap(); assert_eq!(i.to_bytes_le(), vec![101, 4]);
fn to_str_radix(&self, radix: u32) -> String
[src]
Returns the integer formatted as a string in the given radix.
radix
must be in the range 2...36
.
Examples
use num_bigint::BigUint; let i = BigUint::parse_bytes(b"ff", 16).unwrap(); assert_eq!(i.to_str_radix(16), "ff");
fn to_radix_be(&self, radix: u32) -> Vec<u8>
[src]
Returns the integer in the requested base in big-endian digit order.
The output is not given in a human readable alphabet but as a zero
based u8 number.
radix
must be in the range 2...256
.
Examples
use num_bigint::BigUint; assert_eq!(BigUint::from(0xFFFFu64).to_radix_be(159), vec![2, 94, 27]); // 0xFFFF = 65535 = 2*(159^2) + 94*159 + 27
fn to_radix_le(&self, radix: u32) -> Vec<u8>
[src]
Returns the integer in the requested base in little-endian digit order.
The output is not given in a human readable alphabet but as a zero
based u8 number.
radix
must be in the range 2...256
.
Examples
use num_bigint::BigUint; assert_eq!(BigUint::from(0xFFFFu64).to_radix_le(159), vec![27, 94, 2]); // 0xFFFF = 65535 = 27 + 94*159 + 2*(159^2)
fn bits(&self) -> usize
[src]
Determines the fewest bits necessary to express the BigUint
.
fn modpow(&self, exponent: &BigUint, modulus: &BigUint) -> BigUint
[src]
Returns (self ^ exponent) % modulus
.
Panics if the modulus is zero.
Trait Implementations
impl ToBigInt for BigUint
[src]
impl Ord for BigUint
[src]
impl One for BigUint
[src]
impl Hash for BigUint
[src]
impl CheckedSub for BigUint
[src]
fn checked_sub(&self, v: &BigUint) -> Option<BigUint>
[src]
Subtracts two numbers, checking for underflow. If underflow happens, None
is returned. Read more
impl FromPrimitive for BigUint
[src]
fn from_i64(n: i64) -> Option<BigUint>
[src]
Convert an i64
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_u64(n: u64) -> Option<BigUint>
[src]
Convert an u64
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_f64(n: f64) -> Option<BigUint>
[src]
Convert a f64
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_isize(n: isize) -> Option<Self>
[src]
Convert an isize
to return an optional value of this type. If the value cannot be represented by this value, the None
is returned. Read more
fn from_i8(n: i8) -> Option<Self>
[src]
Convert an i8
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_i16(n: i16) -> Option<Self>
[src]
Convert an i16
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_i32(n: i32) -> Option<Self>
[src]
Convert an i32
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_usize(n: usize) -> Option<Self>
[src]
Convert a usize
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_u8(n: u8) -> Option<Self>
[src]
Convert an u8
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_u16(n: u16) -> Option<Self>
[src]
Convert an u16
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_u32(n: u32) -> Option<Self>
[src]
Convert an u32
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_f32(n: f32) -> Option<Self>
[src]
Convert a f32
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
impl Clone for BigUint
[src]
impl BitXor<BigUint> for BigUint
[src]
impl<'a> BitXor<BigUint> for &'a BigUint
[src]
impl<'a> BitXor<&'a BigUint> for BigUint
[src]
impl<'a, 'b> BitXor<&'b BigUint> for &'a BigUint
[src]
impl From<u32> for BigUint
[src]
impl From<usize> for BigUint
[src]
impl From<u8> for BigUint
[src]
impl From<u64> for BigUint
[src]
impl From<u16> for BigUint
[src]
impl BitOr<BigUint> for BigUint
[src]
impl<'a> BitOr<&'a BigUint> for BigUint
[src]
impl<'a, 'b> BitOr<&'b BigUint> for &'a BigUint
[src]
impl<'a> BitOr<BigUint> for &'a BigUint
[src]
impl ToPrimitive for BigUint
[src]
fn to_i64(&self) -> Option<i64>
[src]
Converts the value of self
to an i64
.
fn to_u64(&self) -> Option<u64>
[src]
Converts the value of self
to an u64
.
fn to_f32(&self) -> Option<f32>
[src]
Converts the value of self
to an f32
.
fn to_f64(&self) -> Option<f64>
[src]
Converts the value of self
to an f64
.
fn to_isize(&self) -> Option<isize>
[src]
Converts the value of self
to an isize
.
fn to_i8(&self) -> Option<i8>
[src]
Converts the value of self
to an i8
.
fn to_i16(&self) -> Option<i16>
[src]
Converts the value of self
to an i16
.
fn to_i32(&self) -> Option<i32>
[src]
Converts the value of self
to an i32
.
fn to_usize(&self) -> Option<usize>
[src]
Converts the value of self
to a usize
.
fn to_u8(&self) -> Option<u8>
[src]
Converts the value of self
to an u8
.
fn to_u16(&self) -> Option<u16>
[src]
Converts the value of self
to an u16
.
fn to_u32(&self) -> Option<u32>
[src]
Converts the value of self
to an u32
.
impl<'a> BitOrAssign<&'a BigUint> for BigUint
[src]
fn bitor_assign(&mut self, other: &BigUint)
[src]
impl BitOrAssign<BigUint> for BigUint
[src]
fn bitor_assign(&mut self, other: BigUint)
[src]
impl Octal for BigUint
[src]
impl BitAndAssign<BigUint> for BigUint
[src]
fn bitand_assign(&mut self, other: BigUint)
[src]
impl<'a> BitAndAssign<&'a BigUint> for BigUint
[src]
fn bitand_assign(&mut self, other: &BigUint)
[src]
impl PartialEq<BigUint> for BigUint
[src]
impl Add<u64> for BigUint
[src]
impl<'a> Add<&'a u16> for BigUint
[src]
impl<'a> Add<&'a u8> for BigUint
[src]
impl<'a> Add<u32> for &'a BigUint
[src]
impl<'a> Add<u16> for &'a BigUint
[src]
impl Add<u8> for BigUint
[src]
impl Add<BigUint> for BigUint
[src]
impl<'a> Add<u64> for &'a BigUint
[src]
impl Add<u32> for BigUint
[src]
impl<'a, 'b> Add<&'b BigUint> for &'a BigUint
[src]
impl<'a> Add<&'a u64> for BigUint
[src]
impl<'a> Add<u8> for &'a BigUint
[src]
impl<'a> Add<&'a usize> for BigUint
[src]
impl<'a> Add<usize> for &'a BigUint
[src]
impl Add<u16> for BigUint
[src]
impl Add<usize> for BigUint
[src]
impl<'a> Add<&'a u32> for BigUint
[src]
impl<'a, 'b> Add<&'b u8> for &'a BigUint
[src]
impl<'a, 'b> Add<&'b u64> for &'a BigUint
[src]
impl<'a> Add<&'a BigUint> for BigUint
[src]
impl<'a, 'b> Add<&'b u16> for &'a BigUint
[src]
impl<'a, 'b> Add<&'b usize> for &'a BigUint
[src]
impl<'a> Add<BigUint> for &'a BigUint
[src]
impl<'a, 'b> Add<&'b u32> for &'a BigUint
[src]
impl FromStr for BigUint
[src]
type Err = ParseBigIntError
fn from_str(s: &str) -> Result<BigUint, ParseBigIntError>
[src]
impl Debug for BigUint
[src]
impl ToBigUint for BigUint
[src]
fn to_biguint(&self) -> Option<BigUint>
[src]
impl AddAssign<u32> for BigUint
[src]
fn add_assign(&mut self, other: u32)
[src]
impl AddAssign<usize> for BigUint
[src]
fn add_assign(&mut self, other: usize)
[src]
impl AddAssign<u64> for BigUint
[src]
fn add_assign(&mut self, other: u64)
[src]
impl AddAssign<u8> for BigUint
[src]
fn add_assign(&mut self, other: u8)
[src]
impl AddAssign<u16> for BigUint
[src]
fn add_assign(&mut self, other: u16)
[src]
impl AddAssign<BigUint> for BigUint
[src]
fn add_assign(&mut self, other: BigUint)
[src]
impl<'a> AddAssign<&'a BigUint> for BigUint
[src]
fn add_assign(&mut self, other: &BigUint)
[src]
impl<'a, 'b> Rem<&'b u8> for &'a BigUint
[src]
impl<'a> Rem<&'a u64> for BigUint
[src]
impl<'a> Rem<usize> for &'a BigUint
[src]
impl<'a> Rem<&'a BigUint> for BigUint
[src]
impl<'a> Rem<&'a usize> for BigUint
[src]
impl<'a, 'b> Rem<&'b u16> for &'a BigUint
[src]
impl Rem<u8> for BigUint
[src]
impl<'a, 'b> Rem<&'b BigUint> for &'a BigUint
[src]
impl Rem<u64> for BigUint
[src]
impl Rem<u16> for BigUint
[src]
impl<'a> Rem<u32> for &'a BigUint
[src]
impl<'a> Rem<&'a u32> for BigUint
[src]
impl<'a> Rem<u8> for &'a BigUint
[src]
impl Rem<usize> for BigUint
[src]
impl<'a, 'b> Rem<&'b u32> for &'a BigUint
[src]
impl<'a> Rem<&'a u16> for BigUint
[src]
impl Rem<u32> for BigUint
[src]
impl<'a> Rem<&'a u8> for BigUint
[src]
impl<'a> Rem<u64> for &'a BigUint
[src]
impl<'a> Rem<u16> for &'a BigUint
[src]
impl Rem<BigUint> for BigUint
[src]
impl<'a> Rem<BigUint> for &'a BigUint
[src]
impl<'a, 'b> Rem<&'b usize> for &'a BigUint
[src]
impl<'a, 'b> Rem<&'b u64> for &'a BigUint
[src]
impl ShrAssign<usize> for BigUint
[src]
fn shr_assign(&mut self, rhs: usize)
[src]
impl RemAssign<BigUint> for BigUint
[src]
fn rem_assign(&mut self, other: BigUint)
[src]
impl RemAssign<u8> for BigUint
[src]
fn rem_assign(&mut self, other: u8)
[src]
impl RemAssign<u32> for BigUint
[src]
fn rem_assign(&mut self, other: u32)
[src]
impl RemAssign<u16> for BigUint
[src]
fn rem_assign(&mut self, other: u16)
[src]
impl RemAssign<u64> for BigUint
[src]
fn rem_assign(&mut self, other: u64)
[src]
impl RemAssign<usize> for BigUint
[src]
fn rem_assign(&mut self, other: usize)
[src]
impl<'a> RemAssign<&'a BigUint> for BigUint
[src]
fn rem_assign(&mut self, other: &BigUint)
[src]
impl CheckedDiv for BigUint
[src]
fn checked_div(&self, v: &BigUint) -> Option<BigUint>
[src]
Divides two numbers, checking for underflow, overflow and division by zero. If any of that happens, None
is returned. Read more
impl Num for BigUint
[src]
type FromStrRadixErr = ParseBigIntError
fn from_str_radix(s: &str, radix: u32) -> Result<BigUint, ParseBigIntError>
[src]
Creates and initializes a BigUint
.
impl CheckedMul for BigUint
[src]
fn checked_mul(&self, v: &BigUint) -> Option<BigUint>
[src]
Multiplies two numbers, checking for underflow or overflow. If underflow or overflow happens, None
is returned. Read more
impl<'a> SubAssign<&'a BigUint> for BigUint
[src]
fn sub_assign(&mut self, other: &'a BigUint)
[src]
impl SubAssign<usize> for BigUint
[src]
fn sub_assign(&mut self, other: usize)
[src]
impl SubAssign<u8> for BigUint
[src]
fn sub_assign(&mut self, other: u8)
[src]
impl SubAssign<BigUint> for BigUint
[src]
fn sub_assign(&mut self, other: BigUint)
[src]
impl SubAssign<u32> for BigUint
[src]
fn sub_assign(&mut self, other: u32)
[src]
impl SubAssign<u64> for BigUint
[src]
fn sub_assign(&mut self, other: u64)
[src]
impl SubAssign<u16> for BigUint
[src]
fn sub_assign(&mut self, other: u16)
[src]
impl Integer for BigUint
[src]
fn div_rem(&self, other: &BigUint) -> (BigUint, BigUint)
[src]
Simultaneous truncated integer division and modulus. Returns (quotient, remainder)
. Read more
fn div_floor(&self, other: &BigUint) -> BigUint
[src]
Floored integer division. Read more
fn mod_floor(&self, other: &BigUint) -> BigUint
[src]
Floored integer modulo, satisfying: Read more
fn div_mod_floor(&self, other: &BigUint) -> (BigUint, BigUint)
[src]
Simultaneous floored integer division and modulus. Returns (quotient, remainder)
. Read more
fn gcd(&self, other: &BigUint) -> BigUint
[src]
Calculates the Greatest Common Divisor (GCD) of the number and other
.
The result is always positive.
fn lcm(&self, other: &BigUint) -> BigUint
[src]
Calculates the Lowest Common Multiple (LCM) of the number and other
.
fn divides(&self, other: &BigUint) -> bool
[src]
Deprecated, use is_multiple_of
instead.
fn is_multiple_of(&self, other: &BigUint) -> bool
[src]
Returns true
if the number is a multiple of other
.
fn is_even(&self) -> bool
[src]
Returns true
if the number is divisible by 2
.
fn is_odd(&self) -> bool
[src]
Returns true
if the number is not divisible by 2
.
impl Default for BigUint
[src]
impl Encodable for BigUint
[src]
fn encode<__S>(&self, __arg_0: &mut __S) -> Result<(), <__S as Encoder>::Error> where
__S: Encoder,
[src]
__S: Encoder,
impl BitAnd<BigUint> for BigUint
[src]
impl<'a> BitAnd<&'a BigUint> for BigUint
[src]
impl<'a, 'b> BitAnd<&'b BigUint> for &'a BigUint
[src]
impl<'a> BitAnd<BigUint> for &'a BigUint
[src]
impl Unsigned for BigUint
[src]
impl<'a> BitXorAssign<&'a BigUint> for BigUint
[src]
fn bitxor_assign(&mut self, other: &BigUint)
[src]
impl BitXorAssign<BigUint> for BigUint
[src]
fn bitxor_assign(&mut self, other: BigUint)
[src]
impl<'a> Div<u8> for &'a BigUint
[src]
impl Div<usize> for BigUint
[src]
impl<'a, 'b> Div<&'b usize> for &'a BigUint
[src]
impl<'a> Div<BigUint> for &'a BigUint
[src]
impl<'a> Div<&'a u16> for BigUint
[src]
impl<'a, 'b> Div<&'b u16> for &'a BigUint
[src]
impl<'a> Div<u64> for &'a BigUint
[src]
impl<'a, 'b> Div<&'b BigUint> for &'a BigUint
[src]
impl<'a> Div<&'a usize> for BigUint
[src]
impl<'a> Div<&'a u8> for BigUint
[src]
impl Div<u64> for BigUint
[src]
impl<'a, 'b> Div<&'b u32> for &'a BigUint
[src]
impl<'a, 'b> Div<&'b u64> for &'a BigUint
[src]
impl<'a, 'b> Div<&'b u8> for &'a BigUint
[src]
impl<'a> Div<&'a BigUint> for BigUint
[src]
impl<'a> Div<u16> for &'a BigUint
[src]
impl Div<BigUint> for BigUint
[src]
impl<'a> Div<u32> for &'a BigUint
[src]
impl<'a> Div<usize> for &'a BigUint
[src]
impl Div<u32> for BigUint
[src]
impl<'a> Div<&'a u64> for BigUint
[src]
impl Div<u8> for BigUint
[src]
impl Div<u16> for BigUint
[src]
impl<'a> Div<&'a u32> for BigUint
[src]
impl UpperHex for BigUint
[src]
impl Shr<usize> for BigUint
[src]
impl<'a> Shr<usize> for &'a BigUint
[src]
impl Eq for BigUint
[src]
impl ShlAssign<usize> for BigUint
[src]
fn shl_assign(&mut self, rhs: usize)
[src]
impl Zero for BigUint
[src]
fn zero() -> BigUint
[src]
Returns the additive identity element of Self
, 0
. Read more
fn is_zero(&self) -> bool
[src]
Returns true
if self
is equal to the additive identity.
impl DivAssign<u16> for BigUint
[src]
fn div_assign(&mut self, other: u16)
[src]
impl DivAssign<BigUint> for BigUint
[src]
fn div_assign(&mut self, other: BigUint)
[src]
impl<'a> DivAssign<&'a BigUint> for BigUint
[src]
fn div_assign(&mut self, other: &'a BigUint)
[src]
impl DivAssign<u64> for BigUint
[src]
fn div_assign(&mut self, other: u64)
[src]
impl DivAssign<u32> for BigUint
[src]
fn div_assign(&mut self, other: u32)
[src]
impl DivAssign<usize> for BigUint
[src]
fn div_assign(&mut self, other: usize)
[src]
impl DivAssign<u8> for BigUint
[src]
fn div_assign(&mut self, other: u8)
[src]
impl CheckedAdd for BigUint
[src]
fn checked_add(&self, v: &BigUint) -> Option<BigUint>
[src]
Adds two numbers, checking for overflow. If overflow happens, None
is returned. Read more
impl MulAssign<BigUint> for BigUint
[src]
fn mul_assign(&mut self, other: BigUint)
[src]
impl MulAssign<u16> for BigUint
[src]
fn mul_assign(&mut self, other: u16)
[src]
impl MulAssign<usize> for BigUint
[src]
fn mul_assign(&mut self, other: usize)
[src]
impl MulAssign<u32> for BigUint
[src]
fn mul_assign(&mut self, other: u32)
[src]
impl MulAssign<u64> for BigUint
[src]
fn mul_assign(&mut self, other: u64)
[src]
impl MulAssign<u8> for BigUint
[src]
fn mul_assign(&mut self, other: u8)
[src]
impl<'a> MulAssign<&'a BigUint> for BigUint
[src]
fn mul_assign(&mut self, other: &'a BigUint)
[src]
impl Shl<usize> for BigUint
[src]
impl<'a> Shl<usize> for &'a BigUint
[src]
impl Decodable for BigUint
[src]
fn decode<__D>(__arg_0: &mut __D) -> Result<BigUint, <__D as Decoder>::Error> where
__D: Decoder,
[src]
__D: Decoder,