cudd-0.1.0.0: Bindings to the CUDD binary decision diagrams library

Safe HaskellNone
LanguageHaskell2010

Cudd.Imperative

Documentation

newtype DDManager s u Source

Constructors

DDManager 

newtype DDNode s u Source

Constructors

DDNode 

Fields

unDDNode :: Ptr CDDNode
 

Instances

Eq (DDNode s u) 
Ord (DDNode s u) 
Show (DDNode s u) 

cuddInit :: Int -> Int -> Int -> Int -> Int -> ST s (DDManager s u) Source

withManager :: Int -> Int -> Int -> Int -> Int -> (forall u. DDManager s u -> ST s a) -> ST s a Source

withManagerDefaults :: (forall u. DDManager s u -> ST s a) -> ST s a Source

withManagerIO :: MonadIO m => Int -> Int -> Int -> Int -> Int -> (forall u. DDManager RealWorld u -> m a) -> m a Source

withManagerIODefaults :: MonadIO m => (forall u. DDManager RealWorld u -> m a) -> m a Source

shuffleHeap :: DDManager s u -> [Int] -> ST s () Source

bZero :: DDManager t t1 -> DDNode s u Source

bOne :: DDManager t t1 -> DDNode s u Source

ithVar :: Integral a => DDManager t t1 -> a -> ST s1 (DDNode s u) Source

bAnd :: DDManager s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

bOr :: DDManager s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

bNand :: DDManager s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

bNor :: DDManager s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

bXor :: DDManager s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

bXnor :: DDManager s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

bNot :: DDNode t t1 -> DDNode s u Source

bIte :: DDManager s u -> DDNode s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

bExists :: DDManager s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

bForall :: DDManager s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

deref :: DDManager s u -> DDNode s u -> ST s () Source

setVarMap :: DDManager s u -> [DDNode s u] -> [DDNode s u] -> ST s () Source

varMap :: DDManager s u -> DDNode s u -> ST s (DDNode s u) Source

lEq :: DDManager s u -> DDNode s u -> DDNode s u -> ST s Bool Source

swapVariables :: DDManager s u -> [DDNode s u] -> [DDNode s u] -> DDNode s u -> ST s (DDNode s u) Source

ref :: DDNode s u -> ST s () Source

largestCube :: DDManager s u -> DDNode s u -> ST s (DDNode s u, Int) Source

makePrime :: DDManager s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

support :: DDManager s u -> DDNode s u -> ST s (DDNode s u) Source

indicesToCube :: DDManager s u -> [Int] -> ST s (DDNode s u) Source

computeCube :: DDManager s u -> [DDNode s u] -> [Bool] -> ST s (DDNode s u) Source

nodesToCube :: DDManager s u -> [DDNode s u] -> ST s (DDNode s u) Source

compose :: DDManager s u -> DDNode s u -> DDNode s u -> Int -> ST s (DDNode s u) Source

andAbstract :: DDManager s u -> DDNode s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

xorExistAbstract :: DDManager s u -> DDNode s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

leqUnless :: DDManager s u -> DDNode s u -> DDNode s u -> DDNode s u -> ST s Bool Source

equivDC :: DDManager s u -> DDNode s u -> DDNode s u -> DDNode s u -> ST s Bool Source

xEqY :: DDManager s u -> [DDNode s u] -> [DDNode s u] -> ST s (DDNode s u) Source

pickOneMinterm :: DDManager s u -> DDNode s u -> [DDNode s u] -> ST s (DDNode s u) Source

dagSize :: DDNode s u -> ST s Int Source

regular :: DDNode s u -> DDNode s u Source

andLimit :: DDManager s u -> DDNode s u -> DDNode s u -> Int -> ST s (Maybe (DDNode s u)) Source

newVarAtLevel :: DDManager s u -> Int -> ST s (DDNode s u) Source

liCompaction :: DDManager s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

squeeze :: DDManager s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

minimize :: DDManager s u -> DDNode s u -> DDNode s u -> ST s (DDNode s u) Source

newVar :: DDManager s u -> ST s (DDNode s u) Source

vectorCompose :: DDManager s u -> DDNode s u -> [DDNode s u] -> ST s (DDNode s u) Source

quit :: DDManager s u -> ST s () Source

printMinterm :: DDManager s u -> DDNode s u -> ST s () Source

checkCube :: DDManager s u -> DDNode s u -> ST s Bool Source

data DDGen s u t Source

Constructors

DDGen (Ptr CDDGen) 

genFree :: DDGen s u t -> ST s () Source

isGenEmpty :: DDGen s u t -> ST s Bool Source

firstCube :: DDManager s u -> DDNode s u -> ST s (Maybe ([SatBit], DDGen s u Cube)) Source

nextCube :: DDManager s u -> DDGen s u Cube -> ST s (Maybe [SatBit]) Source

firstPrime :: DDManager s u -> DDNode s u -> DDNode s u -> ST s (Maybe ([SatBit], DDGen s u Prime)) Source