コード例 #1
0
        public void bspow2()
        {
            for (var i = 0; i <= 231; i++)
            {
                var bs = BitString.FromPow2(i);
                Claim.eq((int)bs.Length, i + 1);
                for (var j = 0; j < bs.Length; j++)
                {
                    if (j != bs.Length - 1)
                    {
                        Claim.eq(bs[j], Bit.Off);
                    }
                    else
                    {
                        Claim.eq(bs[j], Bit.On);
                    }
                }

                if (i <= 63)
                {
                    var val1 = Pow2.pow((byte)i);
                    var val2 = bs.TakeValue <ulong>();
                    Claim.eq(val1, val2);
                }
            }
        }