mpir-0.2.3 has been yanked.
mpir
partial Rust porting of mpir multiple precision library based on gmp mpfr
Sample
// mpz and mpf (prepare and reset)
let a = &mut init;
let f = &mut init;
let g = &mut init;
// mpz and mpf (to be operator) check about significant digits
assert_eq!; // 21 digits
assert_eq!; // 20 digits by default formatter
assert_eq!; // 21 digits ok
// mpf (to be operator)
assert_eq!; // 1 / 3
assert_eq!; // 1 / 3
assert_eq!; // 1 / 3
assert_eq!; // 2 / 3
assert_eq!; // 2 / 3
assert_eq!; // 2 / 3
// mpz fact (to be operator)
let facts = vec!; // 18-20
.for_each;
// mpz fact (to be operator) cached
let m = &mut new;
.for_each;
// mpq (to be operator)
let q = &mut init;
assert_eq!;
// mpf prec (c style)
// assert_eq!(mpf_get_default_prec(), 64); // may be 64
mpf_set_default_prec; // 100 set to 128 bits (step by 2**n)
// assert_eq!(mpf_get_default_prec(), 128); // may be 128 (about 38 digits)
let digits = calc_digits_from_bits;
assert_eq!; // may be 38
// mpf significant digits (to be operator) test loss of digits on display
let disp_digits = digits + 3; // set disp_digits to over prec
let f = &mut init_set_str;
let e = &mut init_set_str;
assert_eq!;
assert_eq!;
// f.add(e) as 0.99999999999999999999e-19 without mpf_set_default_prec(100)
assert_eq!; // disp over prec
assert_eq!; // disp as match with prec
// mpf calc napier (to be operator)
let digits = 150;
mpf_set_default_prec;
let e = &mut calc_napier;
assert_eq!;
assert_eq!;
/*
2.
7182818284 5904523536 0287471352 6624977572 4709369995
9574966967 6277240766 3035354759 4571382178 5251664274
2746639193 2003059921 8174135966 2904357290 0334295260
...
*/
Misc
Links
Requirements
License
MIT License