public virtual void TestPerfSelectAllBitsNaive() { for (int j = 0; j < 10000; j++) // real perftest: 1000000 { for (int i = 0; i < 64; i++) { Assert.AreEqual(i, BroadWord.SelectNaive(unchecked ((long)0xFFFFFFFFFFFFFFFFL), i + 1)); } } }
private void TstSelect(long x, int r, int exp) { Assert.AreEqual(exp, BroadWord.SelectNaive(x, r), "selectNaive(" + x + "," + r + ")"); Assert.AreEqual(exp, BroadWord.Select(x, r), "select(" + x + "," + r + ")"); }
private void TstRank(long x) { Assert.AreEqual(Number.BitCount(x), BroadWord.BitCount(x), "rank(" + x + ")"); }
public virtual void TestNotEquals0_8() { // 0 <= arguments < 2 ** k, k=8, see paper for (long i = 0x0L; i <= 0xFFL; i++) { long ii = i * BroadWord.L8_L; Assert.AreEqual(ToStringUtils.LongHex((i != 0L) ? unchecked (0x80L * BroadWord.L8_L) : 0x0L), ToStringUtils.LongHex(BroadWord.NotEquals0_8(ii)), ToStringUtils.LongHex(ii) + " <> 0"); } }
public virtual void TestSmalleru_8_01() { // 0 <= arguments < 2 ** k, k=8, see paper for (long i = 0x0L; i <= 0xFFL; i++) { for (long j = 0x0L; i <= 0xFFL; i++) { long ii = i * BroadWord.L8_L; long jj = j * BroadWord.L8_L; Assert.AreEqual(ToStringUtils.LongHex((i < j) ? unchecked (0x80L * BroadWord.L8_L) : 0x0L), ToStringUtils.LongHex(BroadWord.Smalleru_8(ii, jj)), ToStringUtils.LongHex(ii) + " < " + ToStringUtils.LongHex(jj)); } } }