logic_form/dagcnf/simulate.rs
1use super::DagCnf;
2use crate::Var;
3use crate::{Lbool, VarAssign};
4
5impl DagCnf {
6 pub fn var_sim(&mut self, n: Var, value: &mut VarAssign) {
7 'm: for rel in self.cnf[n].iter() {
8 for l in rel.iter() {
9 if l.var() != n && value.v(*l) != Lbool::FALSE {
10 continue 'm;
11 }
12 }
13 value.set(rel.last());
14 return;
15 }
16 }
17}