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

Safe HaskellNone

Synthesizer.LLVM.CausalParameterized.FunctionalPlug

Synopsis

Documentation

data T pp pl inp out Source

This data type detects sharing.

Instances

Functor (T pp pl inp) 
Applicative (T pp pl inp) 
(PseudoRing b, Real b, IntegerConstant b) => Num (T pp pl a b) 
(Transcendental b, RationalConstant b) => C (T pp pl a b) 
(Transcendental b, RationalConstant b) => C (T pp pl a b) 
(Field b, RationalConstant b) => C (T pp pl a b) 
(PseudoRing b, IntegerConstant b) => C (T pp pl a b) 
Additive b => C (T pp pl a b) 

($&) :: T pl a b -> T pp pl inp a -> T pp pl inp bSource

(&|&) :: T pp pl inp a -> T pp pl inp b -> T pp pl inp (a, b)Source

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

runPlugOut :: T pp pl a x -> T x b -> IO (pp -> pl -> T a b)Source

fromSignal :: T pl a -> T pp pl inp aSource

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

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

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

Cf. withArgs.

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

class MakeArguments arg whereSource

Methods

makeArgs :: Functor f => f arg -> Arguments f argSource

type family Arguments f arg Source