General cleanup and removal of all unnecessary references

This commit is contained in:
Alexander Liljengård
2016-05-24 16:31:21 +02:00
parent 519ad85fad
commit a65f2aa9f3
43 changed files with 366 additions and 386 deletions

View File

@ -34,24 +34,26 @@ abstract class Factor
return count($this->_messages);
}
protected function &getVariables()
protected function getVariables()
{
return $this->_variables;
}
protected function &getMessages()
protected function getMessages()
{
return $this->_messages;
}
/**
* Update the message and marginal of the i-th variable that the factor is connected to
* @param $messageIndex
* @throws Exception
*/
public function updateMessageIndex($messageIndex)
{
Guard::argumentIsValidIndex($messageIndex, count($this->_messages), "messageIndex");
$message = &$this->_messages[$messageIndex];
$variable = &$this->_messageToVariableBinding->getValue($message);
$message = $this->_messages[$messageIndex];
$variable = $this->_messageToVariableBinding->getValue($message);
return $this->updateMessageVariable($message, $variable);
}
@ -65,41 +67,41 @@ abstract class Factor
*/
public function resetMarginals()
{
$allValues = &$this->_messageToVariableBinding->getAllValues();
foreach ($allValues as &$currentVariable) {
$allValues = $this->_messageToVariableBinding->getAllValues();
foreach ($allValues as $currentVariable) {
$currentVariable->resetToPrior();
}
}
/**
* Sends the ith message to the marginal and returns the log-normalization constant
* @param $messageIndex
* @return
* @throws Exception
*/
public function sendMessageIndex($messageIndex)
{
Guard::argumentIsValidIndex($messageIndex, count($this->_messages), "messageIndex");
$message = &$this->_messages[$messageIndex];
$variable = &$this->_messageToVariableBinding->getValue($message);
$message = $this->_messages[$messageIndex];
$variable = $this->_messageToVariableBinding->getValue($message);
return $this->sendMessageVariable($message, $variable);
}
protected abstract function sendMessageVariable(Message &$message, Variable &$variable);
protected abstract function sendMessageVariable(Message $message, Variable $variable);
public abstract function &createVariableToMessageBinding(Variable &$variable);
public abstract function createVariableToMessageBinding(Variable $variable);
protected function &createVariableToMessageBindingWithMessage(Variable &$variable, Message &$message)
protected function createVariableToMessageBindingWithMessage(Variable $variable, Message $message)
{
$index = count($this->_messages);
$localMessages = &$this->_messages;
$localMessages[] = &$message;
$this->_messageToVariableBinding->setValue($message, $variable);
$localVariables = &$this->_variables;
$localVariables[] = &$variable;
$this->_messages[] = $message;
$this->_variables[] = $variable;
return $message;
}
public function __toString()
{
return ($this->_name != null) ? $this->_name : base::__toString();
return ($this->_name != null) ? $this->_name : null;
}
}