Safe HaskellNone

LSC.FastDP

Synopsis

Documentation

wt1 :: Penalty Source #

wt1 and wt2 penalize overlaps resulting from swapping cells. wt1: Penalty on shifting the closest two cells to resolve overlaps wt2: Penalty on shifting cells other than the closest two cells

wt2 :: Penalty Source #

wt1 and wt2 penalize overlaps resulting from swapping cells. wt1: Penalty on shifting the closest two cells to resolve overlaps wt2: Penalty on shifting cells other than the closest two cells

sufficientBenefit :: Maybe Double Source #

Choose the first swap that yields some benefit or the best possible swap when sufficientBenefit or the former is Nothing

swapRoutine :: Double -> Bool -> NetGraph -> ST s NetGraph Source #

type Penalty = Int Source #

type Benefit = Int Source #

findSwaps :: Bool -> Gate -> Area -> Layout -> [(Penalty, Either Area Gate)] Source #

localReorderSegment :: Int -> NetGraph -> Vector Gate -> ST s (Vector Gate) Source #

clusterSegment :: NetGraph -> Vector Gate -> ST s (Vector Gate) Source #

type Cluster = [Gate] Source #

type Order = Int -> Maybe Int Source #

clusterOverlap :: (Int, Cluster) -> (Int, Cluster) -> Bool Source #

generateBoundsList :: NetGraph -> Vector Gate -> Order -> Cluster -> [Int] Source #