2010-09-18 11:11:44 -04:00
|
|
|
<?php
|
|
|
|
namespace Moserware\Skills\FactorGraphs;
|
|
|
|
|
|
|
|
class Variable
|
|
|
|
{
|
|
|
|
private $_name;
|
|
|
|
private $_prior;
|
|
|
|
private $_value;
|
|
|
|
|
|
|
|
public function __construct($name, $prior)
|
|
|
|
{
|
|
|
|
$this->_name = "Variable[" . $name . "]";
|
|
|
|
$this->_prior = $prior;
|
|
|
|
$this->resetToPrior();
|
|
|
|
}
|
|
|
|
|
2010-09-25 15:46:23 -04:00
|
|
|
public function &getValue()
|
2010-09-18 11:11:44 -04:00
|
|
|
{
|
|
|
|
return $this->_value;
|
|
|
|
}
|
|
|
|
|
2010-09-25 15:46:23 -04:00
|
|
|
public function setValue(&$value)
|
2010-09-18 11:11:44 -04:00
|
|
|
{
|
|
|
|
$this->_value = $value;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function resetToPrior()
|
|
|
|
{
|
|
|
|
$this->_value = $this->_prior;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function __toString()
|
|
|
|
{
|
|
|
|
return $this->_name;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class DefaultVariable extends Variable
|
|
|
|
{
|
|
|
|
public function __construct()
|
|
|
|
{
|
|
|
|
parent::__construct("Default", null);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getValue()
|
|
|
|
{
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setValue($value)
|
|
|
|
{
|
|
|
|
throw new Exception();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class KeyedVariable extends Variable
|
|
|
|
{
|
|
|
|
private $_key;
|
|
|
|
public function __construct($key, $name, $prior)
|
|
|
|
{
|
|
|
|
parent::__construct($name, $prior);
|
|
|
|
$this->_key = $key;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getKey()
|
|
|
|
{
|
|
|
|
return $this->_key;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|