Module malachite_nz::natural::conversion::digits::general_digits
source · [−]Expand description
Implementations of Digits
, a trait for
extracting digits from Natural
s and constructing
Natural
s from digits.
to_digits_asc
extern crate malachite_base;
use malachite_base::num::basic::traits::{Two, Zero};
use malachite_base::num::conversion::traits::Digits;
use malachite_nz::natural::Natural;
assert!(Natural::ZERO.to_digits_asc(&6u64).is_empty());
assert_eq!(Natural::TWO.to_digits_asc(&6u32), &[2]);
assert_eq!(Natural::from(123456u32).to_digits_asc(&3u16), &[0, 1, 1, 0, 0, 1, 1, 2, 0, 0, 2]);
to_digits_desc
extern crate malachite_base;
use malachite_base::num::basic::traits::{Two, Zero};
use malachite_base::num::conversion::traits::Digits;
use malachite_nz::natural::Natural;
assert!(Natural::ZERO.to_digits_desc(&6u64).is_empty());
assert_eq!(Natural::TWO.to_digits_desc(&6u32), &[2]);
assert_eq!(Natural::from(123456u32).to_digits_desc(&3u16), &[2, 0, 0, 2, 1, 1, 0, 0, 1, 1, 0]);
from_digits_asc
extern crate malachite_base;
use malachite_base::num::conversion::traits::Digits;
use malachite_base::strings::ToDebugString;
use malachite_nz::natural::Natural;
assert_eq!(
Natural::from_digits_asc(&64u64, [0, 0, 0].iter().cloned()).to_debug_string(),
"Some(0)"
);
assert_eq!(
Natural::from_digits_asc(&3u64, [0, 1, 1, 0, 0, 1, 1, 2, 0, 0, 2].iter().cloned())
.to_debug_string(),
"Some(123456)"
);
assert_eq!(
Natural::from_digits_asc(&8u16, [3, 7, 1].iter().cloned()).to_debug_string(),
"Some(123)"
);
assert_eq!(
Natural::from_digits_asc(&8u16, [3, 10, 1].iter().cloned()).to_debug_string(),
"None"
);
from_digits_desc
extern crate malachite_base;
use malachite_base::num::conversion::traits::Digits;
use malachite_base::strings::ToDebugString;
use malachite_nz::natural::Natural;
assert_eq!(
Natural::from_digits_desc(&64u64, [0, 0, 0].iter().cloned()).to_debug_string(),
"Some(0)"
);
assert_eq!(
Natural::from_digits_desc(&3u64, [2, 0, 0, 2, 1, 1, 0, 0, 1, 1, 0].iter().cloned())
.to_debug_string(),
"Some(123456)"
);
assert_eq!(
Natural::from_digits_desc(&8u16, [1, 7, 3].iter().cloned()).to_debug_string(),
"Some(123)"
);
assert_eq!(
Natural::from_digits_desc(&8u16, [3, 10, 1].iter().cloned()).to_debug_string(),
"None"
);