public static void ReduceFraction(Fraction frac)
{
try
{
if (frac.Numerator == 0)
{
frac.Denominator = 1;
return;
}
long iGCD = GCD(frac.Numerator, frac.Denominator);
frac.Numerator /= iGCD;
frac.Denominator /= iGCD;
if (frac.Denominator < 0) // if -ve sign in denominator
{
//pass -ve sign to numerator
frac.Numerator *= -1;
frac.Denominator *= -1;
}
} // end try
catch (Exception exp)
{
throw new FractionException("Cannot reduce Fraction: " + exp.Message);
}
}