#include <config.h>
#include <graph/DeterministicNode.h>

using std::set;

DeterministicNode::DeterministicNode(Index const &dim)
  : Node(dim)
{}

void DeterministicNode::initialize()
{
  Node::initialize();
  for (set<Node*>::iterator p = parents().begin(); p != parents().end(); ++p)
    {
      if (!isObserved(*p))
	return;
    }
  // All parents are observed (or there are no parents) so this is observed too
  data.setFixed(true);
}

bool DeterministicNode::isStochastic() const
{
  return false;
}


syntax highlighted by Code2HTML, v. 0.9.1