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 {
|
fn gcd(a: i64, b: i64) -> i64 {
|
||||||
todo!();
|
if a == 0 {
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
Fraction::gcd(b % a, a)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn reduce(&mut self) {
|
fn reduce(&mut self) {
|
||||||
todo!();
|
let gdc = Fraction::gcd(self.num, self.den);
|
||||||
|
|
||||||
|
self.num /= gdc;
|
||||||
|
self.den /= gdc;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn correct_sign(&mut self) {
|
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