mirror of
				https://github.com/furyfire/trueskill.git
				synced 2025-11-04 02:02:29 +01:00 
			
		
		
		
	General cleanup and removal of all unnecessary references
This commit is contained in:
		@@ -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;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user