public void IsPowerOfTwo() { //int Assert.IsFalse(Fast.IsPowerOfTwo(0)); Assert.IsTrue(Fast.IsPowerOfTwo(1)); Assert.IsTrue(Fast.IsPowerOfTwo(2)); Assert.IsFalse(Fast.IsPowerOfTwo(6)); Assert.IsTrue(Fast.IsPowerOfTwo(8)); Assert.IsFalse(Fast.IsPowerOfTwo(int.MaxValue - 1)); Assert.IsFalse(Fast.IsPowerOfTwo(int.MaxValue)); Assert.IsFalse(Fast.IsPowerOfTwo(int.MinValue + 1)); Assert.IsFalse(Fast.IsPowerOfTwo(int.MinValue)); //long Assert.IsFalse(Fast.IsPowerOfTwo(0L)); Assert.IsTrue(Fast.IsPowerOfTwo(1L)); Assert.IsTrue(Fast.IsPowerOfTwo(2L)); Assert.IsFalse(Fast.IsPowerOfTwo(6L)); Assert.IsTrue(Fast.IsPowerOfTwo(8L)); Assert.IsFalse(Fast.IsPowerOfTwo(long.MaxValue - 1L)); Assert.IsFalse(Fast.IsPowerOfTwo(long.MaxValue)); Assert.IsFalse(Fast.IsPowerOfTwo(long.MinValue + 1L)); Assert.IsFalse(Fast.IsPowerOfTwo(long.MinValue)); //byte Assert.IsFalse(Fast.IsPowerOfTwo((byte)0)); Assert.IsTrue(Fast.IsPowerOfTwo((byte)1)); Assert.IsTrue(Fast.IsPowerOfTwo((byte)2)); Assert.IsFalse(Fast.IsPowerOfTwo((byte)6)); Assert.IsTrue(Fast.IsPowerOfTwo((byte)8)); Assert.IsFalse(Fast.IsPowerOfTwo((byte)(byte.MaxValue - 1))); Assert.IsFalse(Fast.IsPowerOfTwo(byte.MaxValue)); //sbyte Assert.IsFalse(Fast.IsPowerOfTwo((sbyte)0)); Assert.IsTrue(Fast.IsPowerOfTwo((sbyte)1)); Assert.IsTrue(Fast.IsPowerOfTwo((sbyte)2)); Assert.IsFalse(Fast.IsPowerOfTwo((sbyte)6)); Assert.IsTrue(Fast.IsPowerOfTwo((sbyte)8)); Assert.IsFalse(Fast.IsPowerOfTwo((sbyte)(sbyte.MaxValue - 1))); Assert.IsFalse(Fast.IsPowerOfTwo(sbyte.MaxValue)); //uint Assert.IsFalse(Fast.IsPowerOfTwo(0u)); Assert.IsTrue(Fast.IsPowerOfTwo(1u)); Assert.IsTrue(Fast.IsPowerOfTwo(2u)); Assert.IsFalse(Fast.IsPowerOfTwo(6u)); Assert.IsTrue(Fast.IsPowerOfTwo(8u)); Assert.IsFalse(Fast.IsPowerOfTwo(uint.MaxValue - 1u)); Assert.IsFalse(Fast.IsPowerOfTwo(uint.MaxValue)); //ulong Assert.IsFalse(Fast.IsPowerOfTwo(0UL)); Assert.IsTrue(Fast.IsPowerOfTwo(1UL)); Assert.IsTrue(Fast.IsPowerOfTwo(2UL)); Assert.IsFalse(Fast.IsPowerOfTwo(6UL)); Assert.IsTrue(Fast.IsPowerOfTwo(8UL)); Assert.IsFalse(Fast.IsPowerOfTwo(ulong.MaxValue - 1UL)); Assert.IsFalse(Fast.IsPowerOfTwo(ulong.MaxValue)); //ushort Assert.IsFalse(Fast.IsPowerOfTwo((ushort)0)); Assert.IsTrue(Fast.IsPowerOfTwo((ushort)1)); Assert.IsTrue(Fast.IsPowerOfTwo((ushort)2)); Assert.IsFalse(Fast.IsPowerOfTwo((ushort)6)); Assert.IsTrue(Fast.IsPowerOfTwo((ushort)8)); Assert.IsFalse(Fast.IsPowerOfTwo((ushort)(ushort.MaxValue - 1))); Assert.IsFalse(Fast.IsPowerOfTwo(ushort.MaxValue)); //short Assert.IsFalse(Fast.IsPowerOfTwo((short)0)); Assert.IsTrue(Fast.IsPowerOfTwo((short)1)); Assert.IsTrue(Fast.IsPowerOfTwo((short)2)); Assert.IsFalse(Fast.IsPowerOfTwo((short)6)); Assert.IsTrue(Fast.IsPowerOfTwo((short)8)); Assert.IsFalse(Fast.IsPowerOfTwo((short)(short.MaxValue - 1))); Assert.IsFalse(Fast.IsPowerOfTwo(short.MaxValue)); Assert.IsFalse(Fast.IsPowerOfTwo((short)(short.MinValue + 1))); Assert.IsFalse(Fast.IsPowerOfTwo(short.MinValue)); }