diff --git a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/ext/OpenGotha.kt b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/ext/OpenGotha.kt index 164056b..2c9db0e 100644 --- a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/ext/OpenGotha.kt +++ b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/ext/OpenGotha.kt @@ -123,8 +123,8 @@ object OpenGotha { else -> MacMahon( pairingParams = pairgothPairingParams, placementParams = pairgothPlacementParams, - mmsFloor = Pairable.parseRank(genParams.genMMFloor), - mmsBar = Pairable.parseRank(genParams.genMMBar) + mmFloor = Pairable.parseRank(genParams.genMMFloor), + mmBar = Pairable.parseRank(genParams.genMMBar) ) }, rounds = genParams.numberOfRounds @@ -251,11 +251,11 @@ object OpenGotha { TimeSystem.TimeSystemType.FISCHER -> "FISCHER" } }" director="" endDate="${tournament.endDate}" fischerTime="${tournament.timeSystem.increment}" genCountNotPlayedGamesAsHalfPoint="false" genMMBar="${ displayRank( - if (tournament.pairing is MacMahon) tournament.pairing.mmsBar else 8 + if (tournament.pairing is MacMahon) tournament.pairing.mmBar else 8 ).uppercase(Locale.ROOT) }" genMMFloor="${ displayRank( - if (tournament.pairing is MacMahon) tournament.pairing.mmsFloor else -30 + if (tournament.pairing is MacMahon) tournament.pairing.mmFloor else -30 ).uppercase(Locale.ROOT) }" genMMS2ValueAbsent="1" genMMS2ValueBye="2" genMMZero="30K" genNBW2ValueAbsent="0" genNBW2ValueBye="2" genRoundDownNBWMMS="true" komi="${tournament.komi}" location="${tournament.location}" name="${tournament.name}" nbMovesCanTime="${tournament.timeSystem.stones}" numberOfCategories="1" numberOfRounds="${tournament.rounds}" shortName="${tournament.shortName}" size="${tournament.gobanSize}" stdByoYomiTime="${tournament.timeSystem.byoyomi}"/> diff --git a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/model/Pairing.kt b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/model/Pairing.kt index da8fbbb..b6ebdc2 100644 --- a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/model/Pairing.kt +++ b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/model/Pairing.kt @@ -181,12 +181,12 @@ class MacMahon( placementParams: PlacementParams = PlacementParams( Criterion.NBW, Criterion.SOSW, Criterion.SOSOSW ), - var mmsFloor: Int = -20, - var mmsBar: Int = 0 + var mmFloor: Int = -20, + var mmBar: Int = 0 ): Pairing(MAC_MAHON, pairingParams, placementParams) { companion object {} override fun pair(tournament: Tournament<*>, round: Int, pairables: List): List { - return MacMahonSolver(round, tournament.historyBefore(round), pairables, pairingParams, placementParams, mmsFloor, mmsBar).pair() + return MacMahonSolver(round, tournament.historyBefore(round), pairables, pairingParams, placementParams, mmFloor, mmBar).pair() } } diff --git a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/solver/MacMahonSolver.kt b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/solver/MacMahonSolver.kt index 80837cd..4dd33ac 100644 --- a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/solver/MacMahonSolver.kt +++ b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/solver/MacMahonSolver.kt @@ -9,7 +9,7 @@ class MacMahonSolver(round: Int, pairables: List, pairingParams: PairingParams, placementParams: PlacementParams, - private val mmsFloor: Int, private val mmsBar: Int): + private val mmFloor: Int, private val mmBar: Int): BaseSolver(round, history, pairables, pairingParams, placementParams) { override val scores: Map by lazy { @@ -19,11 +19,11 @@ class MacMahonSolver(round: Int, } } } - val Pairable.mmBase: Double get() = min(max(rank, mmsFloor), mmsBar) + mmsZero + val Pairable.mmBase: Double get() = min(max(rank, mmFloor), mmBar) + mmsZero val Pairable.mms: Double get() = scores[id] ?: 0.0 // CB TODO - configurable criteria - override val mainLimits get() = Pair(mmsFloor.toDouble(), 100.0) // TODO ? + override val mainLimits get() = Pair(mmFloor.toDouble(), 100.0) // TODO ? override fun evalCriterion(pairable: Pairable, criterion: Criterion) = when (criterion) { Criterion.MMS -> pairable.mms else -> super.evalCriterion(pairable, criterion)