public void BI_copy_ctor_works() { BigInteger i = new BigInteger(1, new uint[] { 1, 2, 3 }); BigInteger c = new BigInteger(i); Expect(SameValue(c, i.Signum, i.GetMagnitude())); }
public void Subtract_from_zero_yields_negation() { BigInteger x = new BigInteger(0, new uint[0]); BigInteger y = new BigInteger(1, new uint[] { 0x12345678, 0x12345678, 0xFFFFFFFF, 0xFFFFFFFF, 0x22222222 }); BigInteger z = x.Subtract(y); Expect(SameValue(z, -1, y.GetMagnitude())); }
static bool SameValue(BigInteger i, int sign, uint[] mag) { return SameSign(i.Signum, sign) && SameMag(i.GetMagnitude(), mag); }
public void Negate_positive_is_same_mag_neg() { BigInteger x = new BigInteger(1, new uint[] {0xfedcba98, 0x87654321}); BigInteger xn = x.Negate(); Expect(SameValue(xn, -1, x.GetMagnitude())); }