cjdrake / pyeda

Python EDA
BSD 2-Clause "Simplified" License
304 stars 54 forks source link

Cannot set PicoSAT options from satisfy_one, satisfy_all methods #106

Closed cjdrake closed 9 years ago

cjdrake commented 9 years ago

The satisfy_one and satisfy_all methods currently do not currently let you pass options to the PicoSAT interface. For example, you cannot tell the engine to use the "random" phase if you want randomized results.

To avoid locking into PicoSAT, the satisfy_* methods should take generic parameters. For example:

def satisfy_one(**params):
    ...

soln = F.satisfy_one(default_phase=3)
cjdrake commented 9 years ago

This is not supported in the ConjunctiveNormalForm class, but I don't think it's necessary to add to the Function.satisfy_one interface.