pub struct Fraction {
pub numerator: i32,
pub denominator: i32,
}Expand description
§Fraction
A lossless data representation of a float. Very simple, lightweight and straight implementation.
You can do all normal operations like adding and subtracting, multiplication and division. You can compare them too.
§Examples:
use mathio::Fraction;
let frac_1 = Fraction::new(2, 3);
let frac_2 = Fraction::new(3, 6);
assert_eq!(frac_1 + frac_2, Fraction::new(7, 6));
assert_eq!(frac_1 - frac_2, Fraction::new(1, 6));
assert_eq!(frac_1 * frac_2, Fraction::new(1, 3));
assert_eq!(frac_1 / frac_2, Fraction::new(4, 3));
assert_eq!(frac_1 >= frac_2, true);Fields§
§numerator: i32§denominator: i32Implementations§
Trait Implementations§
Source§impl AddAssign for Fraction
impl AddAssign for Fraction
Source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
Performs the
+= operation. Read moreSource§impl DivAssign for Fraction
impl DivAssign for Fraction
Source§fn div_assign(&mut self, other: Self)
fn div_assign(&mut self, other: Self)
Performs the
/= operation. Read moreSource§impl MulAssign for Fraction
impl MulAssign for Fraction
Source§fn mul_assign(&mut self, other: Self)
fn mul_assign(&mut self, other: Self)
Performs the
*= operation. Read moreSource§impl Ord for Fraction
impl Ord for Fraction
Source§impl PartialOrd for Fraction
impl PartialOrd for Fraction
Source§impl SubAssign for Fraction
impl SubAssign for Fraction
Source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Performs the
-= operation. Read moreimpl Copy for Fraction
impl Eq for Fraction
Auto Trait Implementations§
impl Freeze for Fraction
impl RefUnwindSafe for Fraction
impl Send for Fraction
impl Sync for Fraction
impl Unpin for Fraction
impl UnwindSafe for Fraction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more