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); }
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; }