raw-feldspar-0.2.1: Resource-Aware Feldspar

Safe HaskellNone
LanguageHaskell2010

Feldspar.Primitive.Backend.C

Contents

Description

C code generation of primitive Feldspar expressions

Synopsis

Documentation

compComplexLit :: (Eq a, Num a, ToExp a) => Complex a -> Exp Source #

Compile a complex literal

addTagMacro :: MonadC m => m () Source #

compUnOp :: MonadC m => UnOp -> ASTF PrimDomain a -> m Exp Source #

Compile a unary operator

compBinOp :: MonadC m => BinOp -> ASTF PrimDomain a -> ASTF PrimDomain b -> m Exp Source #

Compile a binary operator

compFun :: MonadC m => String -> Args (AST PrimDomain) sig -> m Exp Source #

Compile a function call

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.

compPrim :: MonadC m => Prim a -> m Exp Source #

Compile an expression

Orphan instances

CompExp Prim Source # 

Methods

compExp :: MonadC m => Prim a -> m Exp #

CompTypeClass PrimType' Source # 

Methods

compType :: (PrimType' a, MonadC m) => proxy1 PrimType' -> proxy2 a -> m Type #

compLit :: (PrimType' a, MonadC m) => proxy PrimType' -> a -> m Exp #