mios-1.2.1: A Minisat-based SAT solver in Haskell

Safe HaskellTrustworthy
LanguageHaskell2010

SAT.Solver.Mios.ClauseManager

Contents

Description

A shrinkable VectorFamily of Clause

Synopsis

higher level interface for ClauseVector

Manager with an extra Int (used as sort key or blocking literal)

pushClauseWithKey :: ClauseExtManager -> Clause -> Lit -> IO () Source #

O(1) inserter

getKeyVector :: ClauseExtManager -> IO Vec Source #

returns the associated Int vector

markClause :: ClauseExtManager -> Clause -> IO () Source #

sets the expire flag to a clause

WatcherList

newWatcherList :: Int -> Int -> IO WatcherList Source #

n is the number of Var, m is default size of each watcher list | For n vars, we need [0 .. 2 + 2 * n - 1] slots, namely 2 * (n + 1)-length vector

getNthWatcher :: WatcherList -> Lit -> ClauseExtManager Source #

returns the watcher List :: ClauseManager for Literal l

garbageCollect :: WatcherList -> IO () Source #

purges all expirable clauses in WatcherList