From d2fc7dc5c7a7057bf72ad6654b61e814e8326af1 Mon Sep 17 00:00:00 2001 From: Jeff Moser Date: Fri, 8 Oct 2010 21:44:36 -0400 Subject: [PATCH] Some minor documentation cleanup (e.g. converted C# comments to PHPDocumentor comments) --- PHPSkills/Elo/FideEloCalculator.php | 2 +- PHPSkills/FactorGraphs/Factor.php | 20 ++++++-- PHPSkills/FactorGraphs/FactorList.php | 6 +-- PHPSkills/Guard.php | 10 ++-- PHPSkills/HashMap.php | 3 ++ PHPSkills/Numerics/BasicMath.php | 18 +++++-- PHPSkills/Numerics/GaussianDistribution.php | 21 ++++---- PHPSkills/Player.php | 51 ++++++++----------- PHPSkills/RankSorter.php | 18 +++---- PHPSkills/SkillCalculator.php | 29 +++++------ .../FactorGraphTrueSkillCalculator.php | 6 +-- .../TrueSkill/Factors/GaussianFactor.php | 4 +- .../Factors/GaussianGreaterThanFactor.php | 17 ++++--- .../Factors/GaussianLikelihoodFactor.php | 15 +++--- .../TrueSkill/Factors/GaussianPriorFactor.php | 12 ++--- .../Factors/GaussianWeightedSumFactor.php | 15 +++--- .../Factors/GaussianWithinFactor.php | 15 +++--- .../IteratedTeamDifferencesInnerLayer.php | 3 +- ...yerPerformancesToTeamPerformancesLayer.php | 3 +- .../TruncatedGaussianCorrectionFunctions.php | 32 ++++++------ .../TwoPlayerTrueSkillCalculator.php | 18 ++++--- .../TrueSkill/TwoTeamTrueSkillCalculator.php | 15 +++--- 22 files changed, 174 insertions(+), 159 deletions(-) diff --git a/PHPSkills/Elo/FideEloCalculator.php b/PHPSkills/Elo/FideEloCalculator.php index adc2fd9..e7349cb 100644 --- a/PHPSkills/Elo/FideEloCalculator.php +++ b/PHPSkills/Elo/FideEloCalculator.php @@ -2,8 +2,8 @@ namespace Moserware\Skills\Elo; -require_once(dirname(__FILE__) . "/TwoPlayerEloCalculator.php"); require_once(dirname(__FILE__) . "/FideKFactor.php"); +require_once(dirname(__FILE__) . "/TwoPlayerEloCalculator.php"); /** Including Elo's scheme as a simple comparison. * See http://en.wikipedia.org/wiki/Elo_rating_system#Theory diff --git a/PHPSkills/FactorGraphs/Factor.php b/PHPSkills/FactorGraphs/Factor.php index a9a6441..d552cda 100644 --- a/PHPSkills/FactorGraphs/Factor.php +++ b/PHPSkills/FactorGraphs/Factor.php @@ -23,13 +23,17 @@ abstract class Factor $this->_messageToVariableBinding = new HashMap(); } - /// Returns the log-normalization constant of that factor + /** + * @return The log-normalization constant of that factor + */ public function getLogNormalization() { return 0; } - /// Returns the number of messages that the factor has + /** + * @return The number of messages that the factor has + */ public function getNumberOfMessages() { return count($this->_messages); @@ -45,7 +49,9 @@ abstract class Factor return $this->_messages; } - /// Update the message and marginal of the i-th variable that the factor is connected to + /** + * Update the message and marginal of the i-th variable that the factor is connected to + */ public function updateMessageIndex($messageIndex) { Guard::argumentIsValidIndex($messageIndex, count($this->_messages), "messageIndex"); @@ -59,7 +65,9 @@ abstract class Factor throw new Exception(); } - /// Resets the marginal of the variables a factor is connected to + /** + * Resets the marginal of the variables a factor is connected to + */ public function resetMarginals() { $allValues = &$this->_messageToVariableBinding->getAllValues(); @@ -69,7 +77,9 @@ abstract class Factor } } - /// Sends the ith message to the marginal and returns the log-normalization constant + /** + * Sends the ith message to the marginal and returns the log-normalization constant + */ public function sendMessageIndex($messageIndex) { Guard::argumentIsValidIndex($messageIndex, count($this->_messages), "messageIndex"); diff --git a/PHPSkills/FactorGraphs/FactorList.php b/PHPSkills/FactorGraphs/FactorList.php index 199f0ae..feac65b 100644 --- a/PHPSkills/FactorGraphs/FactorList.php +++ b/PHPSkills/FactorGraphs/FactorList.php @@ -4,9 +4,9 @@ namespace Moserware\Skills\FactorGraphs; require_once(dirname(__FILE__) . "/Factor.php"); -/// -/// Helper class for computing the factor graph's normalization constant. -/// +/** + * Helper class for computing the factor graph's normalization constant. + */ class FactorList { private $_list = array(); diff --git a/PHPSkills/Guard.php b/PHPSkills/Guard.php index 7563b1e..17dc653 100644 --- a/PHPSkills/Guard.php +++ b/PHPSkills/Guard.php @@ -1,11 +1,11 @@ -/// Verifies argument contracts. -/// -/// These are used until .NET 4.0 ships with Contracts. For more information, -/// see http://www.moserware.com/2008/01/borrowing-ideas-from-3-interesting.html +/** + * Verifies argument contracts. + * + * @see http://www.moserware.com/2008/01/borrowing-ideas-from-3-interesting.html + */ class Guard { public static function argumentNotNull($value, $parameterName) diff --git a/PHPSkills/HashMap.php b/PHPSkills/HashMap.php index 277943e..ac35a10 100644 --- a/PHPSkills/HashMap.php +++ b/PHPSkills/HashMap.php @@ -2,6 +2,9 @@ namespace Moserware\Skills; +/** + * Basic hashmap that supports object keys. + */ class HashMap { private $_hashToValue = array(); diff --git a/PHPSkills/Numerics/BasicMath.php b/PHPSkills/Numerics/BasicMath.php index cac534c..241d995 100644 --- a/PHPSkills/Numerics/BasicMath.php +++ b/PHPSkills/Numerics/BasicMath.php @@ -2,22 +2,30 @@ /** * Basic math functions. * - * PHP version 5 - * - * @category Math * @package PHPSkills * @author Jeff Moser * @copyright 2010 Jeff Moser */ +/** + * Squares the input (x^2 = x * x) + * @param number $x Value to square (x) + * @return number The squared value (x^2) + */ function square($x) { return $x * $x; } -function sum(array $itemsToSum, $funcName ) +/** + * Sums the items in $itemsToSum + * @param array $itemsToSum The items to sum, + * @param callback $callback The function to apply to each array element before summing. + * @return number The sum. + */ +function sum(array $itemsToSum, $callback ) { - $mappedItems = array_map($funcName, $itemsToSum); + $mappedItems = array_map($callback, $itemsToSum); return array_sum($mappedItems); } diff --git a/PHPSkills/Numerics/GaussianDistribution.php b/PHPSkills/Numerics/GaussianDistribution.php index 406f9a3..ebac63f 100644 --- a/PHPSkills/Numerics/GaussianDistribution.php +++ b/PHPSkills/Numerics/GaussianDistribution.php @@ -1,30 +1,27 @@ - * @copyright 2010 Jeff Moser - */ namespace Moserware\Numerics; require_once(dirname(__FILE__) . "/basicmath.php"); +/** + * Computes Gaussian (bell curve) values. + * + * @package PHPSkills + * @author Jeff Moser + * @copyright 2010 Jeff Moser + */ class GaussianDistribution { private $_mean; private $_standardDeviation; - // Precision and PrecisionMean are used because they make multiplying and dividing simpler + // precision and precisionMean are used because they make multiplying and dividing simpler // (the the accompanying math paper for more details) private $_precision; private $_precisionMean; private $_variance; - + function __construct($mean = 0.0, $standardDeviation = 1.0) { $this->_mean = $mean; diff --git a/PHPSkills/Player.php b/PHPSkills/Player.php index 76d0f46..b83fb97 100644 --- a/PHPSkills/Player.php +++ b/PHPSkills/Player.php @@ -5,9 +5,9 @@ require_once(dirname(__FILE__) . "/Guard.php"); require_once(dirname(__FILE__) . "/ISupportPartialPlay.php"); require_once(dirname(__FILE__) . "/ISupportPartialUpdate.php"); -/// -/// Represents a player who has a . -/// +/** + * Represents a player who has a Rating. + */ class Player implements ISupportPartialPlay, ISupportPartialUpdate { const DEFAULT_PARTIAL_PLAY_PERCENTAGE = 1.0; // = 100% play time @@ -17,12 +17,13 @@ class Player implements ISupportPartialPlay, ISupportPartialUpdate private $_PartialPlayPercentage; private $_PartialUpdatePercentage; - /// - /// Constructs a player. - /// - /// The identifier for the player, such as a name. - /// The weight percentage to give this player when calculating a new rank. - /// /// Indicated how much of a skill update a player should receive where 0 represents no update and 1.0 represents 100% of the update. + /** + * Constructs a player. + * + * @param mixed $id The identifier for the player, such as a name. + * @param number $partialPlayPercentage The weight percentage to give this player when calculating a new rank. + * @param number $partialUpdatePercentage Indicated how much of a skill update a player should receive where 0 represents no update and 1.0 represents 100% of the update. + */ public function __construct($id, $partialPlayPercentage = self::DEFAULT_PARTIAL_PLAY_PERCENTAGE, $partialUpdatePercentage = self::DEFAULT_PARTIAL_UPDATE_PERCENTAGE) @@ -35,39 +36,31 @@ class Player implements ISupportPartialPlay, ISupportPartialUpdate $this->_PartialUpdatePercentage = $partialUpdatePercentage; } - /// - /// The identifier for the player, such as a name. - /// + /** + * The identifier for the player, such as a name. + */ public function &getId() { $id = &$this->_Id; return $this->_Id; } - - #region ISupportPartialPlay Members - - /// - /// Indicates the percent of the time the player should be weighted where 0.0 indicates the player didn't play and 1.0 indicates the player played 100% of the time. - /// + + /** + * Indicates the percent of the time the player should be weighted where 0.0 indicates the player didn't play and 1.0 indicates the player played 100% of the time. + */ public function getPartialPlayPercentage() { return $this->_PartialPlayPercentage; } - - #endregion - - #region ISupportPartialUpdate Members - - /// - /// Indicated how much of a skill update a player should receive where 0.0 represents no update and 1.0 represents 100% of the update. - /// + + /** + * Indicated how much of a skill update a player should receive where 0.0 represents no update and 1.0 represents 100% of the update. + */ public function getPartialUpdatePercentage() { return $this->_PartialUpdatePercentage; } - - #endregion - + public function __toString() { if ($this->_Id != null) diff --git a/PHPSkills/RankSorter.php b/PHPSkills/RankSorter.php index 85c5e16..cba00f9 100644 --- a/PHPSkills/RankSorter.php +++ b/PHPSkills/RankSorter.php @@ -2,17 +2,17 @@ namespace Moserware\Skills; -/// -/// Helper class to sort ranks in non-decreasing order. -/// +/** + * Helper class to sort ranks in non-decreasing order. + */ class RankSorter { - /// - /// Performs an in-place sort of the in according to the in non-decreasing order. - /// - /// The types of items to sort. - /// The items to sort according to the order specified by . - /// The ranks for each item where 1 is first place. + /** + * Performs an in-place sort of the items in according to the ranks in non-decreasing order. + * + * @param $items The items to sort according to the order specified by ranks. + * @param $ranks The ranks for each item where 1 is first place. + */ public static function sort(array &$teams, array &$teamRanks) { array_multisort($teamRanks, $teams); diff --git a/PHPSkills/SkillCalculator.php b/PHPSkills/SkillCalculator.php index 569dc90..d7a40f9 100644 --- a/PHPSkills/SkillCalculator.php +++ b/PHPSkills/SkillCalculator.php @@ -21,25 +21,24 @@ abstract class SkillCalculator $this->_playersPerTeamAllowed = $playerPerTeamAllowed; } - /// - /// Calculates new ratings based on the prior ratings and team ranks. - /// - /// The underlying type of the player. - /// Parameters for the game. - /// A mapping of team players and their ratings. - /// The ranks of the teams where 1 is first place. For a tie, repeat the number (e.g. 1, 2, 2) - /// All the players and their new ratings. + /** + * Calculates new ratings based on the prior ratings and team ranks. + * @param $gameInfo Parameters for the game. + * @param $teams A mapping of team players and their ratings. + * @param $teamRanks The ranks of the teams where 1 is first place. For a tie, repeat the number (e.g. 1, 2, 2). + * @return All the players and their new ratings. + */ public abstract function calculateNewRatings(GameInfo &$gameInfo, array $teamsOfPlayerToRatings, array $teamRanks); - /// - /// Calculates the match quality as the likelihood of all teams drawing. - /// - /// The underlying type of the player. - /// Parameters for the game. - /// A mapping of team players and their ratings. - /// The quality of the match between the teams as a percentage (0% = bad, 100% = well matched). + /** + * Calculates the match quality as the likelihood of all teams drawing. + * + * @param $gameInfo Parameters for the game. + * @param $teams 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). + */ public abstract function calculateMatchQuality(GameInfo &$gameInfo, array &$teamsOfPlayerToRatings); diff --git a/PHPSkills/TrueSkill/FactorGraphTrueSkillCalculator.php b/PHPSkills/TrueSkill/FactorGraphTrueSkillCalculator.php index 381b8ec..c10b8ca 100644 --- a/PHPSkills/TrueSkill/FactorGraphTrueSkillCalculator.php +++ b/PHPSkills/TrueSkill/FactorGraphTrueSkillCalculator.php @@ -30,9 +30,9 @@ use Moserware\Skills\SkillCalculator; use Moserware\Skills\SkillCalculatorSupportedOptions; use Moserware\Skills\TeamsRange; -/// -/// Calculates TrueSkill using a full factor graph. -/// +/** + * Calculates TrueSkill using a full factor graph. + */ class FactorGraphTrueSkillCalculator extends SkillCalculator { public function __construct() diff --git a/PHPSkills/TrueSkill/Factors/GaussianFactor.php b/PHPSkills/TrueSkill/Factors/GaussianFactor.php index 7f0fa7c..ec3a98e 100644 --- a/PHPSkills/TrueSkill/Factors/GaussianFactor.php +++ b/PHPSkills/TrueSkill/Factors/GaussianFactor.php @@ -19,7 +19,9 @@ abstract class GaussianFactor extends Factor parent::__construct($name); } - /// Sends the factor-graph message with and returns the log-normalization constant + /** + * Sends the factor-graph message with and returns the log-normalization constant. + */ protected function sendMessageVariable(Message &$message, Variable &$variable) { $marginal = &$variable->getValue(); diff --git a/PHPSkills/TrueSkill/Factors/GaussianGreaterThanFactor.php b/PHPSkills/TrueSkill/Factors/GaussianGreaterThanFactor.php index 073cefd..f97c96d 100644 --- a/PHPSkills/TrueSkill/Factors/GaussianGreaterThanFactor.php +++ b/PHPSkills/TrueSkill/Factors/GaussianGreaterThanFactor.php @@ -1,21 +1,22 @@ -/// Factor representing a team difference that has exceeded the draw margin. -/// -/// See the accompanying math paper for more details. +/** + * Factor representing a team difference that has exceeded the draw margin. + * + * See the accompanying math paper for more details. + */ class GaussianGreaterThanFactor extends GaussianFactor { private $_epsilon; @@ -72,12 +73,12 @@ class GaussianGreaterThanFactor extends GaussianFactor GaussianDistribution::multiply($oldMessage, $newMarginal), $oldMarginal); - /// Update the message and marginal + // Update the message and marginal $message->setValue($newMessage); $variable->setValue($newMarginal); - /// Return the difference in the new marginal + // Return the difference in the new marginal return GaussianDistribution::subtract($newMarginal, $oldMarginal); } } diff --git a/PHPSkills/TrueSkill/Factors/GaussianLikelihoodFactor.php b/PHPSkills/TrueSkill/Factors/GaussianLikelihoodFactor.php index 28d1a4e..5a1b393 100644 --- a/PHPSkills/TrueSkill/Factors/GaussianLikelihoodFactor.php +++ b/PHPSkills/TrueSkill/Factors/GaussianLikelihoodFactor.php @@ -1,19 +1,20 @@ -/// Connects two variables and adds uncertainty. -/// -/// See the accompanying math paper for more details. +/** + * Connects two variables and adds uncertainty. + * + * See the accompanying math paper for more details. + */ class GaussianLikelihoodFactor extends GaussianFactor { private $_precision; @@ -55,12 +56,12 @@ class GaussianLikelihoodFactor extends GaussianFactor $newMarginal = GaussianDistribution::multiply($oldMarginalWithoutMessage, $newMessage); - /// Update the message and marginal + // Update the message and marginal $message1->setValue($newMessage); $variable1->setValue($newMarginal); - /// Return the difference in the new marginal + // Return the difference in the new marginal return GaussianDistribution::subtract($newMarginal, $marginal1); } diff --git a/PHPSkills/TrueSkill/Factors/GaussianPriorFactor.php b/PHPSkills/TrueSkill/Factors/GaussianPriorFactor.php index 644ede7..cf278fe 100644 --- a/PHPSkills/TrueSkill/Factors/GaussianPriorFactor.php +++ b/PHPSkills/TrueSkill/Factors/GaussianPriorFactor.php @@ -1,20 +1,20 @@ -/// Supplies the factor graph with prior information. -/// -/// See the accompanying math paper for more details. +/** + * Supplies the factor graph with prior information. + * + * See the accompanying math paper for more details. + */ class GaussianPriorFactor extends GaussianFactor { private $_newMessage; diff --git a/PHPSkills/TrueSkill/Factors/GaussianWeightedSumFactor.php b/PHPSkills/TrueSkill/Factors/GaussianWeightedSumFactor.php index 8d55670..d2a941e 100644 --- a/PHPSkills/TrueSkill/Factors/GaussianWeightedSumFactor.php +++ b/PHPSkills/TrueSkill/Factors/GaussianWeightedSumFactor.php @@ -1,22 +1,23 @@ -/// Factor that sums together multiple Gaussians. -/// -/// See the accompanying math paper for more details. +/** + * Factor that sums together multiple Gaussians. + * + * See the accompanying math paper for more details.s + */ class GaussianWeightedSumFactor extends GaussianFactor { private $_variableIndexOrdersForWeights = array(); @@ -189,12 +190,12 @@ class GaussianWeightedSumFactor extends GaussianFactor $newMarginal = GaussianDistribution::multiply($oldMarginalWithoutMessage, $newMessage); - /// Update the message and marginal + // Update the message and marginal $messages[0]->setValue($newMessage); $variables[0]->setValue($newMarginal); - /// Return the difference in the new marginal + // Return the difference in the new marginal $finalDiff = GaussianDistribution::subtract($newMarginal, $marginal0); return $finalDiff; } diff --git a/PHPSkills/TrueSkill/Factors/GaussianWithinFactor.php b/PHPSkills/TrueSkill/Factors/GaussianWithinFactor.php index dd00aa9..075afd4 100644 --- a/PHPSkills/TrueSkill/Factors/GaussianWithinFactor.php +++ b/PHPSkills/TrueSkill/Factors/GaussianWithinFactor.php @@ -1,21 +1,22 @@ -/// Factor representing a team difference that has not exceeded the draw margin. -/// -/// See the accompanying math paper for more details. +/** + * Factor representing a team difference that has not exceeded the draw margin. + * + * See the accompanying math paper for more details. + */ class GaussianWithinFactor extends GaussianFactor { private $_epsilon; @@ -71,11 +72,11 @@ class GaussianWithinFactor extends GaussianFactor GaussianDistribution::multiply($oldMessage, $newMarginal), $oldMarginal); - /// Update the message and marginal + // Update the message and marginal $message->setValue($newMessage); $variable->setValue($newMarginal); - /// Return the difference in the new marginal + // Return the difference in the new marginal return GaussianDistribution::subtract($newMarginal, $oldMarginal); } } diff --git a/PHPSkills/TrueSkill/Layers/IteratedTeamDifferencesInnerLayer.php b/PHPSkills/TrueSkill/Layers/IteratedTeamDifferencesInnerLayer.php index eff99ba..50113d9 100644 --- a/PHPSkills/TrueSkill/Layers/IteratedTeamDifferencesInnerLayer.php +++ b/PHPSkills/TrueSkill/Layers/IteratedTeamDifferencesInnerLayer.php @@ -47,8 +47,7 @@ class IteratedTeamDifferencesInnerLayer extends TrueSkillFactorGraphLayer } public function createPriorSchedule() - { - // BLOG about $loop + { switch (count($this->getInputVariablesGroups())) { case 0: diff --git a/PHPSkills/TrueSkill/Layers/PlayerPerformancesToTeamPerformancesLayer.php b/PHPSkills/TrueSkill/Layers/PlayerPerformancesToTeamPerformancesLayer.php index 4490f68..b546374 100644 --- a/PHPSkills/TrueSkill/Layers/PlayerPerformancesToTeamPerformancesLayer.php +++ b/PHPSkills/TrueSkill/Layers/PlayerPerformancesToTeamPerformancesLayer.php @@ -73,8 +73,7 @@ class PlayerPerformancesToTeamPerformancesLayer extends TrueSkillFactorGraphLaye } public function createPosteriorSchedule() - { - // BLOG + { $allFactors = array(); $localFactors = &$this->getLocalFactors(); foreach($localFactors as &$currentFactor) diff --git a/PHPSkills/TrueSkill/TruncatedGaussianCorrectionFunctions.php b/PHPSkills/TrueSkill/TruncatedGaussianCorrectionFunctions.php index 2d331ef..702043f 100644 --- a/PHPSkills/TrueSkill/TruncatedGaussianCorrectionFunctions.php +++ b/PHPSkills/TrueSkill/TruncatedGaussianCorrectionFunctions.php @@ -9,14 +9,14 @@ class TruncatedGaussianCorrectionFunctions { // These functions from the bottom of page 4 of the TrueSkill paper. - /// - /// The "V" function where the team performance difference is greater than the draw margin. - /// - /// In the reference F# implementation, this is referred to as "the additive - /// correction of a single-sided truncated Gaussian with unit variance." - /// - /// In the paper, it's referred to as just "ε". - /// + /** + * The "V" function where the team performance difference is greater than the draw margin. + * + * In the reference F# implementation, this is referred to as "the additive + * correction of a single-sided truncated Gaussian with unit variance." + * + * @param number $drawMargin In the paper, it's referred to as just "ε". + */ public static function vExceedsMarginScaled($teamPerformanceDifference, $drawMargin, $c) { return self::vExceedsMargin($teamPerformanceDifference/$c, $drawMargin/$c); @@ -34,15 +34,13 @@ class TruncatedGaussianCorrectionFunctions return GaussianDistribution::at($teamPerformanceDifference - $drawMargin)/$denominator; } - /// - /// The "W" function where the team performance difference is greater than the draw margin. - /// - /// In the reference F# implementation, this is referred to as "the multiplicative - /// correction of a single-sided truncated Gaussian with unit variance." - /// - /// - /// - /// + /** + * The "W" function where the team performance difference is greater than the draw margin. + * + * In the reference F# implementation, this is referred to as "the multiplicative + * correction of a single-sided truncated Gaussian with unit variance." + */ + public static function wExceedsMarginScaled($teamPerformanceDifference, $drawMargin, $c) { return self::wExceedsMargin($teamPerformanceDifference/$c, $drawMargin/$c); diff --git a/PHPSkills/TrueSkill/TwoPlayerTrueSkillCalculator.php b/PHPSkills/TrueSkill/TwoPlayerTrueSkillCalculator.php index 3292395..fb5e57e 100644 --- a/PHPSkills/TrueSkill/TwoPlayerTrueSkillCalculator.php +++ b/PHPSkills/TrueSkill/TwoPlayerTrueSkillCalculator.php @@ -30,13 +30,13 @@ use Moserware\Skills\SkillCalculatorSupportedOptions; use Moserware\Skills\PlayersRange; use Moserware\Skills\TeamsRange; -/// -/// Calculates the new ratings for only two players. -/// -/// -/// When you only have two players, a lot of the math simplifies. The main purpose of this class -/// is to show the bare minimum of what a TrueSkill implementation should have. -/// +/** + * Calculates the new ratings for only two players. + * + * When you only have two players, a lot of the math simplifies. The main purpose of this class + * is to show the bare minimum of what a TrueSkill implementation should have. + */ + class TwoPlayerTrueSkillCalculator extends SkillCalculator { public function __construct() @@ -139,7 +139,9 @@ class TwoPlayerTrueSkillCalculator extends SkillCalculator return new Rating($newMean, $newStdDev); } - /// + /** + * {@inheritdoc } + */ public function calculateMatchQuality(GameInfo &$gameInfo, array &$teams) { Guard::argumentNotNull($gameInfo, "gameInfo"); diff --git a/PHPSkills/TrueSkill/TwoTeamTrueSkillCalculator.php b/PHPSkills/TrueSkill/TwoTeamTrueSkillCalculator.php index e7c34c1..a62517b 100644 --- a/PHPSkills/TrueSkill/TwoTeamTrueSkillCalculator.php +++ b/PHPSkills/TrueSkill/TwoTeamTrueSkillCalculator.php @@ -34,12 +34,11 @@ use Moserware\Skills\TeamsRange; use Moserware\Skills\Team; -/// -/// Calculates new ratings for only two teams where each team has 1 or more players. -/// -/// -/// When you only have two teams, the math is still simple: no factor graphs are used yet. -/// +/** + * Calculates new ratings for only two teams where each team has 1 or more players. + * + * When you only have two teams, the math is still simple: no factor graphs are used yet. + */ class TwoTeamTrueSkillCalculator extends SkillCalculator { public function __construct() @@ -165,7 +164,9 @@ class TwoTeamTrueSkillCalculator extends SkillCalculator } } - /// + /** + * {@inheritdoc } + */ public function calculateMatchQuality(GameInfo &$gameInfo, array &$teams) {