Rational.fraction constructor

Rational.fraction(
  1. BigInt numerator,
  2. BigInt denominator, {
  3. 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);
}