예제 #1
0
파일: expr.py 프로젝트: ioram7/cfas
 def satisfy_one(self, assumptions=None):
     """
     If the input CNF is satisfiable, return a satisfying input point.
     A contradiction will return None.
     """
     return picosat.satisfy_one(self.nvars, self.clauses,
                                assumptions=assumptions)
예제 #2
0
파일: expr.py 프로젝트: bopopescu/cfas
 def satisfy_one(self, assumptions=None):
     """
     If the input CNF is satisfiable, return a satisfying input point.
     A contradiction will return None.
     """
     return picosat.satisfy_one(self.nvars,
                                self.clauses,
                                assumptions=assumptions)
예제 #3
0
파일: expr.py 프로젝트: cjdrake/pyeda
 def satisfy_one(self, assumptions=None, **params):
     """
     If the input CNF is satisfiable, return a satisfying input point.
     A contradiction will return None.
     """
     verbosity = params.get('verbosity', 0)
     default_phase = params.get('default_phase', 2)
     propagation_limit = params.get('propagation_limit', -1)
     decision_limit = params.get('decision_limit', -1)
     seed = params.get('seed', 1)
     return picosat.satisfy_one(self.nvars, self.clauses, assumptions,
                                verbosity, default_phase, propagation_limit,
                                decision_limit, seed)
예제 #4
0
 def satisfy_one(self, assumptions=None, **params):
     """
     If the input CNF is satisfiable, return a satisfying input point.
     A contradiction will return None.
     """
     verbosity = params.get('verbosity', 0)
     default_phase = params.get('default_phase', 2)
     propagation_limit = params.get('propagation_limit', -1)
     decision_limit = params.get('decision_limit', -1)
     seed = params.get('seed', 1)
     return picosat.satisfy_one(self.nvars, self.clauses, assumptions,
                                verbosity, default_phase, propagation_limit,
                                decision_limit, seed)
예제 #5
0
def test_satisfy_one():
    a, b, c = map(expr, 'abc')
    _, cnf = expr2dimacscnf(a & b & c)
    assert picosat.satisfy_one(cnf.nvars, cnf.clauses) == (1, 1, 1)
    assert list(picosat.satisfy_all(cnf.nvars, cnf.clauses)) == [(1, 1, 1)]
예제 #6
0
def test_satisfy_one():
    _, cnf = expr2dimacscnf(expr("And(a, b, c)"))
    assert picosat.satisfy_one(cnf.nvars, cnf.clauses) == (1, 1, 1)
    assert list(picosat.satisfy_all(cnf.nvars, cnf.clauses)) == [(1, 1, 1)]
예제 #7
0
def test_satisfy_one():
    a, b, c = map(expr, 'abc')
    _, cnf = expr2dimacscnf(a & b & c)
    assert picosat.satisfy_one(cnf.nvars, cnf.clauses) == (1, 1, 1)
    assert list(picosat.satisfy_all(cnf.nvars, cnf.clauses)) == [(1, 1, 1)]
 def solve(self, grid):
     """Return a solution point for a Sudoku grid."""
     soln = satisfy_one(self.S.nvars, self.S.clauses,
                        assumptions=self._parse_grid(grid))
     return self.S.soln2point(soln)
예제 #9
0
파일: test_picosat.py 프로젝트: GtTmy/pyeda
def test_satisfy_one():
    _, cnf = expr2dimacscnf(expr("And(a, b, c)"))
    assert picosat.satisfy_one(cnf.nvars, cnf.clauses) == (1, 1, 1)
    assert list(picosat.satisfy_all(cnf.nvars, cnf.clauses)) == [(1, 1, 1)]