synthesizer-llvm-1.1.0.1: Efficient signal processing using runtime compilation

Safe HaskellNone
LanguageHaskell98

Synthesizer.LLVM.Causal.FunctionalPlug

Synopsis

Documentation

data T pp inp out Source #

This data type detects sharing.

Instances
Functor (T pp inp) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

Methods

fmap :: (a -> b) -> T pp inp a -> T pp inp b #

(<$) :: a -> T pp inp b -> T pp inp a #

Applicative (T pp inp) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

Methods

pure :: a -> T pp inp a #

(<*>) :: T pp inp (a -> b) -> T pp inp a -> T pp inp b #

liftA2 :: (a -> b -> c) -> T pp inp a -> T pp inp b -> T pp inp c #

(*>) :: T pp inp a -> T pp inp b -> T pp inp b #

(<*) :: T pp inp a -> T pp inp b -> T pp inp a #

(Field b, Real b, RationalConstant b) => Fractional (T pp a b) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

Methods

(/) :: T pp a b -> T pp a b -> T pp a b #

recip :: T pp a b -> T pp a b #

fromRational :: Rational -> T pp a b #

(PseudoRing b, Real b, IntegerConstant b) => Num (T pp a b) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

Methods

(+) :: T pp a b -> T pp a b -> T pp a b #

(-) :: T pp a b -> T pp a b -> T pp a b #

(*) :: T pp a b -> T pp a b -> T pp a b #

negate :: T pp a b -> T pp a b #

abs :: T pp a b -> T pp a b #

signum :: T pp a b -> T pp a b #

fromInteger :: Integer -> T pp a b #

(Transcendental b, RationalConstant b) => C (T pp a b) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

Methods

pi :: T pp a b #

exp :: T pp a b -> T pp a b #

log :: T pp a b -> T pp a b #

logBase :: T pp a b -> T pp a b -> T pp a b #

(**) :: T pp a b -> T pp a b -> T pp a b #

sin :: T pp a b -> T pp a b #

cos :: T pp a b -> T pp a b #

tan :: T pp a b -> T pp a b #

asin :: T pp a b -> T pp a b #

acos :: T pp a b -> T pp a b #

atan :: T pp a b -> T pp a b #

sinh :: T pp a b -> T pp a b #

cosh :: T pp a b -> T pp a b #

tanh :: T pp a b -> T pp a b #

asinh :: T pp a b -> T pp a b #

acosh :: T pp a b -> T pp a b #

atanh :: T pp a b -> T pp a b #

(Transcendental b, RationalConstant b) => C (T pp a b) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

Methods

sqrt :: T pp a b -> T pp a b #

root :: Integer -> T pp a b -> T pp a b #

(^/) :: T pp a b -> Rational -> T pp a b #

(Field b, RationalConstant b) => C (T pp a b) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

Methods

(/) :: T pp a b -> T pp a b -> T pp a b #

recip :: T pp a b -> T pp a b #

fromRational' :: Rational -> T pp a b #

(^-) :: T pp a b -> Integer -> T pp a b #

(PseudoRing b, IntegerConstant b) => C (T pp a b) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

Methods

(*) :: T pp a b -> T pp a b -> T pp a b #

one :: T pp a b #

fromInteger :: Integer -> T pp a b #

(^) :: T pp a b -> Integer -> T pp a b #

Additive b => C (T pp a b) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

Methods

zero :: T pp a b #

(+) :: T pp a b -> T pp a b -> T pp a b #

(-) :: T pp a b -> T pp a b -> T pp a b #

negate :: T pp a b -> T pp a b #

($&) :: T a b -> T pp inp a -> T pp inp b infixr 0 Source #

(&|&) :: T pp inp a -> T pp inp b -> T pp inp (a, b) infixr 3 Source #

run :: C pl => Default b => (Exp pl -> T pp a (Element b)) -> IO (pp -> pl -> T a b) Source #

runPlugOut :: C pl => (Exp pl -> T pp a x) -> T x b -> IO (pp -> pl -> T a b) Source #

fromSignal :: T a -> T pp inp a Source #

plug :: (Read b, Default b) => Input pp a b -> T pp a (Element b) Source #

type Input pp a = Reader (pp, a) Source #

withArgs :: C pl => (MakeArguments a, Default b) => (Arguments (Input pp a) a -> Exp pl -> T pp a (Element b)) -> IO (pp -> pl -> T a b) Source #

withArgsPlugOut :: C pl => MakeArguments a => (Arguments (Input pp a) a -> Exp pl -> T pp a x) -> T x b -> IO (pp -> pl -> T a b) Source #

class MakeArguments arg Source #

Minimal complete definition

makeArgs

Instances
MakeArguments (Vector a) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

Methods

makeArgs :: Functor f => f (Vector a) -> Arguments f (Vector a) Source #

MakeArguments (T i a) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

Methods

makeArgs :: Functor f => f (T i a) -> Arguments f (T i a) Source #

(MakeArguments a, MakeArguments b) => MakeArguments (T a b) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

Methods

makeArgs :: Functor f => f (T a b) -> Arguments f (T a b) Source #

type family Arguments (f :: * -> *) arg Source #

Instances
type Arguments f (Vector a) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

type Arguments f (Vector a) = f (Vector a)
type Arguments f (T a b) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

type Arguments f (T a b) = (Arguments f a, Arguments f b)
type Arguments f (T i a) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.FunctionalPlug

type Arguments f (T i a) = f (T i a)

makeArgs :: (MakeArguments arg, Functor f) => f arg -> Arguments f arg Source #