From dc35035c3c412b1145431a0e24c1a619d29901bf Mon Sep 17 00:00:00 2001 From: Jens True Date: Tue, 1 Aug 2023 12:43:58 +0000 Subject: [PATCH] Sub 200 warnings on static analysis --- src/FactorGraphs/ScheduleStep.php | 2 +- src/SkillCalculator.php | 9 ++++----- src/TrueSkill/FactorGraphTrueSkillCalculator.php | 2 +- src/TrueSkill/Factors/GaussianLikelihoodFactor.php | 2 +- src/TrueSkill/Factors/GaussianPriorFactor.php | 4 ++-- src/TrueSkill/Factors/GaussianWeightedSumFactor.php | 4 ++-- .../Layers/PlayerPerformancesToTeamPerformancesLayer.php | 7 ++++--- src/TrueSkill/TrueSkillFactorGraph.php | 8 ++++---- src/TrueSkill/TwoPlayerTrueSkillCalculator.php | 2 +- 9 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/FactorGraphs/ScheduleStep.php b/src/FactorGraphs/ScheduleStep.php index 98378d4..74c10f5 100644 --- a/src/FactorGraphs/ScheduleStep.php +++ b/src/FactorGraphs/ScheduleStep.php @@ -9,7 +9,7 @@ class ScheduleStep extends Schedule parent::__construct($name); } - public function visit($depth = -1, $maxDepth = 0) + public function visit(int $depth = -1, int $maxDepth = 0) { $currentFactor = $this->_factor; diff --git a/src/SkillCalculator.php b/src/SkillCalculator.php index 3f46ed4..c83b277 100644 --- a/src/SkillCalculator.php +++ b/src/SkillCalculator.php @@ -30,11 +30,11 @@ abstract class SkillCalculator * * @param GameInfo $gameInfo Parameters for the game. * @param array $teamsOfPlayerToRatings A mapping of team players and their ratings. - * @return The quality of the match between the teams as a percentage (0% = bad, 100% = well matched). + * @return float The quality of the match between the teams as a percentage (0% = bad, 100% = well matched). */ - abstract public function calculateMatchQuality(GameInfo $gameInfo, array $teamsOfPlayerToRatings); + abstract public function calculateMatchQuality(GameInfo $gameInfo, array $teamsOfPlayerToRatings): float; - public function isSupported($option) + public function isSupported($option): bool { return ($this->_supportedOptions & $option) == $option; } @@ -46,11 +46,10 @@ abstract class SkillCalculator /** * @param array<\DNW\Skills\Team> $teams - * @return void * * @throws \Exception */ - private static function validateTeamCountAndPlayersCountPerTeamWithRanges(array $teams, TeamsRange $totalTeams, PlayersRange $playersPerTeam) + private static function validateTeamCountAndPlayersCountPerTeamWithRanges(array $teams, TeamsRange $totalTeams, PlayersRange $playersPerTeam): void { $countOfTeams = 0; diff --git a/src/TrueSkill/FactorGraphTrueSkillCalculator.php b/src/TrueSkill/FactorGraphTrueSkillCalculator.php index e945f5f..a24270a 100644 --- a/src/TrueSkill/FactorGraphTrueSkillCalculator.php +++ b/src/TrueSkill/FactorGraphTrueSkillCalculator.php @@ -44,7 +44,7 @@ class FactorGraphTrueSkillCalculator extends SkillCalculator return $factorGraph->getUpdatedRatings(); } - public function calculateMatchQuality(GameInfo $gameInfo, array $teams) + public function calculateMatchQuality(GameInfo $gameInfo, array $teams): float { // We need to create the A matrix which is the player team assigments. $teamAssignmentsList = $teams; diff --git a/src/TrueSkill/Factors/GaussianLikelihoodFactor.php b/src/TrueSkill/Factors/GaussianLikelihoodFactor.php index 47d483d..7b1a706 100644 --- a/src/TrueSkill/Factors/GaussianLikelihoodFactor.php +++ b/src/TrueSkill/Factors/GaussianLikelihoodFactor.php @@ -25,7 +25,7 @@ class GaussianLikelihoodFactor extends GaussianFactor $this->createVariableToMessageBinding($variable2); } - public function getLogNormalization() + public function getLogNormalization(): float { /** @var KeyedVariable[]|mixed $vars */ $vars = $this->getVariables(); diff --git a/src/TrueSkill/Factors/GaussianPriorFactor.php b/src/TrueSkill/Factors/GaussianPriorFactor.php index c026041..a25962d 100644 --- a/src/TrueSkill/Factors/GaussianPriorFactor.php +++ b/src/TrueSkill/Factors/GaussianPriorFactor.php @@ -15,7 +15,7 @@ class GaussianPriorFactor extends GaussianFactor { private $_newMessage; - public function __construct($mean, $variance, Variable $variable) + public function __construct(float $mean, float $variance, Variable $variable) { parent::__construct(sprintf('Prior value going to %s', $variable)); $this->_newMessage = new GaussianDistribution($mean, sqrt($variance)); @@ -25,7 +25,7 @@ class GaussianPriorFactor extends GaussianFactor $this->createVariableToMessageBindingWithMessage($variable, $newMessage); } - protected function updateMessageVariable(Message $message, Variable $variable) + protected function updateMessageVariable(Message $message, Variable $variable): float { $oldMarginal = clone $variable->getValue(); $oldMessage = $message; diff --git a/src/TrueSkill/Factors/GaussianWeightedSumFactor.php b/src/TrueSkill/Factors/GaussianWeightedSumFactor.php index 4527d78..9f8c2a5 100644 --- a/src/TrueSkill/Factors/GaussianWeightedSumFactor.php +++ b/src/TrueSkill/Factors/GaussianWeightedSumFactor.php @@ -127,7 +127,7 @@ class GaussianWeightedSumFactor extends GaussianFactor return $result; } - private function updateHelper(array $weights, array $weightsSquared, array $messages, array $variables) + private function updateHelper(array $weights, array $weightsSquared, array $messages, array $variables): float { // Potentially look at http://mathworld.wolfram.com/NormalSumDistribution.html for clues as // to what it's doing @@ -182,7 +182,7 @@ class GaussianWeightedSumFactor extends GaussianFactor return $finalDiff; } - public function updateMessageIndex($messageIndex) + public function updateMessageIndex(int $messageIndex): float { $allMessages = $this->getMessages(); $allVariables = $this->getVariables(); diff --git a/src/TrueSkill/Layers/PlayerPerformancesToTeamPerformancesLayer.php b/src/TrueSkill/Layers/PlayerPerformancesToTeamPerformancesLayer.php index db08fe0..b9f47bb 100644 --- a/src/TrueSkill/Layers/PlayerPerformancesToTeamPerformancesLayer.php +++ b/src/TrueSkill/Layers/PlayerPerformancesToTeamPerformancesLayer.php @@ -3,6 +3,7 @@ namespace DNW\Skills\TrueSkill\Layers; use DNW\Skills\FactorGraphs\ScheduleStep; +use DNW\Skills\FactorGraphs\ScheduleSequence; use DNW\Skills\PartialPlay; use DNW\Skills\TrueSkill\Factors\GaussianWeightedSumFactor; @@ -24,7 +25,7 @@ class PlayerPerformancesToTeamPerformancesLayer extends TrueSkillFactorGraphLaye } } - public function createPriorSchedule() + public function createPriorSchedule(): ScheduleSequence { $localFactors = $this->getLocalFactors(); @@ -35,7 +36,7 @@ class PlayerPerformancesToTeamPerformancesLayer extends TrueSkillFactorGraphLaye 'all player perf to team perf schedule'); } - protected function createPlayerToTeamSumFactor($teamMembers, $sumVariable) + protected function createPlayerToTeamSumFactor($teamMembers, $sumVariable): GaussianWeightedSumFactor { $weights = array_map( function ($v) { @@ -51,7 +52,7 @@ class PlayerPerformancesToTeamPerformancesLayer extends TrueSkillFactorGraphLaye $weights); } - public function createPosteriorSchedule() + public function createPosteriorSchedule(): ScheduleSequence { $allFactors = []; $localFactors = $this->getLocalFactors(); diff --git a/src/TrueSkill/TrueSkillFactorGraph.php b/src/TrueSkill/TrueSkillFactorGraph.php index dc6cf79..7f3379c 100644 --- a/src/TrueSkill/TrueSkillFactorGraph.php +++ b/src/TrueSkill/TrueSkillFactorGraph.php @@ -46,7 +46,7 @@ class TrueSkillFactorGraph extends FactorGraph return $this->_gameInfo; } - public function buildGraph() + public function buildGraph(): void { $lastOutput = null; @@ -62,13 +62,13 @@ class TrueSkillFactorGraph extends FactorGraph } } - public function runSchedule() + public function runSchedule(): void { $fullSchedule = $this->createFullSchedule(); $fullSchedule->visit(); } - public function getProbabilityOfRanking() + public function getProbabilityOfRanking(): float { $factorList = new FactorList(); @@ -86,7 +86,7 @@ class TrueSkillFactorGraph extends FactorGraph return exp($logZ); } - private function createFullSchedule() + private function createFullSchedule(): ScheduleSequence { $fullSchedule = []; diff --git a/src/TrueSkill/TwoPlayerTrueSkillCalculator.php b/src/TrueSkill/TwoPlayerTrueSkillCalculator.php index 8429a53..c3bae8c 100644 --- a/src/TrueSkill/TwoPlayerTrueSkillCalculator.php +++ b/src/TrueSkill/TwoPlayerTrueSkillCalculator.php @@ -123,7 +123,7 @@ class TwoPlayerTrueSkillCalculator extends SkillCalculator /** * {@inheritdoc} */ - public function calculateMatchQuality(GameInfo $gameInfo, array $teams) + public function calculateMatchQuality(GameInfo $gameInfo, array $teams): float { Guard::argumentNotNull($gameInfo, 'gameInfo'); $this->validateTeamCountAndPlayersCountPerTeam($teams);