Пример #1
0
        public void bmv_16x16()
        {
            for (var sample = 0; sample < SampleSize; sample++)
            {
                var m  = Random.BitMatrix16();
                var c  = Random.BitVector16();
                var z1 = m * c;
                var z2 = BitVector16.Alloc();
                for (var i = 0; i < m.RowCount; i++)
                {
                    var r = m.RowVector(i);
                    z2[i] = r % c;
                }

                Claim.yea(z1 == z2);
            }
        }
Пример #2
0
        public void extract16()
        {
            var src   = Random.Stream <ushort>().Take(SampleSize).ToArray();
            var lower = Random.Stream(leftclosed <byte>(0, 8)).Take(SampleSize).ToArray();
            var upper = Random.Stream(leftclosed <byte>(8, 16)).Take(SampleSize).ToArray();

            for (var i = 0; i < SampleSize; i++)
            {
                var v1 = BitVector.Load(src[i]);
                var v2 = BitVector16.FromScalar(src[i]);
                Claim.eq(v1.ToBitVector16(), v2);

                var r1 = v1.SliceCell(lower[i], upper[i]);
                var r2 = v2.Between(lower[i], upper[i]);
                Claim.eq(r1, r2);
            }
        }
Пример #3
0
 public static bool Channel(this BitVector16 data, int channel)
 {
     return((data.Data & (1 << channel)) == (uint)(1 << channel));
 }