Beispiel #1
0
use Condorcet\CondorcetException;
use Condorcet\Election;
use Condorcet\Result;
// Registering native Condorcet Methods implementation
Condorcet::addMethod(__NAMESPACE__ . '\\Algo\\Methods\\Copeland');
Condorcet::addMethod(__NAMESPACE__ . '\\Algo\\Methods\\KemenyYoung');
Condorcet::addMethod(__NAMESPACE__ . '\\Algo\\Methods\\MinimaxWinning');
Condorcet::addMethod(__NAMESPACE__ . '\\Algo\\Methods\\MinimaxMargin');
Condorcet::addMethod(__NAMESPACE__ . '\\Algo\\Methods\\MinimaxOpposition');
Condorcet::addMethod(__NAMESPACE__ . '\\Algo\\Methods\\RankedPairs');
Condorcet::addMethod(__NAMESPACE__ . '\\Algo\\Methods\\SchulzeWinning');
Condorcet::addMethod(__NAMESPACE__ . '\\Algo\\Methods\\SchulzeMargin');
Condorcet::addMethod(__NAMESPACE__ . '\\Algo\\Methods\\SchulzeRatio');
// Set the default Condorcet Class algorithm
Condorcet::setDefaultMethod('Schulze');
abstract class Condorcet
{
    /////////// CONSTANTS ///////////
    const VERSION = '1.1.0';
    const ENV = 'STABLE';
    const CONDORCET_BASIC_CLASS = 'Condorcet\\Algo\\Methods\\CondorcetBasic';
    protected static $_defaultMethod = null;
    protected static $_authMethods = [self::CONDORCET_BASIC_CLASS => ['CondorcetBasic']];
    /////////// STATICS METHODS ///////////
    // Return library version numer
    public static function getVersion(string $options = 'FULL') : string
    {
        switch ($options) {
            case 'MAJOR':
                $version = explode('.', self::VERSION);
	<h3>Use default method :</h3>
	
	<strong>Defaut:</strong> <?php 
echo Condorcet::getDefaultMethod();
?>
 <br>

	 <pre>
	<?php 
Condorcet::format($election->getResult());
?>
	 </pre>

	<h3>Change it to MiniMax_Margin :</h3>
	<?php 
Condorcet::setDefaultMethod('Minimax_Margin');
?>

	<strong>Defaut:</strong> <?php 
echo Condorcet::getDefaultMethod();
?>
 <br>

	 <pre>
	<?php 
Condorcet::format($election->getResult());
?>
	 </pre>


<br><br><hr>