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

Safe HaskellTrustworthy
LanguageHaskell2010

SAT.Mios.Clause

Contents

Description

Clause, supporting pointer-based equality

Synopsis

Documentation

data Clause Source #

Fig. 7.(p.11) normal, null (and binary) clause. This matches both of Clause and GClause in MiniSat.

Constructors

Clause 

Fields

NullClause 

Instances

Eq Clause Source #

The equality on Clause is defined with reallyUnsafePtrEquality.

Methods

(==) :: Clause -> Clause -> Bool #

(/=) :: Clause -> Clause -> Bool #

Show Clause Source # 
StackFamily Clause Lit Source #

Clause is a Stackfamilyon literals since literals in it will be discared if satisifed at level = 0.

StackFamily ClauseExtManager Clause Source #

ClauseExtManager is a StackFamily on clauses.

SingleStorage Clause Int Source #

Clause is a SingleStorage on the number of literals in it.

Methods

new' :: Int -> IO Clause Source #

get' :: Clause -> IO Int Source #

set' :: Clause -> Int -> IO () Source #

modify' :: Clause -> (Int -> Int) -> IO () Source #

VecFamily ClauseVector Clause Source #

ClauseVector is a vector of Clause.

VecFamily Clause Lit Source #

Clause is a VecFamily of Lit.

VecFamily WatcherList Clause Source #

WatcherList is an Lit-indexed collection of Clause.

VecFamily ClauseExtManager Clause Source #

ClauseExtManager is a collection of Clause

newClauseFromStack :: Bool -> Stack -> IO Clause Source #

copies vec and return a new Clause. Since 1.0.100 DIMACS reader should use a scratch buffer allocated statically.

Vector of Clause

type ClauseVector = IOVector Clause Source #

Mutable Clause Vector