public void Uint128LeftShiftLowOverflowTest2() { var n = new UInt128(0UL, 1UL); var n2 = n.LeftShift(100); var sb = UInt128.FromBigInteger(BigInteger.One << 100); Assert.AreEqual(sb, n2); }
public void UInt128ToBigDecimalAndBackTest() { var bignum = new UInt128(UInt64.MaxValue, UInt64.MaxValue); var bignumbi = bignum.ToBigInteger; var bignum2 = UInt128.FromBigInteger(bignumbi); Assert.AreEqual(bignum, bignum2); }
public void UInt128LeftShiftOverflowTest3() { var n = UInt128.FromBigInteger(BigInteger.Parse("18446744073709551616")); var n2 = n.LeftShift(1); var sb = UInt128.FromBigInteger(BigInteger.Parse("36893488147419103232")); Assert.AreEqual(sb, n2); }
public void BinaryStringToUInt128Test() { var s = "10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010"; var sb = UInt128.FromBigInteger(BigInteger.Parse("226854911280625642308916404954512140970")); var n = UInt128.FromBinaryString(s); Assert.AreEqual(sb, n); }
public void BigIntegerToUInt128AndBackTest() { var bignum = new BigInteger(UInt64.MaxValue * Convert.ToUInt64(20)); var bignum128 = UInt128.FromBigInteger(bignum); var bignum2 = bignum128.ToBigInteger; Assert.AreEqual(bignum, bignum2); }
public void SimpleCountableHashTest() { var o = BigInteger.One; var c = FeatureUtil.makeFullCVR(1, 1, 1, 1, 1, 1, 1); var bvbi = o | (o << 1) | (o << 2) | (o << 3) | (o << 4) | (o << (20 * 5)) | (o << (20 * 5 + 1)); var bv = UInt128.FromBigInteger(bvbi); var bv_is = LSHCalc.h7(c); Assert.AreEqual(bv, bv_is); }
public void UInt128ToBinaryStringAndBack() { var b1 = BigInteger.Parse("123456789123456789"); var n1 = UInt128.FromBigInteger(b1); var s = n1.ToString(); var n2 = UInt128.FromBinaryString(s); var b2 = n2.ToBigInteger; Assert.AreEqual(b1, b2); }
public void BinaryStringToUInt128Test2() { var a = UInt128.FromBinaryString("11110101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101"); var abi = a.ToBigInteger; var bbi = BigInteger.Parse("326103934965899360819067332122111202645"); var b = UInt128.FromBigInteger(bbi); Assert.IsTrue(UInt128.Equals(a, b)); Assert.AreEqual(bbi, abi); }
public void UInt128LeftShiftTest() { for (int i = 0; i < 128; i++) { var n = UInt128.One.LeftShift(i); var sb = UInt128.FromBigInteger(BigInteger.Pow(new BigInteger(2), i)); if (!sb.Equals(n)) { Console.WriteLine("Whoa!"); } Assert.AreEqual(sb, n); } }