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();
}
}