private void doTrials()

in src/main/java/org/apache/datasketches/characterization/hll/HllConfidenceIntervalInverseProfile.java [160:198]


  private void doTrials() {
    //This will generate a table of data for each intermediate Trials point
    int lastT = 0;
    while (lastT < maxT) {
      final int nextT = lastT == 0 ? minT : (int)pwr2SeriesNext(tPPO, lastT);
      final int delta = nextT - lastT;
      for (int i = 0; i < delta; i++) {
        doTrial();
      }
      lastT = nextT;
      final StringBuilder sb = new StringBuilder();
      if (nextT < maxT) { // intermediate
        if (interData) {
          processTrialsSet(estStatsArr, lastT, sb);
          job.println(sb.toString());
        }
      } else { //done
        processTrialsSet(estStatsArr, lastT, sb);
        job.println(sb.toString());
      }
      //printed at the end of a trials set
      final long currentTime_mS = System.currentTimeMillis();
      final long cumTime_mS = currentTime_mS - job.getStartTime();
      job.println("Cum Time               : " + milliSecToString(cumTime_mS));
      final double timePerTrial_mS = cumTime_mS * 1.0 / lastT;
      final String tpt_ms = String.format("%.3f", timePerTrial_mS);
      job.println("Time Per Trial, mSec   : " + tpt_ms);

      job.println("Date Time              : "
          + job.getReadableDateString(currentTime_mS));

      final long timeToComplete_mS = (long)(timePerTrial_mS * (maxT - lastT));
      job.println("Est Time to Complete   : " + milliSecToString(timeToComplete_mS));
      job.println("Est Time at Completion : "
          + job.getReadableDateString(timeToComplete_mS + currentTime_mS));
      job.println("");
      job.flush();
    }
  }