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