addition: reduce, gcd and correct_sign

This commit is contained in:
2026-04-27 17:34:41 -06:00
parent 9e28ac0b39
commit 65cb25cdfd

View File

@@ -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();
}
} }
} }