| Crates.io | fractions |
| lib.rs | fractions |
| version | 0.1.0 |
| created_at | 2025-06-13 20:18:27.659951+00 |
| updated_at | 2025-06-13 20:18:27.659951+00 |
| description | A simple, lightweight crate for fraction arithmetic |
| homepage | https://github.com/mroetsc/fractions |
| repository | https://github.com/mroetsc/fractions |
| max_upload_size | |
| id | 1711853 |
| size | 30,517 |
A simple, lightweight Rust crate for fraction arithmetic with automatic reduction to lowest terms.
Add this to your Cargo.toml:
[dependencies]
fractions = "0.1"
use fractions::Fraction;
fn main() -> Result<(), fractions::FractionError> {
// Create fractions
let half = Fraction::new(1, 2)?;
let third = Fraction::new(1, 3)?;
// Basic arithmetic
let sum = half + third; // 5/6
let difference = half - third; // 1/6
let product = half * third; // 1/6
let quotient = (half / third)?; // 3/2
// Comparisons
assert!(half > third);
assert_eq!(half, Fraction::new(2, 4)?);
// Convert to f64
let value = half.to_f64(); // 0.5
// From integer
let five = Fraction::from(5); // 5/1
Ok(())
}
Run the calculator example:
cargo run --example calculator
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.