Struct num::bigint::BigUint
[-] [+]
[src]
pub struct BigUint { // some 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
fn new(digits: Vec<BigDigit>) -> BigUint
Creates and initializes a BigUint
.
The digits are in little-endian base 232.
fn from_slice(slice: &[BigDigit]) -> BigUint
Creates and initializes a BigUint
.
The digits are in little-endian base 232.
fn from_bytes_be(bytes: &[u8]) -> BigUint
Creates and initializes a BigUint
.
The bytes are in big-endian byte order.
Examples
extern crate num; fn main() { use num::bigint::BigUint; assert_eq!(BigUint::from_bytes_be("A".as_bytes()), BigUint::parse_bytes("65".as_bytes(), 10).unwrap()); assert_eq!(BigUint::from_bytes_be("AA".as_bytes()), BigUint::parse_bytes("16705".as_bytes(), 10).unwrap()); assert_eq!(BigUint::from_bytes_be("AB".as_bytes()), BigUint::parse_bytes("16706".as_bytes(), 10).unwrap()); assert_eq!(BigUint::from_bytes_be("Hello world!".as_bytes()), BigUint::parse_bytes("22405534230753963835153736737".as_bytes(), 10).unwrap()); }use num::bigint::BigUint; assert_eq!(BigUint::from_bytes_be("A".as_bytes()), BigUint::parse_bytes("65".as_bytes(), 10).unwrap()); assert_eq!(BigUint::from_bytes_be("AA".as_bytes()), BigUint::parse_bytes("16705".as_bytes(), 10).unwrap()); assert_eq!(BigUint::from_bytes_be("AB".as_bytes()), BigUint::parse_bytes("16706".as_bytes(), 10).unwrap()); assert_eq!(BigUint::from_bytes_be("Hello world!".as_bytes()), BigUint::parse_bytes("22405534230753963835153736737".as_bytes(), 10).unwrap());
fn from_bytes_le(bytes: &[u8]) -> BigUint
Creates and initializes a BigUint
.
The bytes are in little-endian byte order.
fn to_bytes_le(&self) -> Vec<u8>
Returns the byte representation of the BigUint
in little-endian byte order.
fn to_bytes_be(&self) -> Vec<u8>
Returns the byte representation of the BigUint
in big-endian byte order.
fn parse_bytes(buf: &[u8], radix: u32) -> Option<BigUint>
Creates and initializes a BigUint
.
Examples
extern crate num; fn main() { use num::bigint::{BigUint, ToBigUint}; assert_eq!(BigUint::parse_bytes("1234".as_bytes(), 10), ToBigUint::to_biguint(&1234)); assert_eq!(BigUint::parse_bytes("ABCD".as_bytes(), 16), ToBigUint::to_biguint(&0xABCD)); assert_eq!(BigUint::parse_bytes("G".as_bytes(), 16), None); }use num::bigint::{BigUint, ToBigUint}; assert_eq!(BigUint::parse_bytes("1234".as_bytes(), 10), ToBigUint::to_biguint(&1234)); assert_eq!(BigUint::parse_bytes("ABCD".as_bytes(), 16), ToBigUint::to_biguint(&0xABCD)); assert_eq!(BigUint::parse_bytes("G".as_bytes(), 16), None);
fn bits(&self) -> usize
Determines the fewest bits necessary to express the BigUint
.
Trait Implementations
impl PartialEq for BigUint
impl Eq for BigUint
fn assert_receiver_is_total_eq(&self)
impl PartialOrd for BigUint
fn partial_cmp(&self, other: &BigUint) -> Option<Ordering>
fn lt(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
fn gt(&self, other: &Rhs) -> bool
fn ge(&self, other: &Rhs) -> bool
impl Ord for BigUint
impl Default for BigUint
impl Hash for BigUint
fn hash<H>(&self, state: &mut H) where H: Hasher
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
impl Display for BigUint
impl FromStr for BigUint
type Err = ParseBigIntError
fn from_str(s: &str) -> Result<BigUint, ParseBigIntError>
impl Num for BigUint
impl BitAnd<BigUint> for BigUint
impl<'a> BitAnd<&'a BigUint> for BigUint
impl BitOr<BigUint> for BigUint
impl<'a> BitOr<&'a BigUint> for BigUint
impl BitXor<BigUint> for BigUint
impl<'a> BitXor<&'a BigUint> for BigUint
impl Shl<usize> for BigUint
impl Shr<usize> for BigUint
impl Zero for BigUint
impl One for BigUint
impl Unsigned for BigUint
impl Add<BigUint> for BigUint
impl<'a> Add<&'a BigUint> for BigUint
impl Sub<BigUint> for BigUint
impl<'a> Sub<&'a BigUint> for BigUint
impl Mul<BigUint> for BigUint
impl<'a> Mul<&'a BigUint> for BigUint
impl Div<BigUint> for BigUint
impl<'a> Div<&'a BigUint> for BigUint
impl Rem<BigUint> for BigUint
impl<'a> Rem<&'a BigUint> for BigUint
impl Neg for BigUint
impl CheckedAdd for BigUint
fn checked_add(&self, v: &BigUint) -> Option<BigUint>
impl CheckedSub for BigUint
fn checked_sub(&self, v: &BigUint) -> Option<BigUint>
impl CheckedMul for BigUint
fn checked_mul(&self, v: &BigUint) -> Option<BigUint>
impl CheckedDiv for BigUint
fn checked_div(&self, v: &BigUint) -> Option<BigUint>
impl Integer for BigUint
fn div_rem(&self, other: &BigUint) -> (BigUint, BigUint)
fn div_floor(&self, other: &BigUint) -> BigUint
fn mod_floor(&self, other: &BigUint) -> BigUint
fn div_mod_floor(&self, other: &BigUint) -> (BigUint, BigUint)
fn gcd(&self, other: &BigUint) -> BigUint
Calculates the Greatest Common Divisor (GCD) of the number and other
.
The result is always positive.
fn lcm(&self, other: &BigUint) -> BigUint
Calculates the Lowest Common Multiple (LCM) of the number and other
.
fn divides(&self, other: &BigUint) -> bool
Deprecated, use is_multiple_of
instead.
fn is_multiple_of(&self, other: &BigUint) -> bool
Returns true
if the number is a multiple of other
.
fn is_even(&self) -> bool
Returns true
if the number is divisible by 2
.
fn is_odd(&self) -> bool
Returns true
if the number is not divisible by 2
.
impl ToPrimitive for BigUint
fn to_i64(&self) -> Option<i64>
fn to_u64(&self) -> Option<u64>
fn to_int(&self) -> Option<isize>
fn to_i8(&self) -> Option<i8>
fn to_i16(&self) -> Option<i16>
fn to_i32(&self) -> Option<i32>
fn to_uint(&self) -> Option<usize>
fn to_u8(&self) -> Option<u8>
fn to_u16(&self) -> Option<u16>
fn to_u32(&self) -> Option<u32>
fn to_f32(&self) -> Option<f32>
fn to_f64(&self) -> Option<f64>
impl FromPrimitive for BigUint
fn from_i64(n: i64) -> Option<BigUint>
fn from_u64(n: u64) -> Option<BigUint>
fn from_int(n: isize) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
fn from_uint(n: usize) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
fn from_u32(n: u32) -> Option<Self>
fn from_f32(n: f32) -> Option<Self>
fn from_f64(n: f64) -> Option<Self>
impl ToBigUint for BigUint
fn to_biguint(&self) -> Option<BigUint>
impl FromStrRadix for BigUint
type Err = ParseBigIntError
fn from_str_radix(s: &str, radix: u32) -> Result<BigUint, ParseBigIntError>
Creates and initializes a BigUint
.