setWorkload.go 697 B

123456789101112131415161718192021
  1. package solver
  2. // Set the workload by setting solver.row1s
  3. func (solver *Solver) setWorkload(agents []int) {
  4. var start int = 0
  5. var finish int = 0
  6. for key, value := range agents {
  7. if key == solver.Controller.Part-1 {
  8. finish = start + value
  9. break
  10. } else {
  11. start += value
  12. }
  13. }
  14. // Set the shortened set of instructions
  15. solver.row1s = solver.row1s[start:finish]
  16. // Recalculate how much we need to grind through
  17. 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))
  18. }