addition: reduce, gcd and correct_sign
This commit is contained in:
18
src/lib.rs
18
src/lib.rs
@@ -54,15 +54,27 @@ impl Fraction {
|
||||
}
|
||||
|
||||
fn gcd(a: i64, b: i64) -> i64 {
|
||||
todo!();
|
||||
if a == 0 {
|
||||
return b;
|
||||
}
|
||||
Fraction::gcd(b % a, a)
|
||||
}
|
||||
|
||||
fn reduce(&mut self) {
|
||||
todo!();
|
||||
let gdc = Fraction::gcd(self.num, self.den);
|
||||
|
||||
self.num /= gdc;
|
||||
self.den /= gdc;
|
||||
}
|
||||
|
||||
fn correct_sign(&mut self) {
|
||||
todo!()
|
||||
if self.num < 0 && self.den < 0 {
|
||||
self.num = self.num.abs();
|
||||
self.den = self.den.abs();
|
||||
} else if self.den < 0 {
|
||||
self.num = -self.num;
|
||||
self.den = self.den.abs();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user