benchPairwiseOptimization()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 25

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 25
rs 9.52
c 0
b 0
f 0
1
<?php
2
declare(strict_types=1);
3
4
namespace CondorcetPHP\Condorcet\Benchmarks;
5
6
use CondorcetPHP\Condorcet\Condorcet;
7
use CondorcetPHP\Condorcet\Election;
8
use CondorcetPHP\Condorcet\Candidate;
9
use CondorcetPHP\Condorcet\CondorcetUtil;
10
use CondorcetPHP\Condorcet\Vote;
11
12
13
class PairwiseUpdateOptimizationBench
14
{
15
    /**
16
     * @Iterations(2)
17
     * @Warmup(1)
18
     * @Revs(4)
19
     */
20
    public function benchPairwiseOptimization () : void
21
    {
22
       $election = new Election;
23
24
       $election->parseCandidates('A;B;C;D;E;F;G');
25
26
       $election->parseVotes('
27
          E > B > C > A > G * 2500
28
          F > B > G > H > A * 2500
29
          H > B > G > E > A * 2500
30
          A = B = C > D > E = F > G * 2500
31
          G = E = C > F > A * 2500
32
          C > D = G > A > B * 2500
33
       ');
34
35
        $election->getWinner();
36
37
        $vote = $election->addVote('A>B>C');
38
39
        $election->removeVotes($vote);
40
41
        $vote->setRanking('C>B>A');
42
43
        $election->getWinner();
44
    }
45
46
}