Safe Haskell | None |
---|---|
Language | Haskell2010 |
C code generation of primitive Feldspar expressions
- viewLitPrim :: ASTF (Primitive :&: PrimTypeRep) a -> Maybe a
- compComplexLit :: (Eq a, Num a, ToExp a) => Complex a -> Exp
- addTagMacro :: MonadC m => m ()
- compUnOp :: MonadC m => UnOp -> ASTF PrimDomain a -> m Exp
- compBinOp :: MonadC m => BinOp -> ASTF PrimDomain a -> ASTF PrimDomain b -> m Exp
- compFun :: MonadC m => String -> Args (AST PrimDomain) sig -> m Exp
- compAbs :: MonadC m => PrimTypeRep a -> ASTF PrimDomain a -> m Exp
- complexSign_def :: Definition
- complexSignf_def :: Definition
- compSign :: MonadC m => PrimTypeRep a -> ASTF PrimDomain a -> m Exp
- compCast :: MonadC m => PrimTypeRep a -> ASTF PrimDomain b -> m Exp
- compCastExp :: MonadC m => PrimTypeRep a -> Exp -> m Exp
- compRound :: (PrimType' a, Num a, RealFrac b, MonadC m) => PrimTypeRep a -> ASTF PrimDomain b -> m Exp
- div_def :: Definition
- ldiv_def :: Definition
- mod_def :: Definition
- lmod_def :: Definition
- compDiv :: MonadC m => PrimTypeRep a -> ASTF PrimDomain a -> ASTF PrimDomain b -> m Exp
- compMod :: MonadC m => PrimTypeRep a -> ASTF PrimDomain a -> ASTF PrimDomain b -> m Exp
- compPrim :: MonadC m => Prim a -> m Exp
Documentation
viewLitPrim :: ASTF (Primitive :&: PrimTypeRep) a -> Maybe a Source #
addTagMacro :: MonadC m => m () Source #
compBinOp :: MonadC m => BinOp -> ASTF PrimDomain a -> ASTF PrimDomain b -> m Exp Source #
Compile a binary operator
compAbs :: MonadC m => PrimTypeRep a -> ASTF PrimDomain a -> m Exp Source #
Compile a call to abs
compSign :: MonadC m => PrimTypeRep a -> ASTF PrimDomain a -> m Exp Source #
Compile a call to signum
compCast :: MonadC m => PrimTypeRep a -> ASTF PrimDomain b -> m Exp Source #
Compile a type casted primitive expression
compCastExp :: MonadC m => PrimTypeRep a -> Exp -> m Exp Source #
Applies type cast on a compiled expression
compRound :: (PrimType' a, Num a, RealFrac b, MonadC m) => PrimTypeRep a -> ASTF PrimDomain b -> m Exp Source #
Compile a call to round
A cast is added to the resulting expression to allow compatibility
between different integral and floating return types.
div_def :: Definition Source #
mod_def :: Definition Source #
compDiv :: MonadC m => PrimTypeRep a -> ASTF PrimDomain a -> ASTF PrimDomain b -> m Exp Source #
compMod :: MonadC m => PrimTypeRep a -> ASTF PrimDomain a -> ASTF PrimDomain b -> m Exp Source #