| Crates.io | big_num_math |
| lib.rs | big_num_math |
| version | 5.4.5 |
| created_at | 2024-06-01 16:26:07.092834+00 |
| updated_at | 2025-09-13 20:00:17.573067+00 |
| description | Simple library for computations on large numbers. |
| homepage | |
| repository | https://github.com/deep-outcome/big_num_math |
| max_upload_size | |
| id | 1258761 |
| size | 216,050 |
Library for computations on large numbers.
let row = PlacesRow::new_from_u128(u128::MAX);
let pow = pow(&row, 500);
let number = pow.to_number();
assert!(number.starts_with("8312324609993336522"));
assert_eq!(19266, number.len());
let dividend = PlacesRow::new_from_str("3402823669209384634633746074317682114565556668744123").unwrap();
let divisor = PlacesRow::new_from_str( "14034568236692093846346337460345176821145655563453").unwrap();
let ratio = "242";
let remainder = "6458155929897923817932408914149323848308022388497";
let ratrem = divrem(÷nd, &divisor).unwrap();
assert_eq!(ratio, ratrem.0.to_number());
assert_eq!(remainder, ratrem.1.to_number());
let dividend = Row::new_from_str("99999340282366920938463463374607431768211455").unwrap();
let divisor = Row::new_from_usize(249);
let ratio = Row::new_from_str("401603776234405304973748848894005750073138").unwrap();
let remainder = Row::new_from_usize(93);
let ratrem = divrem(÷nd, &divisor).unwrap();
assert_eq!(ratio, ratrem.0);
assert_eq!(remainder, ratrem.1);
let number = Row::new_from_str("1489754132134687989463132131").unwrap();
let comparand = Row::new_from_str( "48645698946456531371").unwrap();
let decrel = rel_dec(&number, &comparand);
assert_eq!(RelDec::Greater((28, 20, 8)), decrel);
let number_1 = PlacesRow::new_from_u128(3162277660168379331998893544432);
let number_2 = PlacesRow::new_from_u128(3162277660168379331998893544433);
assert_eq!(Oom::Precise(30), ord_of_mag(&number_1, OomKind::Strict));
assert_eq!(Oom::Precise(31), ord_of_mag(&number_2, OomKind::Strict));
assert_eq!(Oom::Precise(30), ord_of_mag(&number_2, OomKind::Loose));
let radicand = Row::new_from_str("9754610577924096936222542295378750190521").unwrap();
let test = Row::new_from_u128(98_765_432_100_123_456_789);
assert_eq!(test, heron_sqrt(&radicand));
let num = Row::new_from_str("340282366920938463463374607431768211479").unwrap();
let limit = Duration::from_secs(3);
assert_eq!(Some(false), prime_ck(&num, Some(limit)));
let limit = Duration::from_secs(60);
let p = || pg!(200_000, PrimeGenStrain::Nth, false, u32, Some(limit));
assert_eq!(2_750_159, p().uproot_max());
let test = PlacesRow::new_from_usize(99_999_999);
let radicand = PlacesRow::new_from_str(
"999999910000003599999916000001259999987400000083999999640000000899999999",
)
.unwrap();
assert_eq!(Some(test), root(&radicand, 9));