本文整理汇总了C++中Propagator::clearPropState方法的典型用法代码示例。如果您正苦于以下问题:C++ Propagator::clearPropState方法的具体用法?C++ Propagator::clearPropState怎么用?C++ Propagator::clearPropState使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Propagator
的用法示例。
在下文中一共展示了Propagator::clearPropState方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: propagate
bool Engine::propagate() {
if (async_fail) {
async_fail = false;
assert(!so.lazy || sat.confl);
return false;
}
last_prop = NULL;
WakeUp:
if (!sat.consistent() && !sat.propagate()) return false;
for (int i = 0; i < v_queue.size(); i++) {
v_queue[i]->wakePropagators();
}
v_queue.clear();
if (sat.confl) return false;
last_prop = NULL;
for (int i = 0; i < num_queues; i++) {
if (p_queue[i].size()) {
Propagator *p = p_queue[i].last(); p_queue[i].pop();
propagations++;
bool ok = p->propagate();
p->clearPropState();
if (!ok) return false;
goto WakeUp;
}
}
return true;
}