Safe HaskellNone

LSC.Layout

Description

Custom data structure for fast region searches that is strictly coupled to the netgraph model.

Layout supports the following operations:

  • construction from a logic block vector
  • inserting a logic block
  • removing a logic block
  • slicing horizontally and vertically
  • querying points
  • searching for logic blocks on a given row
  • retrieve intervals of unused area

We are looking for a polymorphic data type that supports efficient implementations of the above-mentioned.

Documentation

type Layout = IntMap Segment Source #

type Segment = IntMap (Either Area Gate) Source #

type Slot = (Int, Either Area Gate) Source #

type SegmentIterator = Segment -> Int -> [Slot] Source #

buildLayout :: Foldable f => f Gate -> Layout Source #

ordinate :: Gate -> Int Source #

cutLayout :: (Int, Int) -> IntMap a -> IntMap a Source #

cutSegment :: (Int, Int) -> Segment -> Segment Source #