Safe Haskell | None |
---|---|
Language | Haskell2010 |
- coalesce :: Span (Vec n Int) -> Span (Vec n Int) -> Maybe (Span (Vec n Int))
- containedWithin :: Span (Vec n Int) -> Span (Vec n Int) -> Bool
- inferFromIndicesWithoutLinearity :: VecList Int -> Specification
- inferMinimalVectorRegions :: [Vec n Int] -> [Span (Vec n Int)]
- spansToApproxSpatial :: [Span (Vec (S n) Int)] -> Either String (Approximation Spatial)
- type Span a = (a, a)
Documentation
coalesce :: Span (Vec n Int) -> Span (Vec n Int) -> Maybe (Span (Vec n Int)) Source #
Coalesce two intervals of vectors into one, if they are contiguous
containedWithin :: Span (Vec n Int) -> Span (Vec n Int) -> Bool Source #
Binary predicate on whether the first region containedWithin the second
inferFromIndicesWithoutLinearity :: VecList Int -> Specification Source #
From a list of vectors of integers, representing relative offsets, generate a specification (but does not do any linearity checking) (defaults to Mult). Instead let the front-end does the linearity check first as an optimimsation. Also defaults to the specification being for a stencil
inferMinimalVectorRegions :: [Vec n Int] -> [Span (Vec n Int)] Source #
|inferMinimalVectorRegions| a key part of the algorithm, from a list of n-dimensional relative indices it infers a list of (possibly overlapping) 1-dimensional spans (vectors) within the n-dimensional space. Built from |minimalise| and |allRegionPermutations|