don't use a stack for atom counting operator

This commit is contained in:
Tiago Gomes
2012-12-09 19:46:14 +00:00
parent 57a31c2c36
commit 907144db32
2 changed files with 11 additions and 7 deletions

View File

@@ -23,7 +23,8 @@ AndNode::weight (void) const
stack<pair<unsigned, unsigned>> SetOrNode::nrGrsStack;
int SetOrNode::nrPos_ = -1;
int SetOrNode::nrNeg_ = -1;
@@ -32,7 +33,8 @@ SetOrNode::weight (void) const
{
double weightSum = LogAware::addIdenty();
for (unsigned i = 0; i < nrGroundings_ + 1; i++) {
nrGrsStack.push (make_pair (nrGroundings_ - i, i));
nrPos_ = nrGroundings_ - i;
nrNeg_ = i;
if (Globals::logDomain) {
double nrCombs = Util::nrCombinations (nrGroundings_, i);
double w = follow_->weight();
@@ -42,6 +44,8 @@ SetOrNode::weight (void) const
weightSum += Util::nrCombinations (nrGroundings_, i) * w;
}
}
nrPos_ = -1;
nrNeg_ = -1;
return weightSum;
}