Safe HaskellNone

LSC.FM

Documentation

matchingRatio :: Rational Source #

balanceFactor :: Rational Source #

type NetArray = Vector IntSet Source #

type CellArray = Vector IntSet Source #

data Gain s a Source #

Constructors

Gain (STRef s IntSet) (MVector s Int) (HashTable s Int [a]) 

Instances

Instances details
HasGains (Heu s) (Gain s Int) Source # 
Instance details

Defined in LSC.FM

Methods

gains :: Lens' (Heu s) (Gain s Int) Source #

data Move Source #

Constructors

Move Int Int 

Instances

Instances details
Show Move Source # 
Instance details

Defined in LSC.FM

Methods

showsPrec :: Int -> Move -> ShowS

show :: Move -> String

showList :: [Move] -> ShowS

HasMoves (Heu s) [(Move, Bipartitioning)] Source # 
Instance details

Defined in LSC.FM

Methods

moves :: Lens' (Heu s) [(Move, Bipartitioning)] Source #

data Bipartitioning Source #

Constructors

Bisect !IntSet !IntSet 

Instances

Instances details
Eq Bipartitioning Source # 
Instance details

Defined in LSC.FM

Show Bipartitioning Source # 
Instance details

Defined in LSC.FM

Methods

showsPrec :: Int -> Bipartitioning -> ShowS

show :: Bipartitioning -> String

showList :: [Bipartitioning] -> ShowS

Semigroup Bipartitioning Source # 
Instance details

Defined in LSC.FM

Monoid Bipartitioning Source # 
Instance details

Defined in LSC.FM

HasMoves (Heu s) [(Move, Bipartitioning)] Source # 
Instance details

Defined in LSC.FM

Methods

moves :: Lens' (Heu s) [(Move, Bipartitioning)] Source #

cutSize :: (V, E) -> Bipartitioning -> Int Source #

type Clustering = Vector IntSet Source #

data Heu s Source #

Constructors

Heu 

Fields

Instances

Instances details
HasFreeCells (Heu s) IntSet Source # 
Instance details

Defined in LSC.FM

Methods

freeCells :: Lens' (Heu s) IntSet Source #

HasMoves (Heu s) [(Move, Bipartitioning)] Source # 
Instance details

Defined in LSC.FM

Methods

moves :: Lens' (Heu s) [(Move, Bipartitioning)] Source #

HasGains (Heu s) (Gain s Int) Source # 
Instance details

Defined in LSC.FM

Methods

gains :: Lens' (Heu s) (Gain s Int) Source #

class HasFreeCells s a | s -> a where Source #

Methods

freeCells :: Lens' s a Source #

Instances

Instances details
HasFreeCells (Heu s) IntSet Source # 
Instance details

Defined in LSC.FM

Methods

freeCells :: Lens' (Heu s) IntSet Source #

class HasGains s a | s -> a where Source #

Methods

gains :: Lens' s a Source #

Instances

Instances details
HasGains (Heu s) (Gain s Int) Source # 
Instance details

Defined in LSC.FM

Methods

gains :: Lens' (Heu s) (Gain s Int) Source #

class HasMoves s a | s -> a where Source #

Methods

moves :: Lens' s a Source #

Instances

Instances details
HasMoves (Heu s) [(Move, Bipartitioning)] Source # 
Instance details

Defined in LSC.FM

Methods

moves :: Lens' (Heu s) [(Move, Bipartitioning)] Source #

type FM s = ReaderT (Gen s, STRef s (Heu s)) (ST s) Source #

prng :: FM s (Gen s) Source #

evalFM :: FM s a -> ST s a Source #

runFM :: FM s a -> ST s a Source #

runFMWithGen :: FM s a -> Gen s -> ST s a Source #

st :: ST s a -> FM s a Source #

update :: Setter' (Heu s) a -> (a -> a) -> FM s () Source #

value :: Getter (Heu s) a -> FM s a Source #

fmMultiLevel :: (V, E) -> Int -> Rational -> FM s Bipartitioning Source #

induce :: (V, E) -> Clustering -> ST s (V, E) Source #

match :: (V, E) -> Rational -> Permutation -> ST s Clustering Source #

computeG :: Foldable f => Bipartitioning -> f (Move, Bipartitioning) -> (Int, Bipartitioning) Source #

lockCell :: Int -> FM s () Source #

selectBaseCell :: V -> Bipartitioning -> FM s (Maybe Int) Source #

updateGains :: Int -> (V, E) -> Bipartitioning -> FM s () Source #

maxGain :: FM s (Maybe (Int, [Int])) Source #

removeGain :: Int -> FM s () Source #

modifyGain :: (Int -> Int) -> Int -> FM s () Source #

balanceCriterion :: Int -> Bipartitioning -> Int -> Bool Source #

fromBlock :: Bipartitioning -> Int -> E -> Int -> IntSet Source #

toBlock :: Bipartitioning -> Int -> E -> Int -> IntSet Source #

inputRoutine :: Foldable f => Int -> Int -> f (Int, Int) -> ST s (V, E) Source #