protected int getLevel(int cid) { return MathUtil.log2Floor(cid + 1); }
@Override public String next() { String s = Long.toHexString(Double.doubleToLongBits(rnd.nextDouble())); StringBuilder strBuilder = new StringBuilder(); for (int i = 0; i < s.length() && i < maxLen; i++) { strBuilder.append(s.charAt(MathUtil.stripSignBit(rnd.nextInt()) % s.length())); } return strBuilder.toString(); }
@Override public String next() { StringBuilder strBuilder = new StringBuilder(); int numWords = MathUtil.stripSignBit(rnd.nextInt()) % (docMaxWords - docMinWords + 1) + docMinWords; for (int i = 0; i < numWords; i++) { int ix = ProbabilityHelper.choose(cumulIntRanges, rnd.nextInt()); strBuilder.append(tokenDict.get(ix)); if (i != numWords - 1) { strBuilder.append(" "); } } return strBuilder.toString(); }
@Test public void testLog2() { Random random = new Random(System.currentTimeMillis()); for (int i = 0; i < 31; i++) { assertTrue(MathUtil.log2Floor((int) Math.pow(2, i)) == i); for (int x = 0; x < 10; x++) { float extra = random.nextFloat(); while (extra >= 1.0) { extra = random.nextFloat(); } assertTrue(MathUtil.log2Floor((int) Math.pow(2, i + extra)) == i); } } } }
@Override public String next() { StringBuilder strBuilder = new StringBuilder(); // First name. int fix = MathUtil.stripSignBit(rnd.nextInt()) % firstNames.size(); strBuilder.append(firstNames.get(fix)); strBuilder.append(" "); // Optional middle initial. double d = Math.abs(rnd.nextDouble()); if (d <= middleInitialProb) { int mix = MathUtil.stripSignBit(rnd.nextInt()) % LETTERS.length(); strBuilder.append(LETTERS.charAt(mix)); strBuilder.append(". "); } // Last name. int lix = MathUtil.stripSignBit(rnd.nextInt()) % lastNames.size(); strBuilder.append(lastNames.get(lix)); return strBuilder.toString(); }
int index = MathUtil.stripSignBit(rnd.nextInt()) % remainingLength; int pageId = remainingPageIds[index];