futhark-0.25.32: An optimising compiler for a functional, array-oriented language.

Safe Haskell | None
Language | GHC2021

Futhark.Analysis.HORep.MapNest

Synopsis

- data Nesting = Nesting {
  - nestingParamNames :: [VName]
  - nestingResult :: [VName]
  - nestingReturnType :: [Type]
  - nestingWidth :: SubExp
  }
- data MapNest = MapNest {
  - mapNestWidth :: SubExp
  - mapNestLambda :: Lambda SOACS
  - mapNestNestings :: [Nesting]
  - mapNestInput :: [Input]
  }
- depth :: MapNest -> Int
- typeOf :: MapNest -> [Type]
- params :: MapNest -> [VName]
- inputs :: MapNest -> [Input]
- setInputs :: [Input] -> MapNest -> MapNest
- fromSOAC :: (MonadFreshNames m, LocalScope SOACS m) => SOAC SOACS -> m (Maybe MapNest)
- toSOAC :: (MonadFreshNames m, HasScope SOACS m) => MapNest -> m (SOAC SOACS)
- reshape :: MonadFreshNames m => StmAux () -> Shape -> MapNest -> m MapNest

# Documentation

data Nesting Source #

Constructors

Nesting |

Fields

- nestingParamNames :: [VName]
- nestingResult :: [VName]
- nestingReturnType :: [Type]
- nestingWidth :: SubExp

#### Instances

Instances details

Show Nesting Source # |
Instance details Defined in Futhark.Analysis.HORep.MapNest Methods showsPrec :: Int -> Nesting -> ShowS Source # show :: Nesting -> String Source # showList :: [Nesting] -> ShowS Source #
Eq Nesting Source # |
Instance details Defined in Futhark.Analysis.HORep.MapNest Methods (==) :: Nesting -> Nesting -> Bool Source # (/=) :: Nesting -> Nesting -> Bool Source #
Ord Nesting Source # |
Instance details Defined in Futhark.Analysis.HORep.MapNest Methods compare :: Nesting -> Nesting -> Ordering Source # (<) :: Nesting -> Nesting -> Bool Source # (<=) :: Nesting -> Nesting -> Bool Source # (>) :: Nesting -> Nesting -> Bool Source # (>=) :: Nesting -> Nesting -> Bool Source # max :: Nesting -> Nesting -> Nesting Source # min :: Nesting -> Nesting -> Nesting Source #

data MapNest Source #

Constructors

MapNest |

Fields

- mapNestWidth :: SubExp
- mapNestLambda :: Lambda SOACS
- mapNestNestings :: [Nesting]
- mapNestInput :: [Input]

#### Instances

Instances details

Show MapNest Source # |
Instance details Defined in Futhark.Analysis.HORep.MapNest Methods showsPrec :: Int -> MapNest -> ShowS Source # show :: MapNest -> String Source # showList :: [MapNest] -> ShowS Source #

depth :: MapNest -> Int Source #

typeOf :: MapNest -> [Type] Source #

params :: MapNest -> [VName] Source #

inputs :: MapNest -> [Input] Source #

setInputs :: [Input] -> MapNest -> MapNest Source #

fromSOAC :: (MonadFreshNames m, LocalScope SOACS m) => SOAC SOACS -> m (Maybe MapNest) Source #

toSOAC :: (MonadFreshNames m, HasScope SOACS m) => MapNest -> m (SOAC SOACS) Source #

reshape :: MonadFreshNames m => StmAux () -> Shape -> MapNest -> m MapNest Source #

Reshape a map nest. It is assumed that any validity tests have already been done. Will automatically reshape the inputs appropriately.