示例#1
0
        public void ShiftRemainderTowardZero()
        {
            string AsString;

            using mpz_t a = new mpz_t("234052834524092854092874502983745029345723098457209305983434345");
            AsString      = a.ToString();
            Assert.AreEqual("234052834524092854092874502983745029345723098457209305983434345", AsString);

            uint b = 40;

            using mpz_t c = a.RightShiftRemainder(b);

            AsString = c.ToString();
            Assert.AreEqual("727230266985", AsString);

            using mpz_t d = a.RightShiftRemainder(b, Rounding.TowardZero);

            AsString = d.ToString();
            Assert.AreEqual("727230266985", AsString);
        }
示例#2
0
        public void ShiftRemainderTowardNegativeInfinity()
        {
            string AsString;

            using mpz_t a = new mpz_t("-234052834524092854092874502983745029345723098457209305983434345");
            AsString      = a.ToString();
            Assert.AreEqual("-234052834524092854092874502983745029345723098457209305983434345", AsString);

            uint b = 40;

            using mpz_t c = a.RightShiftRemainder(b, Rounding.TowardNegativeInfinity);

            AsString = c.ToString();
            Assert.AreEqual("372281360791", AsString);
        }