Пример #1
0
 public function getResult($options = null) : Result
 {
     // Cache
     if ($this->_Result !== null) {
         return $this->_Result;
     }
     //////
     // Sort pairwise
     $this->_PairwiseSort = PairwiseStats::PairwiseSort($this->_selfElection->getPairwise(false));
     // Ranking calculation
     $this->makeArcs();
     $result = [];
     $rang = 1;
     while (count($result) < $this->_selfElection->countCandidates()) {
         $winner = $this->getOneWinner($result);
         foreach ($this->_Arcs as $ArcKey => $Arcvalue) {
             if ($Arcvalue['from'] === $winner || $Arcvalue['to'] === $winner) {
                 unset($this->_Arcs[$ArcKey]);
             }
         }
         $result[$rang++] = $winner;
     }
     // Return
     return $this->_Result = $this->createResult($result);
 }
Пример #2
0
 public function getResult($options = null) : Result
 {
     // Cache
     if ($this->_Result !== null) {
         return $this->_Result;
     }
     //////
     // Comparison calculation
     $this->_Comparison = PairwiseStats::PairwiseComparison($this->_selfElection->getPairwise(false));
     // Ranking calculation
     $this->makeRanking();
     // Return
     return $this->_Result;
 }