Safe Haskell | None |
---|
LSC.FastDP
Synopsis
- wt1 :: Penalty
- wt2 :: Penalty
- sufficientBenefit :: Maybe Double
- globalSwap :: NetGraph -> LSC NetGraph
- verticalSwap :: NetGraph -> LSC NetGraph
- swapRoutine :: Double -> Bool -> NetGraph -> ST s NetGraph
- type Penalty = Int
- type Benefit = Int
- benefit :: NetGraph -> Gate -> Penalty -> Either Area Gate -> Benefit
- findSwaps :: Bool -> Gate -> Area -> Layout -> [(Penalty, Either Area Gate)]
- verticalSwapSegments :: Gate -> Layout -> [(Segment, Segment)]
- globalSwapSegments :: Area -> Layout -> [(Segment, Segment)]
- penaltyForSpace :: Gate -> Segment -> Area -> Penalty
- penaltyForCell :: Segment -> Gate -> Segment -> Gate -> Penalty
- localReordering :: NetGraph -> LSC NetGraph
- localReorderSegment :: Int -> NetGraph -> Vector Gate -> ST s (Vector Gate)
- singleSegmentClustering :: NetGraph -> LSC NetGraph
- clusterSegment :: NetGraph -> Vector Gate -> ST s (Vector Gate)
- type Cluster = [Gate]
- type Order = Int -> Maybe Int
- clusterIndex :: Order -> Cluster -> Int
- centerCluster :: (Int, Cluster) -> Gate -> Gate
- clusterOverlap :: (Int, Cluster) -> (Int, Cluster) -> Bool
- generateBoundsList :: NetGraph -> Vector Gate -> Order -> Cluster -> [Int]
Documentation
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 #
clusterIndex :: Order -> Cluster -> Int Source #
clusterOverlap :: (Int, Cluster) -> (Int, Cluster) -> Bool Source #