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
type FromStrRadixErr = ParseBigIntError
fn from_str_radix(s: &str, radix: u32) -> Result<BigUint, ParseBigIntError>
Creates and initializes a 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
.