NScumm.Core.Rational.operator C# (CSharp) Method

operator() public static method

public static operator ( ) : Rational
return Rational
        public static Rational operator *(Rational left, Rational right)
        {
            // Cross-cancel to avoid unnecessary overflow;
            // the result then is automatically normalized
            int gcd1 = Gcd(left.Numerator, right.Denominator);
            int gcd2 = Gcd(right.Numerator, left.Denominator);

            var num = left.Numerator / gcd1 * (right.Numerator / gcd2);
            var denominator = left.Denominator / gcd2 * (right.Denominator / gcd1);

            return new Rational(num, denominator);
        }