From 58b6b90af1f3c92f88c44f19c3f77edc2408b223 Mon Sep 17 00:00:00 2001 From: Claude Brisson Date: Tue, 20 Jun 2023 13:22:28 +0200 Subject: [PATCH] Reeng of solver classes, one little more tweak --- .../src/main/kotlin/org/jeudego/pairgoth/pairing/Solver.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/Solver.kt b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/Solver.kt index 908772c..b51a109 100644 --- a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/Solver.kt +++ b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/Solver.kt @@ -52,8 +52,8 @@ sealed class Solver( open fun sort(p: Pairable, q: Pairable): Int { for (criterion in placement.criteria) { - val criterionP = evalCriterion(p, criterion) - val criterionQ = evalCriterion(q, criterion) + val criterionP = p.eval(criterion) + val criterionQ = q.eval(criterion) if (criterionP != criterionQ) { return (criterionP * 100 - criterionQ * 100).toInt() } @@ -357,6 +357,7 @@ sealed class Solver( val Pairable.sodos: Double get() = historyHelper.sodos[id]!! val Pairable.cums: Double get() = historyHelper.cumScore[id]!! + fun Pairable.eval(criterion: Criterion) = evalCriterion(this, criterion) open fun evalCriterion(pairable: Pairable, criterion: Criterion) = when (criterion) { NONE -> 0.0 CATEGORY -> TODO()