Exemple #1
0
        private static FractionalNumber Create(int numerator, int denumerator)
        {
            FractionalNumber n = new FractionalNumber();
            int gcd            = Utils.GreatestCommonDivisor(Math.Abs(numerator), Math.Abs(denumerator));
            int sign           = Math.Sign(denumerator);

            n.Numerator   = numerator / gcd * sign;
            n.Denominator = denumerator / gcd * sign;
            return(n);
        }
Exemple #2
0
        public static FractionalNumber operator -(int f2, FractionalNumber f1)
        {
            FractionalNumber n = new FractionalNumber();
            int numerator      = f2 * f1.Denominator - f1.Numerator;

            n.Numerator   = numerator;
            n.Denominator = f1.Denominator;

            return(n);
        }
Exemple #3
0
        public FractionalNumber(int numerator, int denumerator)
        {
            if (denumerator == 0)
            {
                throw new DivideByZeroException();
            }
            if (numerator == 0)
            {
                Numerator   = 0;
                Denominator = 1;
                return;
            }

            FractionalNumber n = Create(numerator, denumerator);

            Numerator   = n.Numerator;
            Denominator = n.Denominator;
        }
Exemple #4
0
 public FractionalNumber(FractionalNumber n)
 {
     Numerator   = n.Numerator;
     Denominator = n.Denominator;
 }
Exemple #5
0
 public static FractionalNumber LineInterpolation(FractionalNumber first, FractionalNumber last, FractionalNumber coef)
 {
     return((first > last) ? coef * first + (1 - coef) * last : coef *last + (1 - coef) * first);
 }