Safe Haskell | None |
---|
LSC.FM
Documentation
matchingRatio :: Rational Source #
coarseningThreshold :: Int Source #
balanceFactor :: Rational Source #
Constructors
Gain (STRef s IntSet) (MVector s Int) (HashTable s Int [a]) |
Constructors
Move Int Int |
data Bipartitioning Source #
Constructors
Bisect !IntSet !IntSet |
Instances
Eq Bipartitioning Source # | |
Defined in LSC.FM Methods (==) :: Bipartitioning -> Bipartitioning -> Bool (/=) :: Bipartitioning -> Bipartitioning -> Bool | |
Show Bipartitioning Source # | |
Defined in LSC.FM Methods showsPrec :: Int -> Bipartitioning -> ShowS show :: Bipartitioning -> String showList :: [Bipartitioning] -> ShowS | |
Semigroup Bipartitioning Source # | |
Defined in LSC.FM Methods (<>) :: Bipartitioning -> Bipartitioning -> Bipartitioning sconcat :: NonEmpty Bipartitioning -> Bipartitioning stimes :: Integral b => b -> Bipartitioning -> Bipartitioning | |
Monoid Bipartitioning Source # | |
Defined in LSC.FM Methods mappend :: Bipartitioning -> Bipartitioning -> Bipartitioning mconcat :: [Bipartitioning] -> Bipartitioning | |
HasMoves (Heu s) [(Move, Bipartitioning)] Source # | |
move :: Int -> Bipartitioning -> Bipartitioning Source #
bisectBalance :: Bipartitioning -> Int Source #
type Clustering = Vector IntSet Source #
Constructors
Heu | |
Fields
|
class HasFreeCells s a | s -> a where Source #
runFMWithGen :: FM s a -> Gen s -> ST s a Source #
fmMultiLevel :: (V, E) -> Int -> Rational -> FM s Bipartitioning Source #
refit :: (V, E) -> Int -> Bipartitioning -> Bipartitioning Source #
rebalance :: Bipartitioning -> FM s Bipartitioning Source #
project :: Clustering -> Bipartitioning -> FM s Bipartitioning Source #
match :: (V, E) -> Rational -> Permutation -> ST s Clustering Source #
bipartitionEven :: (V, E) -> Bipartitioning Source #
bipartitionRandom :: (V, E) -> FM s Bipartitioning Source #
bipartition :: (V, E) -> Bipartitioning -> FM s Bipartitioning Source #
computeG :: Foldable f => Bipartitioning -> f (Move, Bipartitioning) -> (Int, Bipartitioning) Source #
processCell :: (V, E) -> Bipartitioning -> FM s () Source #
moveCell :: Int -> Bipartitioning -> FM s Bipartitioning Source #
selectBaseCell :: V -> Bipartitioning -> FM s (Maybe Int) Source #
updateGains :: Int -> (V, E) -> Bipartitioning -> FM s () Source #
removeGain :: Int -> FM s () Source #
modifyGain :: (Int -> Int) -> Int -> FM s () Source #
initialGains :: (V, E) -> Bipartitioning -> 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 #