public void doTrial()

in src/main/java/org/apache/datasketches/characterization/hll/HllAccuracyProfile.java [59:132]


  public void doTrial() {
    final int qArrLen = qArr.length;
    sketch.reset(); //reuse the same sketch
    long lastUniques = 0;
    final int sw = (useCharArr ? 2 : 0) | (useComposite ? 1 : 0);
    switch (sw) {
      case 0: { //use longs; use HIP
        for (int i = 0; i < qArrLen; i++) {
          final AccuracyStats q = qArr[i];
          final long delta = (long)(q.trueValue - lastUniques);
          for (long u = 0; u < delta; u++) {
            sketch.update(++vIn);
          }
          lastUniques += delta;
          final double est = sketch.getEstimate();
          q.update(est);
          if (getSize) {
            q.bytes = sketch.toCompactByteArray().length;
          }
        }
        break;
      }
      case 1: { //use longs; use Composite
        for (int i = 0; i < qArrLen; i++) {
          final AccuracyStats q = qArr[i];
          final long delta = (long)(q.trueValue - lastUniques);
          for (long u = 0; u < delta; u++) {
            sketch.update(++vIn);
          }
          lastUniques += delta;
          final double est = sketch.getCompositeEstimate();
          q.update(est);
          if (getSize) {
            q.bytes = sketch.toCompactByteArray().length;
          }
        }
        break;
      }
      case 2: { //use char[]; use HIP
        for (int i = 0; i < qArrLen; i++) {
          final AccuracyStats q = qArr[i];
          final long delta = (long)(q.trueValue - lastUniques);
          for (long u = 0; u < delta; u++) {
            final String vstr = Long.toHexString(++vIn);
            sketch.update(vstr.toCharArray());
          }
          lastUniques += delta;
          final double est = sketch.getEstimate();
          q.update(est);
          if (getSize) {
            q.bytes = sketch.toCompactByteArray().length;
          }
        }
        break;
      }
      case 3: { //use char[]; use Composite
        for (int i = 0; i < qArrLen; i++) {
          final AccuracyStats q = qArr[i];
          final long delta = (long)(q.trueValue - lastUniques);
          for (long u = 0; u < delta; u++) {
            final String vstr = Long.toHexString(++vIn);
            sketch.update(vstr.toCharArray());
          }
          lastUniques += delta;
          final double est = sketch.getCompositeEstimate();
          q.update(est);
          if (getSize) {
            q.bytes = sketch.toCompactByteArray().length;
          }
        }
        break;
      }
    }
  }