Arbitrary-precision rational numbers

The rugrat crate provides arbitrary-precision rational numbers using the GNU Multiple Precision Arithmetic Library (GMP). It is one of a group of four crates:

Documentation

Documentation for this crate is available.

It can also be helpful to refer to the documentation at the GMP page.

The crate provides the Rational type, which holds an arbitrary-precision rational number.

Examples

```rust extern crate rugint; extern crate rugrat; use rugint::Assign; use rugrat::Rational;

fn main() { // Create a rational number, -22 / 4 = -11 / 2. let rat = Rational::from((-22, 4)); assert!(rat.numer().toi32() == -11); assert!(*rat.denom() == 2); assert!(rat.tof32() == -5.5); } ```

Usage

To use this crate, add rugrat as a dependency in Cargo.toml:

toml [dependencies] rugrat = "0.1.2"

This crate depends on the low-level bindings in the crate gmp-mpfr-sys. This should be transparent on GNU/Linux and macOS, but may need some work on Windows. See the gmp-mpfr-sys README for some details.

License

This crate is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

See LICENSE-LGPL and LICENSE-GPL for details.