private void processTrialsSet()

in src/main/java/org/apache/datasketches/characterization/hll/HllConfidenceIntervalInverseProfile.java [200:266]


  private void processTrialsSet( //process cumulative trials so far
      final EstimateStats[] estStatsArr,
      final int trials,
      final StringBuilder sb
      ) {
    //Reset for this Trials Set
    final int totalEsts = trials * srcNlen;
    minTgtHits = Integer.MAX_VALUE;
    Arrays.fill(sumRanksArr, 0.0);
    sb.setLength(0);
    sb.append(getHeader()).append(LS);

    for (int pt = 0; pt < tgtEstArrLen; pt++) { //output each target est bin per row
      final DoublesSketch qsk = estStatsArr[pt].qskN;
      final int est = estStatsArr[pt].estimate;
      final int hits = (int) qsk.getN();
      maxTgtHits = max(maxTgtHits, hits);
      minTgtHits = min(minTgtHits, hits);
      totalTgtHits += hits;

      //start output
      sb.append(est).append(TAB);
      sb.append(hits).append(TAB);

      //output quantiles for each target est bin on the row
      final double[] quants = qsk.getQuantiles(GAUSSIANS_3SD);
      if (hits > 0) {
        for (int i = 0; i < FRACTIONS_3SD_LEN; i++) {
          final double relV = quants[i] / est - 1.0;
          sumRanksArr[i] += relV;
          sb.append(relV).append(TAB);
        }
      } else {
        for (int i = 0; i < FRACTIONS_3SD_LEN; i++) { sb.append("-").append(TAB); }
      }
      sb.append(LS);
    }
    //output summary statistics for trials set so far
    sb.append(LS);
    sb.append("Summary quantiles of N over all target estimates").append(LS);
    sb.append(centerTgtEst).append(TAB);
    sb.append(totalTgtHits).append(TAB);
    final double[] qNarr = qNinTgtEstRange.getQuantiles(GAUSSIANS_3SD);
    for (int i = 0; i < FRACTIONS_3SD_LEN; i++) {
      final String relV = totalTgtHits > 0 ? Double.toString(qNarr[i] / centerTgtEst - 1.0) : "-";
      sb.append(relV).append(TAB);
    }
    sb.append(LS);
    sb.append("Ave").append(TAB).append(TAB);
    for (int i = 0; i < FRACTIONS_3SD_LEN; i++) {
      final double relV = sumRanksArr[i] / tgtEstArrLen;
      sb.append(relV).append(TAB);
    }

    sb.append(LS + LS);
    sb.append(getSumHeader()).append(LS);
    sb.append(trials).append(TAB);
    sb.append((int)qNinTgtEstRange.getMinItem()).append(TAB);
    sb.append((int)qNinTgtEstRange.getQuantile(.5)).append(TAB);
    sb.append((int)qNinTgtEstRange.getMaxItem()).append(TAB);
    sb.append(minTgtHits).append(TAB);
    sb.append(maxTgtHits).append(TAB);
    sb.append(totalTgtHits).append(TAB);
    sb.append(totalEsts).append(TAB);
    sb.append(vIn);
    sb.append(LS);
  }