public function testGetScheme() { $listScheme = new ListScheme(TypeJeu::keno()); $this->assertInstanceOf("\\Scheme\\Scheme", $listScheme->get(0)); $this->assertInstanceOf("\\Scheme\\Scheme", $listScheme->get(85)); $this->assertInstanceOf("\\Scheme\\Scheme", $listScheme->get(1001)); }
public function getResults(Interval $intv, ListScheme $schemes) { $freq = 0; $max = $this->tNbr + $this->distance; $bIntv = false; for ($i = $this->distance; $i < $max; $i++) { $j = 0; while ($j < $intv->size()) { $intvNumber = $intv->get($j); if (!$schemes->get($i)->hasNumber(new Number($intvNumber, false))) { $bIntv = false; break; } $bIntv = true; $j++; } if ($bIntv) { $freq++; } } return $freq; }
if (!isset($argv) || count($argv) > 1) { return; } define("__NB_RESULT__", 100); use Scheme\Matrice\GASM; use Scheme\ListScheme; use Scheme\TypeJeu; use Scheme\Formula\Interval\FrequenceInterval; use Scheme\Formula\Interval\ListInterval; use Scheme\Formula\Interval\ListIntervalFormula; use lib\Timer; $gasm = new GASM(70, 3); $lib = $gasm->getSchemes(); $lif = new ListIntervalFormula(); $ffi = new FrequenceInterval(__NB_RESULT__); $ffi->setSortingOrderDesc(); $lif->add($ffi); //parse les csv de résultat (2 fichiers au total) $timer = new Timer(); $schemes = new ListScheme(TypeJeu::keno()); print "Nombre de tirages parsés depuis le csv : " . $schemes->size() . "\n"; print "Temps pour parser le csv de données : " . $timer->startSince() . "s\n"; $timer->reinit(); //calcul des statistiques et tri des résultats print "Nombre de combinaisons à analyser : " . $lib->size() * __NB_RESULT__ . "\n"; $lif->setStats($lib, $schemes); $lib->sortBy($lif); print "Temps de l'analyse statistique et du tri des résultats : " . $timer->startSince() . "s\n"; for ($i = 0; $i < 3; $i++) { print $lib->get($i)->toString() . " -- freq: " . $lib->get($i)->getStat($ffi) . "\n"; }