diff --git a/solver/blocks.go b/solver/blocks.go index ade34b8..ca4e4cc 100644 --- a/solver/blocks.go +++ b/solver/blocks.go @@ -32,38 +32,3 @@ func (solver *Solver) load_blocks() { } solver.blocks = blocks } - -func (solver *Solver) generate_blocks() []int { - - var blocks []int - decvals := [9]int{49, 50, 51, 52, 53, 54, 55, 56, 57} - - for counter := 123456789; counter <= 987654321; counter++ { - - // Convert number to string ([]byte) - digits := strconv.Itoa(counter) - - // Check if every number is only represented only once - var valid bool - valid = true - for decval := range decvals { - var count int - for digit := range digits { - if digits[digit] == byte(decvals[decval]) { - count = count + 1 - } - } - - if count != 1 { - valid = false - } - } - - if valid { - blocks = append(blocks, counter) - } - } - - return blocks - -} diff --git a/solver/processing.go b/solver/processing.go index 0850297..30c09e6 100644 --- a/solver/processing.go +++ b/solver/processing.go @@ -64,58 +64,6 @@ func (solver *Solver) check_combinations() { } } -func (solver *Solver) routine_row1(index1 int) { - for index2 := range solver.row2s { - go solver.routine_row2(index1, index2) - } -} - -func (solver *Solver) routine_row2(index1 int, index2 int) { - for index3 := range solver.row3s { - go solver.routine_row3(index1, index2, index3) - } -} - -func (solver *Solver) routine_row3(index1 int, index2 int, index3 int) { - for index4 := range solver.row4s { - go solver.routine_row4(index1, index2, index3, index4) - } -} - -func (solver *Solver) routine_row4(index1 int, index2 int, index3 int, index4 int) { - for index5 := range solver.row5s { - go solver.routine_row5(index1, index2, index3, index4, index5) - } -} - -func (solver *Solver) routine_row5(index1 int, index2 int, index3 int, index4 int, index5 int) { - for index6 := range solver.row6s { - go solver.routine_row6(index1, index2, index3, index4, index5, index6) - } -} - -func (solver *Solver) routine_row6(index1 int, index2 int, index3 int, index4 int, index5 int, index6 int) { - for index7 := range solver.row7s { - go solver.routine_row7(index1, index2, index3, index4, index5, index6, index7) - } -} - -func (solver *Solver) routine_row7(index1 int, index2 int, index3 int, index4 int, index5 int, index6 int, index7 int) { - for index8 := range solver.row8s { - go solver.routine_row8(index1, index2, index3, index4, index5, index6, index7, index8) - } -} - -func (solver *Solver) routine_row8(index1 int, index2 int, index3 int, index4 int, index5 int, index6 int, index7 int, index8 int) { - for index9 := range solver.row9s { - go solver.routine_row9(index1, index2, index3, index4, index5, index6, index7, index8, index9) - } -} - -func (solver *Solver) routine_row9(index1 int, index2 int, index3 int, index4 int, index5 int, index6 int, index7 int, index8 int, index9 int) { - go solver.routine_validator(index1, index2, index3, index4, index5, index6, index7, index8, index9) -} - func (solver *Solver) routine_validator(rows1_index int, rows2_index int, rows3_index int, rows4_index int, rows5_index int, rows6_index int, rows7_index int, rows8_index int, rows9_index int) { var percentage float32 diff --git a/solver/stash.go b/solver/stash.go index d5eb817..93ebca9 100644 --- a/solver/stash.go +++ b/solver/stash.go @@ -1,7 +1,6 @@ package solver import ( - "fmt" "strconv" ) @@ -17,12 +16,5 @@ func (solver *Solver) render_combination(row1 int, row2 int, row3 int, row4 int, row8s := strconv.Itoa(row8) row9s := strconv.Itoa(row9) - // combination = row1s + "\n" + row2s + "\n" + row3s + "\n" + row4s + "\n" + row5s + "\n" + row6s + "\n" + row7s + "\n" + row8s + "\n" + row9s + "\n" - return row1s + "\n" + row2s + "\n" + row3s + "\n" + row4s + "\n" + row5s + "\n" + row6s + "\n" + row7s + "\n" + row8s + "\n" + row9s + "\n" } - -func (solver *Solver) print_block(block int) { - digits := strconv.Itoa(block) - fmt.Printf("%c %c %c\n%c %c %c\n%c %c %c\n\n", digits[0], digits[1], digits[2], digits[3], digits[4], digits[5], digits[6], digits[7], digits[8]) -} diff --git a/unused.txt b/unused.txt new file mode 100644 index 0000000..e91a416 --- /dev/null +++ b/unused.txt @@ -0,0 +1,94 @@ +// Processing +func (solver *Solver) routine_row1(index1 int) { + for index2 := range solver.row2s { + go solver.routine_row2(index1, index2) + } +} + +func (solver *Solver) routine_row2(index1 int, index2 int) { + for index3 := range solver.row3s { + go solver.routine_row3(index1, index2, index3) + } +} + +func (solver *Solver) routine_row3(index1 int, index2 int, index3 int) { + for index4 := range solver.row4s { + go solver.routine_row4(index1, index2, index3, index4) + } +} + +func (solver *Solver) routine_row4(index1 int, index2 int, index3 int, index4 int) { + for index5 := range solver.row5s { + go solver.routine_row5(index1, index2, index3, index4, index5) + } +} + +func (solver *Solver) routine_row5(index1 int, index2 int, index3 int, index4 int, index5 int) { + for index6 := range solver.row6s { + go solver.routine_row6(index1, index2, index3, index4, index5, index6) + } +} + +func (solver *Solver) routine_row6(index1 int, index2 int, index3 int, index4 int, index5 int, index6 int) { + for index7 := range solver.row7s { + go solver.routine_row7(index1, index2, index3, index4, index5, index6, index7) + } +} + +func (solver *Solver) routine_row7(index1 int, index2 int, index3 int, index4 int, index5 int, index6 int, index7 int) { + for index8 := range solver.row8s { + go solver.routine_row8(index1, index2, index3, index4, index5, index6, index7, index8) + } +} + +func (solver *Solver) routine_row8(index1 int, index2 int, index3 int, index4 int, index5 int, index6 int, index7 int, index8 int) { + for index9 := range solver.row9s { + go solver.routine_row9(index1, index2, index3, index4, index5, index6, index7, index8, index9) + } +} + +func (solver *Solver) routine_row9(index1 int, index2 int, index3 int, index4 int, index5 int, index6 int, index7 int, index8 int, index9 int) { + go solver.routine_validator(index1, index2, index3, index4, index5, index6, index7, index8, index9) +} + +// blocks.go +func (solver *Solver) generate_blocks() []int { + + var blocks []int + decvals := [9]int{49, 50, 51, 52, 53, 54, 55, 56, 57} + + for counter := 123456789; counter <= 987654321; counter++ { + + // Convert number to string ([]byte) + digits := strconv.Itoa(counter) + + // Check if every number is only represented only once + var valid bool + valid = true + for decval := range decvals { + var count int + for digit := range digits { + if digits[digit] == byte(decvals[decval]) { + count = count + 1 + } + } + + if count != 1 { + valid = false + } + } + + if valid { + blocks = append(blocks, counter) + } + } + + return blocks + +} + +// stash.go +func (solver *Solver) print_block(block int) { + digits := strconv.Itoa(block) + fmt.Printf("%c %c %c\n%c %c %c\n%c %c %c\n\n", digits[0], digits[1], digits[2], digits[3], digits[4], digits[5], digits[6], digits[7], digits[8]) +} \ No newline at end of file