File tree Expand file tree Collapse file tree 1 file changed +8
-6
lines changed
src/main/scala/com/truelaurel/math/geometry/grid Expand file tree Collapse file tree 1 file changed +8
-6
lines changed Original file line number Diff line number Diff line change @@ -2,14 +2,16 @@ package com.truelaurel.math.geometry.grid
22
33case class Masks (size : Int , needed : Int ) {
44 val empty = GridData (size)
5- val matrixIndices = for {
5+
6+ val matrixIndices : Seq [(Int , Int )] = for {
67 r0 <- 0 to size - needed
78 c0 <- 0 to size - needed
89 } yield (r0, c0)
10+
911 val matricesCompleted : Set [Long ] =
1012 (preComputedMatricesRows ++ preComputedMatricesCols :+ preComputedMatricesDiag1 :+ preComputedMatricesDiag2).toSet
1113
12- def isComplete (grid : GridData ) =
14+ def isComplete (grid : GridData ): Boolean =
1315 matrixIndices.exists {
1416 case (r0, c0) =>
1517 val gsm = grid.subMatrix(r0, c0, needed)
@@ -20,30 +22,30 @@ case class Masks(size: Int, needed: Int) {
2022 (0 until needed).map(row => (for {
2123 c <- 0 until needed
2224 i = row * needed + c
23- bit = ( 1L << i)
25+ bit = 1L << i
2426 } yield bit).sum)
2527
2628 def preComputedMatricesCols : Seq [Long ] =
2729 (0 until needed).map(col => (for {
2830 r <- 0 until needed
2931 i = r * needed + col
30- bit = ( 1L << i)
32+ bit = 1L << i
3133 } yield bit).sum)
3234
3335 def preComputedMatricesDiag1 : Long =
3436 (for {
3537 r <- 0 until needed
3638 c = r
3739 i = r * needed + c
38- bit = ( 1L << i)
40+ bit = 1L << i
3941 } yield bit).sum
4042
4143 def preComputedMatricesDiag2 : Long =
4244 (for {
4345 r <- 0 until needed
4446 c = needed - 1 - r
4547 i = r * needed + c
46- bit = ( 1L << i)
48+ bit = 1L << i
4749 } yield bit).sum
4850
4951}
You can’t perform that action at this time.
0 commit comments