Przeglądaj źródła

Make solver.Run() nicer, readable.

Sacha Ligthert 1 rok temu
rodzic
commit
e7800660e9
2 zmienionych plików z 14 dodań i 10 usunięć
  1. 12 0
      solver/processing.go
  2. 2 10
      solver/solver.go

+ 12 - 0
solver/processing.go

@@ -6,6 +6,18 @@ import (
 	"strconv"
 )
 
+func (solver *Solver) populate_blocks() {
+	solver.find_blocks(&solver.row1, &solver.row1s)
+	solver.find_blocks(&solver.row2, &solver.row2s)
+	solver.find_blocks(&solver.row3, &solver.row3s)
+	solver.find_blocks(&solver.row4, &solver.row4s)
+	solver.find_blocks(&solver.row5, &solver.row5s)
+	solver.find_blocks(&solver.row6, &solver.row6s)
+	solver.find_blocks(&solver.row7, &solver.row7s)
+	solver.find_blocks(&solver.row8, &solver.row8s)
+	solver.find_blocks(&solver.row9, &solver.row9s)
+}
+
 func (solver *Solver) find_blocks(row *string, rows *[]int) {
 	// Declare selection
 	var selection []int

+ 2 - 10
solver/solver.go

@@ -16,19 +16,11 @@ func Run() {
 	solver.row8 = "006283090"
 	solver.row9 = "200590006"
 
+	// Load blocks from CSV file
 	solver.load_blocks()
-	//fmt.Println("Total blocks:", len(solver.blocks))
 
 	// Find rows that fit with the entered rows
-	solver.find_blocks(&solver.row1, &solver.row1s)
-	solver.find_blocks(&solver.row2, &solver.row2s)
-	solver.find_blocks(&solver.row3, &solver.row3s)
-	solver.find_blocks(&solver.row4, &solver.row4s)
-	solver.find_blocks(&solver.row5, &solver.row5s)
-	solver.find_blocks(&solver.row6, &solver.row6s)
-	solver.find_blocks(&solver.row7, &solver.row7s)
-	solver.find_blocks(&solver.row8, &solver.row8s)
-	solver.find_blocks(&solver.row9, &solver.row9s)
+	solver.populate_blocks()
 
 	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))
 	fmt.Println("Number of iterations:", solver.iter)