Esempio n. 1
0
        private static DecimalX CDivide(this DecimalX dividend, DecimalX divisor, int scale, RoundingMode roundingMode)
        {
            if (dividend.CheckExponent((long)scale + -divisor.Exponent) > -dividend.Exponent)
            {
                dividend = DecimalX.Rescale(dividend, -scale + divisor.Exponent, RoundingMode.Unnecessary);
            }
            else
            {
                divisor = DecimalX.Rescale(divisor, dividend.CheckExponent((long)dividend.Exponent - -scale), RoundingMode.Unnecessary);
            }

            return(new DecimalX(DecimalX.RoundingDivide2(dividend.Coefficient, divisor.Coefficient, roundingMode), -scale));
        }