Esempio n. 1
0
 public void PowerOf2FloorOfNegativeShouldReturn0()
 {
     Assert.AreEqual(0, Base2Math.PowerOf2Floor((sbyte)-10), "sbyte");
     Assert.AreEqual(0, Base2Math.PowerOf2Floor((short)-10), "short");
     Assert.AreEqual(0, Base2Math.PowerOf2Floor((int)-10), "int");
     Assert.AreEqual(0, Base2Math.PowerOf2Floor((long)-10), "long");
 }
Esempio n. 2
0
 public void PowerOf2FloorOf3ShouldReturn2()
 {
     Assert.AreEqual(2, Base2Math.PowerOf2Floor((byte)3), "byte");
     Assert.AreEqual(2, Base2Math.PowerOf2Floor((sbyte)3), "sbyte");
     Assert.AreEqual(2, Base2Math.PowerOf2Floor((ushort)3), "ushort");
     Assert.AreEqual(2, Base2Math.PowerOf2Floor((short)3), "short");
     Assert.AreEqual(2, Base2Math.PowerOf2Floor((uint)3), "uint");
     Assert.AreEqual(2, Base2Math.PowerOf2Floor((int)3), "int");
     Assert.AreEqual(2, Base2Math.PowerOf2Floor((ulong)3), "ulong");
     Assert.AreEqual(2, Base2Math.PowerOf2Floor((long)3), "long");
     Assert.AreEqual((UInt128)2, Base2Math.PowerOf2Floor((UInt128)3), "UInt128");
 }
Esempio n. 3
0
 public void PowerOf2FloorOf1ShouldReturn1()
 {
     Assert.AreEqual(1, Base2Math.PowerOf2Floor((byte)1), "byte");
     Assert.AreEqual(1, Base2Math.PowerOf2Floor((sbyte)1), "sbyte");
     Assert.AreEqual(1, Base2Math.PowerOf2Floor((ushort)1), "ushort");
     Assert.AreEqual(1, Base2Math.PowerOf2Floor((short)1), "short");
     Assert.AreEqual(1, Base2Math.PowerOf2Floor((uint)1), "uint");
     Assert.AreEqual(1, Base2Math.PowerOf2Floor((int)1), "int");
     Assert.AreEqual(1, Base2Math.PowerOf2Floor((ulong)1), "ulong");
     Assert.AreEqual(1, Base2Math.PowerOf2Floor((long)1), "long");
     Assert.AreEqual((UInt128)1, Base2Math.PowerOf2Floor((UInt128)1), "UInt128");
 }
Esempio n. 4
0
 public void PowerOf2FloorOf0ShouldReturn0()
 {
     Assert.AreEqual(0, Base2Math.PowerOf2Floor((byte)0), "byte");
     Assert.AreEqual(0, Base2Math.PowerOf2Floor((sbyte)0), "sbyte");
     Assert.AreEqual(0, Base2Math.PowerOf2Floor((ushort)0), "ushort");
     Assert.AreEqual(0, Base2Math.PowerOf2Floor((short)0), "short");
     Assert.AreEqual(0, Base2Math.PowerOf2Floor((uint)0), "uint");
     Assert.AreEqual(0, Base2Math.PowerOf2Floor((int)0), "int");
     Assert.AreEqual(0, Base2Math.PowerOf2Floor((ulong)0), "ulong");
     Assert.AreEqual(0, Base2Math.PowerOf2Floor((long)0), "long");
     Assert.AreEqual(UInt128.Zero, Base2Math.PowerOf2Floor((UInt128)0), "UInt128");
 }
Esempio n. 5
0
        public void PowerOf2FloorSignedByteShouldMatchWider()
        {
            sbyte v = sbyte.MinValue;

            while (true)
            {
                sbyte expected = Base2Math.PowerOf2Floor(v);
                Assert.AreEqual(expected, Base2Math.PowerOf2Floor((short)v), "short=>" + v);
                Assert.AreEqual(expected, Base2Math.PowerOf2Floor((int)v), "int=>" + v);
                Assert.AreEqual(expected, Base2Math.PowerOf2Floor((long)v), "long=>" + v);
                if (v == sbyte.MaxValue)
                {
                    break;
                }
                v++;
            }
        }
Esempio n. 6
0
        public void PowerOf2FloorUnsignedByteShouldMatchWider()
        {
            byte v = byte.MinValue;

            while (true)
            {
                byte expected = Base2Math.PowerOf2Floor(v);
                Assert.AreEqual(expected, Base2Math.PowerOf2Floor((ushort)v), "ushort=>" + v);
                Assert.AreEqual(expected, Base2Math.PowerOf2Floor((short)v), "short=>" + v);
                Assert.AreEqual(expected, Base2Math.PowerOf2Floor((uint)v), "uint=>" + v);
                Assert.AreEqual(expected, Base2Math.PowerOf2Floor((int)v), "int=>" + v);
                Assert.AreEqual(expected, Base2Math.PowerOf2Floor((ulong)v), "ulong=>" + v);
                Assert.AreEqual(expected, Base2Math.PowerOf2Floor((long)v), "long=>" + v);
                Assert.AreEqual((UInt128)expected, Base2Math.PowerOf2Floor((UInt128)v), "UInt128=>" + v);
                if (v == byte.MaxValue)
                {
                    break;
                }
                v++;
            }
        }