.. _isat-interface: iSAT Interface =================== In order to connect another solver to the module you have to implement the iSAT interface. iSAT is a proposed standard interface for SAT solvers, covering their most important methods. The main objective of this interface is to provide SAT solvers developers a quick and easy way of connecting their work to the Python environment. Since solver developers mainly work with C/C++, this interface is in C++. This interface contains a significant set of methods, but not all must be implemented. Some of the methods may not be implementable by particular SAT solver. A method not implemented will throw a ``NotImplementedException`` by default. It is up to the developer to choose what methods they need to implement. iSAT class ----------------------- .. doxygenclass:: iSAT :members: :private-members: :undoc-members: .. note:: Ctrl+C signals (SIGINT) are captured and handled by OptiLog in the main thread. If that happens while executing a SAT solver, OptiLog will stop the current execution context and raise a Python Exception. No further methods will be called on the SAT solver after that point. Solver states and Variables values ---------------------------------- .. doxygenenum:: E_STATE