Rational.fraction constructor
Rational.fraction(
- BigInt numerator,
- BigInt denominator, {
- bool reduce = true,
})
Implementation
factory Rational.fraction(BigInt numerator, BigInt denominator,
{bool reduce = true}) {
if (!reduce) {
return Rational._(numerator, denominator);
}
var (gcdNumerator, gcdDenominator) = gcd(numerator, denominator);
// Ensure the denominator is positive
if (gcdDenominator < BigInt.zero) {
gcdNumerator = -gcdNumerator;
gcdDenominator = -gcdDenominator;
}
return Rational._(gcdNumerator, gcdDenominator);
}