synthesizer-llvm-1.0: Efficient signal processing using runtime compilation
Safe HaskellSafe-Inferred
LanguageHaskell98

Synthesizer.LLVM.Filter.ComplexFirstOrder

Documentation

data Parameter a Source #

Constructors

Parameter a (T a) 

Instances

Instances details
Foldable Parameter Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.ComplexFirstOrder

Methods

fold :: Monoid m => Parameter m -> m #

foldMap :: Monoid m => (a -> m) -> Parameter a -> m #

foldMap' :: Monoid m => (a -> m) -> Parameter a -> m #

foldr :: (a -> b -> b) -> b -> Parameter a -> b #

foldr' :: (a -> b -> b) -> b -> Parameter a -> b #

foldl :: (b -> a -> b) -> b -> Parameter a -> b #

foldl' :: (b -> a -> b) -> b -> Parameter a -> b #

foldr1 :: (a -> a -> a) -> Parameter a -> a #

foldl1 :: (a -> a -> a) -> Parameter a -> a #

toList :: Parameter a -> [a] #

null :: Parameter a -> Bool #

length :: Parameter a -> Int #

elem :: Eq a => a -> Parameter a -> Bool #

maximum :: Ord a => Parameter a -> a #

minimum :: Ord a => Parameter a -> a #

sum :: Num a => Parameter a -> a #

product :: Num a => Parameter a -> a #

Traversable Parameter Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.ComplexFirstOrder

Methods

traverse :: Applicative f => (a -> f b) -> Parameter a -> f (Parameter b) #

sequenceA :: Applicative f => Parameter (f a) -> f (Parameter a) #

mapM :: Monad m => (a -> m b) -> Parameter a -> m (Parameter b) #

sequence :: Monad m => Parameter (m a) -> m (Parameter a) #

Applicative Parameter Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.ComplexFirstOrder

Methods

pure :: a -> Parameter a #

(<*>) :: Parameter (a -> b) -> Parameter a -> Parameter b #

liftA2 :: (a -> b -> c) -> Parameter a -> Parameter b -> Parameter c #

(*>) :: Parameter a -> Parameter b -> Parameter b #

(<*) :: Parameter a -> Parameter b -> Parameter a #

Functor Parameter Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.ComplexFirstOrder

Methods

fmap :: (a -> b) -> Parameter a -> Parameter b #

(<$) :: a -> Parameter b -> Parameter a #

Flatten a => Flatten (Parameter a) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.ComplexFirstOrder

Associated Types

type Registers (Parameter a) #

Methods

flattenCode :: Parameter a -> Compute r (Registers (Parameter a)) #

unfoldCode :: T (Registers (Parameter a)) -> Parameter a #

C a => C (Parameter a) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.ComplexFirstOrder

Associated Types

type Struct (Parameter a) #

Phi a => Phi (Parameter a) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.ComplexFirstOrder

Undefined a => Undefined (Parameter a) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.ComplexFirstOrder

Methods

undef :: Parameter a #

Aggregate e mv => Aggregate (Parameter e) (Parameter mv) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.ComplexFirstOrder

Associated Types

type MultiValuesOf (Parameter e) #

type ExpressionsOf (Parameter mv) #

(PseudoRing a, RationalConstant a, C a) => C (Parameter a) (T a) (T a) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.Controlled

Associated Types

type Input (Parameter a) (T a) Source #

type Output (Parameter a) (T a) Source #

Methods

process :: T0 (Parameter a, T a) (T a) Source #

type ExpressionsOf (Parameter mv) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.ComplexFirstOrder

type MultiValuesOf (Parameter e) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.ComplexFirstOrder

type Registers (Parameter a) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.ComplexFirstOrder

type Struct (Parameter a) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.ComplexFirstOrder

type Struct (Parameter a)
type Input (Parameter a) (T a) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.Controlled

type Input (Parameter a) (T a) = T a
type Output (Parameter a) (T a) Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.Controlled

type Output (Parameter a) (T a) = T a

parameter :: C a => a -> a -> Parameter a Source #

causal :: (PseudoRing a, IntegerConstant a, C a) => T (Parameter a, T a) (T a) Source #

causalExp :: (C ae, Aggregate ae a, C a) => T (Parameter a, T a) (T a) Source #