From c4db0ec0112e03527706b21c5b2bc06c2c234505 Mon Sep 17 00:00:00 2001 From: Joachim Date: Tue, 28 Aug 2018 07:27:44 +0200 Subject: [PATCH] added iteratorcount prints --- src/main/kotlin/be/nielandt/CrossSolverIterator.kt | 6 ++++++ src/main/kotlin/be/nielandt/CrossSolverUpgraded.kt | 4 ++++ src/main/kotlin/be/nielandt/CrossSolverUpgradedSkip.kt | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/src/main/kotlin/be/nielandt/CrossSolverIterator.kt b/src/main/kotlin/be/nielandt/CrossSolverIterator.kt index f28b0ad..56c125d 100644 --- a/src/main/kotlin/be/nielandt/CrossSolverIterator.kt +++ b/src/main/kotlin/be/nielandt/CrossSolverIterator.kt @@ -8,6 +8,7 @@ class CrossSolverIterator : CrossSolver() { */ override fun solveCrosses(edgeModel: EdgeModel): Map { val moveCounts = mutableMapOf() + var iteratorCount = 0 for (moveCount in 1..8) { // build a counter of moveCount big @@ -17,6 +18,7 @@ class CrossSolverIterator : CrossSolver() { // count up, each state of the counter corresponds to a combination of moves while (iterator.hasNext()) { val moves = iterator.next() + iteratorCount++ // execute the moves val afterMoves = edgeModel.doMoves(moves.toList()) // check crosses that have not been found yet @@ -29,10 +31,14 @@ class CrossSolverIterator : CrossSolver() { } } if (moveCounts.keys.size == 6) { + println("iteratorCount = ${iteratorCount}") return@solveCrosses moveCounts } } } + + println("iteratorCount = ${iteratorCount}") + return moveCounts } diff --git a/src/main/kotlin/be/nielandt/CrossSolverUpgraded.kt b/src/main/kotlin/be/nielandt/CrossSolverUpgraded.kt index 5dc5133..ac17bcc 100644 --- a/src/main/kotlin/be/nielandt/CrossSolverUpgraded.kt +++ b/src/main/kotlin/be/nielandt/CrossSolverUpgraded.kt @@ -9,6 +9,7 @@ class CrossSolverUpgraded : CrossSolver() { override fun solveCrosses(edgeModel: EdgeModel): Map { val moveCounts = mutableMapOf() + var iteratorCount = 0 for (moveCount in 1..8) { println("all cross move count upgrade doing $moveCount") // build a counter of moveCount big @@ -18,6 +19,7 @@ class CrossSolverUpgraded : CrossSolver() { while (edgeModelFactory.hasNext()) { // get the next model, using the internal counter which simply iterates over possible combinations of moves val next = edgeModelFactory.getNext() + iteratorCount++ // check crosses that have not been found yet (0..5).forEach { color -> @@ -31,10 +33,12 @@ class CrossSolverUpgraded : CrossSolver() { } // break if we have found hem all if (moveCounts.keys.size == 6) { + println("iteratorCount = ${iteratorCount}") return moveCounts } } } + println("iteratorCount = ${iteratorCount}") return moveCounts } } \ No newline at end of file diff --git a/src/main/kotlin/be/nielandt/CrossSolverUpgradedSkip.kt b/src/main/kotlin/be/nielandt/CrossSolverUpgradedSkip.kt index cddc863..4b22cc5 100644 --- a/src/main/kotlin/be/nielandt/CrossSolverUpgradedSkip.kt +++ b/src/main/kotlin/be/nielandt/CrossSolverUpgradedSkip.kt @@ -9,6 +9,7 @@ class CrossSolverUpgradedSkip : CrossSolver() { override fun solveCrosses(edgeModel: EdgeModel): Map { val moveCounts = mutableMapOf() + var iteratorCount = 0 for (moveCount in 1..8) { println("all cross move count upgrade doing $moveCount") // build a counter of moveCount big @@ -18,6 +19,7 @@ class CrossSolverUpgradedSkip : CrossSolver() { while (edgeModelFactory.hasNext()) { // get the next model, using the internal counter which simply iterates over possible combinations of moves val next = edgeModelFactory.getNext() + iteratorCount++ // check crosses that have not been found yet (0..5).forEach { color -> @@ -31,10 +33,12 @@ class CrossSolverUpgradedSkip : CrossSolver() { } // break if we have found hem all if (moveCounts.keys.size == 6) { + println("iteratorCount = ${iteratorCount}") return moveCounts } } } + println("iteratorCount = ${iteratorCount}") return moveCounts }