From 78f070419e1017f491955e3afc1540e1454a8254 Mon Sep 17 00:00:00 2001 From: Niklas Fiekas Date: Sun, 9 Jul 2023 11:10:40 +0200 Subject: [PATCH] precompute mixednessRegions again --- src/main/scala/Divider.scala | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/scala/Divider.scala b/src/main/scala/Divider.scala index a4d1eb9bc..b6a54ff4c 100644 --- a/src/main/scala/Divider.scala +++ b/src/main/scala/Divider.scala @@ -77,11 +77,16 @@ object Divider: case _ => 0 - private def mixedness(board: Board): Int = { + private val mixednessRegions: List[Bitboard] = { val smallSquare = 0x0303L.bb for y <- 0 to 6 x <- 0 to 6 region = smallSquare << (x + 8 * y) - yield board.byColor.map(c => (c & region).count).reduce(score(y + 1)) - }.sum + yield region + }.toList + + private def mixedness(board: Board): Int = + mixednessRegions.foldLeft(0): (acc, region) => + val y = region.first.get.rank.index + 1 + acc + board.byColor.map(c => (c & region).count).reduce(score(y))