Exemple #1
0
void Node::tagNeighborsReceive(set<Factor*> &sendFactors,
                               set<Factor*> &receiveFactors,
                               set<Node*> &sendNodes,
                               set<Node*> &receiveNodes)
{
  //if(taggedReceive_)
  //  return;
  //taggedReceive_ = true;

  Factor* factor;
  for (int lindex = 0; lindex < links_->size(); lindex++)
  {
    factor = (*links_)[lindex]->getFactor();
    receiveFactors.insert(factor);
    factor->tagNeighborsSendReceive(sendFactors, receiveFactors, sendNodes,
                                    receiveNodes);
  }
}
Exemple #2
0
void Node::tagNeighborsReceive(list<Factor*> &sendFactors,
                                 list<Factor*> &receiveFactors,
                                 list<Node*> &sendNodes,
                                 list<Node*> &receiveNodes)
{
  //if(taggedReceive_)
  //  return;
  //taggedReceive_ = true;

  Factor* factor;
  for (int lindex = 0; lindex < links_->size(); lindex++)
  {
    //cout << "Tagging " << lindex << " of " << links_->size() << endl;
    factor = (*links_)[lindex]->getFactor();
    receiveFactors.push_back(factor);
    factor->tagNeighborsSendReceive(sendFactors, receiveFactors, sendNodes,
                                    receiveNodes);
  }
}