Safe HaskellNone

LSC.CellFlipping

Documentation

type Program = LP PseudoBool Rational Source #

data PseudoBool Source #

Constructors

G Number 
Lambda Int 

Instances

Instances details
Eq PseudoBool Source # 
Instance details

Defined in LSC.CellFlipping

Methods

(==) :: PseudoBool -> PseudoBool -> Bool

(/=) :: PseudoBool -> PseudoBool -> Bool

Ord PseudoBool Source # 
Instance details

Defined in LSC.CellFlipping

Show PseudoBool Source # 
Instance details

Defined in LSC.CellFlipping

Methods

showsPrec :: Int -> PseudoBool -> ShowS

show :: PseudoBool -> String

showList :: [PseudoBool] -> ShowS

type Alpha = Int Source #

type Beta = (Int, Int, Int, Int) Source #

_00 :: Lens' Beta Int Source #

_10 :: Lens' Beta Int Source #

_01 :: Lens' Beta Int Source #

_11 :: Lens' Beta Int Source #

type Delta = State Beta () Source #

data Quadratic a b Source #

Constructors

Degree0 b 
Degree1 a b b 
Degree2 a a b b b b 

Instances

Instances details
(Show b, Show a) => Show (Quadratic a b) Source # 
Instance details

Defined in LSC.CellFlipping

Methods

showsPrec :: Int -> Quadratic a b -> ShowS

show :: Quadratic a b -> String

showList :: [Quadratic a b] -> ShowS

data Vertex Source #

Constructors

Vertex 

Fields

Instances

Instances details
Eq Vertex Source # 
Instance details

Defined in LSC.CellFlipping

Methods

(==) :: Vertex -> Vertex -> Bool

(/=) :: Vertex -> Vertex -> Bool

Ord Vertex Source # 
Instance details

Defined in LSC.CellFlipping

Methods

compare :: Vertex -> Vertex -> Ordering

(<) :: Vertex -> Vertex -> Bool

(<=) :: Vertex -> Vertex -> Bool

(>) :: Vertex -> Vertex -> Bool

(>=) :: Vertex -> Vertex -> Bool

max :: Vertex -> Vertex -> Vertex

min :: Vertex -> Vertex -> Vertex

edge :: Gate -> Net -> Pin -> Int -> Edge Source #

computeBeta :: (Gate -> Set Vertex) -> (Gate -> [Edge]) -> [Gate] -> Alpha -> ST s Beta Source #