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); } }
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); } }
public static bool Channel(this BitVector16 data, int channel) { return((data.Data & (1 << channel)) == (uint)(1 << channel)); }