static int CommonRationals(Rational a, Rational b, out int newA, out int newB) { if (a.Denominator == b.Denominator) { newA = a.Numerator; newB = b.Numerator; return a.Denominator; } else { int lcm = Functions.LCM(a.Denominator, b.Denominator); newA = a.Numerator * (lcm / a.Denominator); newB = b.Numerator * (lcm / b.Denominator); return lcm; } }
public static bool Equals(Rational left, Rational right) { return left == right; }
/// <summary> /// Returns the absolute value of a rational number. /// </summary> /// <param name="value">A number in the range Rational.MinValue < value ≤ Rational.MaxValue.</param> /// <returns>A rational number, x, such that 0 ≤ x ≤ Rational.MaxValue</returns> public static Rational Abs(Rational value) { if (value < 0) return -value; else return value; }
public bool Equals(Rational other) { return this == other; }