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); }
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); }