Expand description
partial Rust porting of mpir multiple precision library based on gmp mpfr
Cargo test with [– –nocapture] or with [– –show-output]
see also sum_arctan_gregory() source
// inv_f
let a = &mpz_s::from(-3);
let mut f = a.inv_f();
assert_eq!(format!("{}", f), "-0.33333333333333333333e+0");
f *= 3;
assert_eq!(format!("{}", f), "-0.1e+1");
// inv_f
let a = &mpz_s::from(-2);
let f = a.inv_f();
assert_eq!(format!("{}", f), "-0.5e+0");
// inv_q
let a = &mpz_s::from(-2);
let q = &mut a.inv_q();
assert_eq!(format!("{}", q), "1/-2");
assert_eq!(format!("{}", q.reduce()), "1/-2");
assert_eq!(format!("{}", q.inv()), "-2");
// mpf from mpq
let f = mpf_s::from(q);
assert_eq!(format!("{}", f), "-0.5e+0");
assert_eq!(format!("{}", f.inv()), "-0.2e+1");
// mpq from &str
let f = &mut mpq_s::from("9/-24");
assert_eq!(format!("{}", f), "9/-24");
assert_eq!(format!("{}", f.reduce()), "3/-8");
// mpf from &str
let f = mpf_s::from("-5");
assert_eq!(format!("{}", f), "-0.5e+1");
// mpz from &str
let f = mpz_s::from("-5");
assert_eq!(format!("{}", f), "-5");
§Requirements
in the running directory
- libgmp-10.dll
- libgmpxx-4.dll (optional)
- mpir.dll
see also
Re-exports§
pub use crate::prim::*;
pub use crate::prim::typ::*;
pub use crate::prim::mpz::*;
pub use crate::prim::mpf::*;
pub use crate::prim::mpq::*;
pub use crate::prim::randstate::*;
pub use crate::ops::*;
pub use crate::convert::*;
pub use crate::util::*;