Change int64 for select variables to uint64. (Closes #21)
This commit is contained in:
parent
2735074515
commit
a314e945ed
@ -23,7 +23,7 @@ func (solver *Solver) PopulateBlocks() {
|
||||
solver.findBlocks(&solver.Controller.Row9, &solver.row9s)
|
||||
|
||||
// This calculates and stores the total number of solutions to validate.
|
||||
solver.Iter = int64(len(solver.row1s)) * int64(len(solver.row2s)) * int64(len(solver.row3s)) * int64(len(solver.row4s)) * int64(len(solver.row5s)) * int64(len(solver.row6s)) * int64(len(solver.row7s)) * int64(len(solver.row8s)) * int64(len(solver.row9s))
|
||||
solver.Iter = uint64(len(solver.row1s)) * uint64(len(solver.row2s)) * uint64(len(solver.row3s)) * uint64(len(solver.row4s)) * uint64(len(solver.row5s)) * uint64(len(solver.row6s)) * uint64(len(solver.row7s)) * uint64(len(solver.row8s)) * uint64(len(solver.row9s))
|
||||
|
||||
}
|
||||
|
||||
@ -114,9 +114,9 @@ func (solver *Solver) Tracker() {
|
||||
var track int
|
||||
|
||||
// Tracking the rate, starting point
|
||||
var rateStart int64
|
||||
var rateStart uint64
|
||||
// Tracking the rate, difference between previous iterations
|
||||
var rateDiff int64
|
||||
var rateDiff uint64
|
||||
|
||||
// Tracking duration
|
||||
var timerStart = time.Now()
|
||||
@ -164,7 +164,7 @@ func (solver *Solver) Tracker() {
|
||||
}
|
||||
|
||||
// Printing the progress
|
||||
log.Println("Processing: " + strconv.Itoa(int(percentage)) + "% (" + strconv.FormatInt(solver.counter.Load(), 10) + "/" + strconv.Itoa(int(solver.Iter)) + "); Rate: " + strconv.FormatInt(rateDiff, 10) + "/sec for " + timer_elapsed.String() + "; Time left (est.): " + est_fin)
|
||||
log.Println("Processing: " + strconv.Itoa(int(percentage)) + "% (" + strconv.FormatUint(solver.counter.Load(), 10) + "/" + strconv.Itoa(int(solver.Iter)) + "); Rate: " + strconv.FormatUint(rateDiff, 10) + "/sec for " + timer_elapsed.String() + "; Time left (est.): " + est_fin)
|
||||
|
||||
// After we are done printing, exit this for-loop
|
||||
if percentage == 100 {
|
||||
@ -240,14 +240,14 @@ func (solver *Solver) validateCombination(row1 string, row2 string, row3 string,
|
||||
}
|
||||
|
||||
// Calculate the average rate in a stored slice of rates.
|
||||
func (solver *Solver) calcAVG() (avg int64) {
|
||||
var avgSum int64
|
||||
func (solver *Solver) calcAVG() (avg uint64) {
|
||||
var avgSum uint64
|
||||
|
||||
for _, value := range solver.rates {
|
||||
avgSum += value
|
||||
avgSum += uint64(value)
|
||||
}
|
||||
|
||||
avg = avgSum / int64(len(solver.rates))
|
||||
avg = avgSum / uint64(len(solver.rates))
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -57,5 +57,5 @@ func (solver *Solver) setWorkload(agents []int) {
|
||||
solver.row1s = solver.row1s[start:finish]
|
||||
|
||||
// Recalculate how much we need to grind through
|
||||
solver.Iter = int64(len(solver.row1s)) * int64(len(solver.row2s)) * int64(len(solver.row3s)) * int64(len(solver.row4s)) * int64(len(solver.row5s)) * int64(len(solver.row6s)) * int64(len(solver.row7s)) * int64(len(solver.row8s)) * int64(len(solver.row9s))
|
||||
solver.Iter = uint64(len(solver.row1s)) * uint64(len(solver.row2s)) * uint64(len(solver.row3s)) * uint64(len(solver.row4s)) * uint64(len(solver.row5s)) * uint64(len(solver.row6s)) * uint64(len(solver.row7s)) * uint64(len(solver.row8s)) * uint64(len(solver.row9s))
|
||||
}
|
||||
|
@ -28,9 +28,9 @@ type Solver struct {
|
||||
// Slice of possible blocks for the 9th row.
|
||||
row9s []string
|
||||
// Maximum number of possible solutions with the current set of rows.
|
||||
Iter int64
|
||||
Iter uint64
|
||||
// Progress counter, needs atomic due to the number of updates.
|
||||
counter atomic.Int64
|
||||
counter atomic.Uint64
|
||||
// Slice of rates for accurate duration estimation.
|
||||
rates []int64
|
||||
rates []uint64
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user