More warnings resolved.

This commit is contained in:
Jens True 2023-08-08 07:51:05 +00:00
parent aa836e859d
commit e49f01cd68
8 changed files with 23 additions and 23 deletions

@ -6,6 +6,11 @@ class FactorGraph
{
private VariableFactory $variableFactory;
public function __construct(VariableFactory $factory)
{
$this->variableFactory = $factory;
}
public function getVariableFactory(): VariableFactory
{
return $this->variableFactory;

@ -2,18 +2,20 @@
namespace DNW\Skills\FactorGraphs;
use DNW\Skills\Numerics\GaussianDistribution;
class Message implements \Stringable
{
public function __construct(private ?object $value = null, private ?string $name = null)
public function __construct(private GaussianDistribution $value, private string $name)
{
}
public function getValue(): ?object
public function getValue(): GaussianDistribution
{
return $this->value;
}
public function setValue(?object $value): void
public function setValue(GaussianDistribution $value): void
{
$this->value = $value;
}

@ -2,24 +2,26 @@
namespace DNW\Skills\FactorGraphs;
use DNW\Skills\Numerics\GaussianDistribution;
class Variable implements \Stringable
{
private string $name;
private mixed $value;
public function __construct(string $name, private mixed $prior)
public function __construct(string $name, private GaussianDistribution $prior)
{
$this->name = 'Variable[' . $name . ']';
$this->resetToPrior();
}
public function getValue(): mixed
public function getValue(): GaussianDistribution
{
return $this->value;
}
public function setValue(mixed $value): void
public function setValue(GaussianDistribution $value): void
{
$this->value = $value;
}

@ -318,11 +318,6 @@ class Matrix
public function equals(Matrix $otherMatrix): bool
{
// If one is null, but not both, return false.
if ($otherMatrix == null) {
return false;
}
if (($this->rowCount != $otherMatrix->getRowCount()) || ($this->columnCount != $otherMatrix->getColumnCount())) {
return false;
}

@ -6,11 +6,6 @@ class PartialPlay
{
public static function getPartialPlayPercentage(Player $player): float
{
// If the player doesn't support the interface, assume 1.0 == 100%
if (! $player instanceof ISupportPartialPlay) {
return 1.0;
}
$partialPlayPercentage = $player->getPartialPlayPercentage();
// HACK to get around bug near 0

@ -12,7 +12,7 @@ class RankSorter
*
* @param array<mixed> $teams The items to sort according to the order specified by ranks.
* @param array<int> $teamRanks The ranks for each item where 1 is first place.
* @return array<mixed>
* @return array<int>
*/
public static function sort(array &$teams, array &$teamRanks): array
{

@ -17,7 +17,7 @@ use DNW\Skills\Numerics\GaussianDistribution;
class GaussianWeightedSumFactor extends GaussianFactor
{
/**
* @var array<float[]> $variableIndexOrdersForWeights
* @var array<int[]> $variableIndexOrdersForWeights
*/
private array $variableIndexOrdersForWeights = [];
@ -42,8 +42,8 @@ class GaussianWeightedSumFactor extends GaussianFactor
// The first weights are a straightforward copy
// v_0 = a_1*v_1 + a_2*v_2 + ... + a_n * v_n
$variableWeightsLength = count((array) $variableWeights);
$this->weights[0] = array_fill(0, count((array) $variableWeights), 0);
$variableWeightsLength = count($variableWeights);
$this->weights[0] = array_fill(0, count($variableWeights), 0);
for ($i = 0; $i < $variableWeightsLength; $i++) {
$weight = &$variableWeights[$i];
@ -59,7 +59,7 @@ class GaussianWeightedSumFactor extends GaussianFactor
$this->variableIndexOrdersForWeights[0][] = $i;
}
$variableWeightsLength = count((array) $variableWeights);
$variableWeightsLength = count($variableWeights);
// The rest move the variables around and divide out the constant.
// For example:
@ -111,7 +111,7 @@ class GaussianWeightedSumFactor extends GaussianFactor
}
$currentWeights[$currentDestinationWeightIndex] = $finalWeight;
$currentWeightsSquared[$currentDestinationWeightIndex] = BasicMath::square($finalWeight);
$variableIndices[count((array) $variableWeights)] = 0;
$variableIndices[count($variableWeights)] = 0;
$this->variableIndexOrdersForWeights[] = $variableIndices;
$this->weights[$weightsIndex] = $currentWeights;

@ -8,6 +8,7 @@ use DNW\Skills\FactorGraphs\KeyedVariable;
use DNW\Skills\Numerics\BasicMath;
use DNW\Skills\Rating;
use DNW\Skills\Team;
use DNW\Skills\Player;
use DNW\Skills\TrueSkill\Factors\GaussianPriorFactor;
use DNW\Skills\TrueSkill\TrueSkillFactorGraph;
use DNW\Skills\FactorGraphs\ScheduleSequence;
@ -69,7 +70,7 @@ class PlayerPriorValuesToSkillsLayer extends TrueSkillFactorGraphLayer
);
}
private function createSkillOutputVariable(mixed $key): KeyedVariable
private function createSkillOutputVariable(Player $key): KeyedVariable
{
$parentFactorGraph = $this->getParentFactorGraph();
$variableFactory = $parentFactorGraph->getVariableFactory();