예제 #1
0
        public static DROB operator *(DROB a, DROB b)
        {
            DROB tmp = new DROB();

            tmp.numerator   = a.numerator * b.numerator;
            tmp.denominator = a.denominator * b.denominator;
            tmp.Scorot();
            return(tmp);
        }
예제 #2
0
        public static DROB operator +(DROB a, int b)
        {
            DROB tmp = new DROB();

            tmp.numerator   = a.numerator + b * a.denominator;
            tmp.denominator = a.denominator;
            tmp.Scorot();
            return(tmp);
        }
예제 #3
0
        public static DROB operator -(DROB a)
        {
            DROB tmp = new DROB();

            tmp.numerator   = -a.numerator;
            tmp.denominator = a.denominator;
            tmp.Scorot();
            return(tmp);
        }
예제 #4
0
        public static DROB operator -(DROB a, DROB b)
        {
            DROB tmp = new DROB();

            if (a.denominator == b.denominator)
            {
                tmp.numerator   = a.numerator - b.numerator;
                tmp.denominator = a.denominator;
            }
            else
            {
                tmp.numerator   = (a.numerator * b.denominator) - (b.numerator * a.denominator);
                tmp.denominator = (a.denominator * b.denominator);
            }
            tmp.Scorot();
            return(tmp);
        }