PairwiseUpdateOptimizationBench   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
dl 0
loc 34
rs 10
c 0
b 0
f 0
wmc 1
lcom 0
cbo 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A benchPairwiseOptimization() 0 25 1
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
}