|
|
@@ -138,19 +138,18 @@ func (solver *Solver) tracker() {
|
|
|
}
|
|
|
|
|
|
timer_elapsed := time.Since(timer_start)
|
|
|
- rate := int64(rate_diff) / int64(timer_elapsed.Seconds())
|
|
|
- solver.rates = append(solver.rates, rate)
|
|
|
+ solver.rates = append(solver.rates, rate_diff)
|
|
|
rate_avg := solver.calc_avg()
|
|
|
|
|
|
// Estimate when this is finished
|
|
|
if rate_diff == 0 {
|
|
|
est_fin = "N/A"
|
|
|
} else {
|
|
|
- est_fin = solver.secondsToHuman((int(solver.iter) - int(solver.counter)) / int(rate_avg))
|
|
|
+ est_fin = solver.secondsToHuman((solver.iter - solver.counter) / rate_avg)
|
|
|
}
|
|
|
|
|
|
// Printing the progress
|
|
|
- log.Println("Processing: " + strconv.Itoa(int(percentage)) + "% (" + strconv.Itoa(int(solver.counter)) + "/" + strconv.Itoa(int(solver.iter)) + "); Rate: " + strconv.Itoa(int(rate)) + "/sec for " + timer_elapsed.String() + "; Time left (est.): " + est_fin)
|
|
|
+ log.Println("Processing: " + strconv.Itoa(int(percentage)) + "% (" + strconv.Itoa(int(solver.counter)) + "/" + strconv.Itoa(int(solver.iter)) + "); Rate: " + strconv.FormatInt(rate_diff, 10) + "/sec for " + timer_elapsed.String() + "; Time left (est.): " + est_fin)
|
|
|
|
|
|
// After we are done printing, exit this for-loop
|
|
|
if percentage == 100 {
|
|
|
@@ -170,6 +169,7 @@ func (solver *Solver) tracker() {
|
|
|
|
|
|
// Resert the rate counter
|
|
|
rate_start = solver.counter
|
|
|
+
|
|
|
// Sleep for a second
|
|
|
time.Sleep(1 * time.Second)
|
|
|
|
|
|
@@ -233,15 +233,14 @@ func (solver *Solver) validate_combination(row1 int, row2 int, row3 int, row4 in
|
|
|
return retval
|
|
|
}
|
|
|
|
|
|
-func (solver *Solver) calc_avg() int {
|
|
|
+func (solver *Solver) calc_avg() (avg int64) {
|
|
|
var avg_sum int64
|
|
|
- var avg int
|
|
|
|
|
|
for _, value := range solver.rates {
|
|
|
avg_sum += value
|
|
|
}
|
|
|
|
|
|
- avg = int(avg_sum) / len(solver.rates)
|
|
|
+ avg = avg_sum / int64(len(solver.rates))
|
|
|
|
|
|
- return avg
|
|
|
+ return
|
|
|
}
|