Пример #1
0
        public void IntMathLog()
        {
            Aver.AreEqual(10, IntUtils.Log(1024, 2));
            Aver.AreEqual(2, IntUtils.Log(9, 3));
            Aver.AreEqual(2, IntUtils.Log(11, 3));
            Aver.AreEqual(1, IntUtils.Log(2, 2));
            Aver.AreEqual(0, IntUtils.Log(1, 2));
            Aver.Throws <AzosException>(() => IntUtils.Log(0, 2));

            Aver.AreEqual(62, IntUtils.Log(1L << 62, 2));
            Aver.AreEqual(32, IntUtils.Log(1L << 32, 2));
            Aver.AreEqual(10, IntUtils.Log(1024, 2));
            Aver.AreEqual(4, IntUtils.Log(16, 2));
            Aver.AreEqual(3, IntUtils.Log(8, 2));
            Aver.AreEqual(1, IntUtils.Log(2, 2));
            Aver.AreEqual(0, IntUtils.Log(1, 2));
        }