Rename floor and bar parameters
This commit is contained in:
@@ -123,8 +123,8 @@ object OpenGotha {
|
|||||||
else -> MacMahon(
|
else -> MacMahon(
|
||||||
pairingParams = pairgothPairingParams,
|
pairingParams = pairgothPairingParams,
|
||||||
placementParams = pairgothPlacementParams,
|
placementParams = pairgothPlacementParams,
|
||||||
mmsFloor = Pairable.parseRank(genParams.genMMFloor),
|
mmFloor = Pairable.parseRank(genParams.genMMFloor),
|
||||||
mmsBar = Pairable.parseRank(genParams.genMMBar)
|
mmBar = Pairable.parseRank(genParams.genMMBar)
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
rounds = genParams.numberOfRounds
|
rounds = genParams.numberOfRounds
|
||||||
@@ -251,11 +251,11 @@ object OpenGotha {
|
|||||||
TimeSystem.TimeSystemType.FISCHER -> "FISCHER"
|
TimeSystem.TimeSystemType.FISCHER -> "FISCHER"
|
||||||
} }" director="" endDate="${tournament.endDate}" fischerTime="${tournament.timeSystem.increment}" genCountNotPlayedGamesAsHalfPoint="false" genMMBar="${
|
} }" director="" endDate="${tournament.endDate}" fischerTime="${tournament.timeSystem.increment}" genCountNotPlayedGamesAsHalfPoint="false" genMMBar="${
|
||||||
displayRank(
|
displayRank(
|
||||||
if (tournament.pairing is MacMahon) tournament.pairing.mmsBar else 8
|
if (tournament.pairing is MacMahon) tournament.pairing.mmBar else 8
|
||||||
).uppercase(Locale.ROOT)
|
).uppercase(Locale.ROOT)
|
||||||
}" genMMFloor="${
|
}" genMMFloor="${
|
||||||
displayRank(
|
displayRank(
|
||||||
if (tournament.pairing is MacMahon) tournament.pairing.mmsFloor else -30
|
if (tournament.pairing is MacMahon) tournament.pairing.mmFloor else -30
|
||||||
).uppercase(Locale.ROOT)
|
).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}"/>
|
}" 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}"/>
|
||||||
<HandicapParameterSet hdBasedOnMMS="${tournament.pairing.pairingParams.handicap.useMMS}" hdCeiling="${tournament.pairing.pairingParams.handicap.ceiling}" hdCorrection="${tournament.pairing.pairingParams.handicap.correction}" hdNoHdRankThreshold="${displayRank(tournament.pairing.pairingParams.handicap.rankThreshold)}"/>
|
<HandicapParameterSet hdBasedOnMMS="${tournament.pairing.pairingParams.handicap.useMMS}" hdCeiling="${tournament.pairing.pairingParams.handicap.ceiling}" hdCorrection="${tournament.pairing.pairingParams.handicap.correction}" hdNoHdRankThreshold="${displayRank(tournament.pairing.pairingParams.handicap.rankThreshold)}"/>
|
||||||
|
@@ -181,12 +181,12 @@ class MacMahon(
|
|||||||
placementParams: PlacementParams = PlacementParams(
|
placementParams: PlacementParams = PlacementParams(
|
||||||
Criterion.NBW, Criterion.SOSW, Criterion.SOSOSW
|
Criterion.NBW, Criterion.SOSW, Criterion.SOSOSW
|
||||||
),
|
),
|
||||||
var mmsFloor: Int = -20,
|
var mmFloor: Int = -20,
|
||||||
var mmsBar: Int = 0
|
var mmBar: Int = 0
|
||||||
): Pairing(MAC_MAHON, pairingParams, placementParams) {
|
): Pairing(MAC_MAHON, pairingParams, placementParams) {
|
||||||
companion object {}
|
companion object {}
|
||||||
override fun pair(tournament: Tournament<*>, round: Int, pairables: List<Pairable>): List<Game> {
|
override fun pair(tournament: Tournament<*>, round: Int, pairables: List<Pairable>): List<Game> {
|
||||||
return MacMahonSolver(round, tournament.historyBefore(round), pairables, pairingParams, placementParams, mmsFloor, mmsBar).pair()
|
return MacMahonSolver(round, tournament.historyBefore(round), pairables, pairingParams, placementParams, mmFloor, mmBar).pair()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -9,7 +9,7 @@ class MacMahonSolver(round: Int,
|
|||||||
pairables: List<Pairable>,
|
pairables: List<Pairable>,
|
||||||
pairingParams: PairingParams,
|
pairingParams: PairingParams,
|
||||||
placementParams: PlacementParams,
|
placementParams: PlacementParams,
|
||||||
private val mmsFloor: Int, private val mmsBar: Int):
|
private val mmFloor: Int, private val mmBar: Int):
|
||||||
BaseSolver(round, history, pairables, pairingParams, placementParams) {
|
BaseSolver(round, history, pairables, pairingParams, placementParams) {
|
||||||
|
|
||||||
override val scores: Map<ID, Double> by lazy {
|
override val scores: Map<ID, Double> 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
|
val Pairable.mms: Double get() = scores[id] ?: 0.0
|
||||||
|
|
||||||
// CB TODO - configurable criteria
|
// 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) {
|
override fun evalCriterion(pairable: Pairable, criterion: Criterion) = when (criterion) {
|
||||||
Criterion.MMS -> pairable.mms
|
Criterion.MMS -> pairable.mms
|
||||||
else -> super.evalCriterion(pairable, criterion)
|
else -> super.evalCriterion(pairable, criterion)
|
||||||
|
Reference in New Issue
Block a user