Crates.io | big_num_math |
lib.rs | big_num_math |
version | |
source | src |
created_at | 2024-06-01 16:26:07.092834 |
updated_at | 2024-12-12 23:03:52.131054 |
description | Simple library for computations on large numbers. |
homepage | https://github.com/bravequickcleverfibreyarn/big_num_math |
repository | https://github.com/bravequickcleverfibreyarn/big_num_math |
max_upload_size | |
id | 1258761 |
Cargo.toml error: | TOML parse error at line 22, column 1 | 22 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
Library for computations on large numbers.
divrem
can perform unbearably when divisor
is significantly smaller than dividend
(as per point 2)let row = PlacesRow::new_from_num(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 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);