The documentation is available on https://dnsl48.github.io/fraction/target/doc/fraction/index.html.
i8 -> u8
, usize -> u8
and so on```rust use fraction::Fraction;
fn main () { let mut fr = Fraction::zero ();
fr = fr + Fraction::from (2); // 0 + 2 = 2 fr = fr / Fraction::from (0.5); // 2 / 0.5 = 4
asserteq! (fr, Fraction::from (4)); asserteq! (4.0f64, fr.to_f64 ()); } ```
```rust type D = fraction::Decimal;
let result = D::from(0.5) / D::from(0.3); assert_eq!(format!("{:.4}", result), "1.6666"); ```
```rust use std::collections::HashMap; use fraction::Fraction;
fn main () { let f = Fraction::from (0.75);
let mut map: HashMap map.insert (f, ()); assert! (map.containskey (&Fraction::new (3u64, 4u64))); // 0.75 == 3/4
assert! (map.containskey (&Fraction::new (6u64, 8u64))); // 0.75 == 6/8
assert! (map.containskey (&Fraction::new (12u64, 16u64))); // 0.75 == 12/16
assert! (! map.containskey (&Fraction::from (0.5))); // 0.75 != 1/2
}
``` ```rust
use fraction::{Sign, GenericFraction}; type F = GenericFraction let fra = F::newgeneric(Sign::Plus, 1i8, 42usize).unwrap();
asserteq!(fra, F::new(1u32, 42u32));
``` ```rust
use fraction::Fraction; fn main () {
let f14 = Fraction::new (1u64, 4u64); // 1/4 == 0.25
let f12 = Fraction::new (1u64, 2u64); // 1/2 == 0.50
let f24 = Fraction::new (2u64, 4u64); // 2/4 == 0.50
let f34 = Fraction::new (3u64, 4u64); // 3/4 == 0.75 asserteq! (f12, f24); // 1/2 == 2/4
asserteq! (f34, f12 + f14); // 3/4 == 1/2 + 1/4
assert_eq! (f14, Fraction::from (0.25)); // 1/4 == 0.25
}
``` Look into the CHANGELOG.md file for detailsGeneric integer conversion
Comparison
Change Log