reduce redundant code, add tests for reduce and gcd

pull/1098/head^2
eulerkochy 2019-07-12 11:57:10 +05:30 committed by Alexander Medvednikov
parent 08866f1331
commit 7f4c3cda4d
2 changed files with 7 additions and 1 deletions

View File

@ -87,7 +87,7 @@ pub fn (f1 Fraction) gcd() i64 {
// Fraction method which reduces the fraction
pub fn (f1 Fraction) reduce() Fraction {
cf := gcd(f1.n, f1.d)
cf := f1.gcd()
return Fraction{f1.n / cf, f1.d / cf}
}

View File

@ -132,4 +132,10 @@ fn test_fraction_equals() {
f1 = math.fraction(1,2)
f2 = math.fraction(3,4)
assert !f1.equals(f2)
}
fn test_gcd_and_reduce(){
mut f := math.fraction(3, 9)
assert f.gcd() == 3
assert f.reduce().equals(math.fraction(1, 3))
}