예제 #1
0
        public void ShiftTowardZero()
        {
            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.RightShift(b);

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

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

            AsString = d.ToString();
            Assert.AreEqual("212869812934598352597162832338422076050595113390235", AsString);
        }