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

Safe HaskellNone
LanguageHaskell98

Synthesizer.LLVM.Filter.SecondOrder

Contents

Synopsis

Documentation

data Parameter a #

Parameters for a general recursive filter of 2nd order.

Constructors

Parameter !a !a !a !a !a 
Instances
Functor Parameter 
Instance details

Defined in Synthesizer.Plain.Filter.Recursive.SecondOrder

Methods

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

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

Applicative Parameter 
Instance details

Defined in Synthesizer.Plain.Filter.Recursive.SecondOrder

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 #

Foldable Parameter 
Instance details

Defined in Synthesizer.Plain.Filter.Recursive.SecondOrder

Methods

fold :: Monoid m => Parameter m -> 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 
Instance details

Defined in Synthesizer.Plain.Filter.Recursive.SecondOrder

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) #

C a v => C a (Parameter v) 
Instance details

Defined in Synthesizer.Plain.Filter.Recursive.SecondOrder

Methods

scaleAndAccumulate :: (a, Parameter v) -> (Parameter v, Parameter v -> Parameter v) #

Show a => Show (Parameter a) 
Instance details

Defined in Synthesizer.Plain.Filter.Recursive.SecondOrder

Storable a => Storable (Parameter a) 
Instance details

Defined in Synthesizer.Plain.Filter.Recursive.SecondOrder

Methods

sizeOf :: Parameter a -> Int #

alignment :: Parameter a -> Int #

peekElemOff :: Ptr (Parameter a) -> Int -> IO (Parameter a) #

pokeElemOff :: Ptr (Parameter a) -> Int -> Parameter a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (Parameter a) #

pokeByteOff :: Ptr b -> Int -> Parameter a -> IO () #

peek :: Ptr (Parameter a) -> IO (Parameter a) #

poke :: Ptr (Parameter a) -> Parameter a -> IO () #

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

Defined in Synthesizer.LLVM.Filter.SecondOrder

Associated Types

type Registers (Parameter a) :: Type #

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.SecondOrder

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

Defined in Synthesizer.LLVM.Filter.SecondOrder

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

Defined in Synthesizer.LLVM.Filter.SecondOrder

Associated Types

type Struct (Parameter a) :: Type #

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

Defined in Synthesizer.LLVM.Filter.SecondOrder

Associated Types

type Repr (Parameter a) :: Type #

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

Defined in Synthesizer.LLVM.Filter.SecondOrder

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

Defined in Synthesizer.LLVM.Filter.SecondOrder

Associated Types

type ValueOf (Parameter a) :: Type #

Methods

valueOf :: Parameter a -> ValueOf (Parameter a) #

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

Defined in Synthesizer.LLVM.Filter.SecondOrder

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

Defined in Synthesizer.LLVM.Filter.SecondOrder

Methods

undef :: Parameter a #

(Write v, Element v ~ a, PseudoRing v, IntegerConstant v, PseudoRing a, IntegerConstant a, Aggregate ae a, Phi a, Undefined a, C a, C v) => C (Parameter a) v v Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.ControlledPacked

Associated Types

type Output (Parameter a) v :: Type Source #

type Input (Parameter a) v :: Type Source #

Methods

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

(a ~ Scalar v, PseudoModule v, RationalConstant a, C a, C v) => C (Parameter a) v v Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.Controlled

Associated Types

type Input (Parameter a) v :: Type Source #

type Output (Parameter a) v :: Type Source #

Methods

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

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

Defined in Synthesizer.LLVM.Filter.SecondOrder

Associated Types

type MultiValuesOf (Parameter e) :: Type #

type ExpressionsOf (Parameter mv) :: Type #

type Registers (Parameter a) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.SecondOrder

type ExpressionsOf (Parameter mv) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.SecondOrder

type MultiValuesOf (Parameter e) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.SecondOrder

type Struct (Parameter a) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.SecondOrder

type Repr (Parameter a) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.SecondOrder

type Repr (Parameter a) = Parameter (Repr a)
type ValueOf (Parameter a) Source # 
Instance details

Defined in Synthesizer.LLVM.Filter.SecondOrder

type Output (Parameter a) v Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.ControlledPacked

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

Defined in Synthesizer.LLVM.Causal.ControlledPacked

type Input (Parameter a) v = v
type Input (Parameter a) v Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.Controlled

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

Defined in Synthesizer.LLVM.Causal.Controlled

type Output (Parameter a) v = v

c0 :: Parameter a -> a #

c1 :: Parameter a -> a #

c2 :: Parameter a -> a #

d1 :: Parameter a -> a #

d2 :: Parameter a -> a #

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

Deprecated: only for testing, use Universal or Moog filter for production code

type ParameterStruct a = Struct (a, (a, (a, (a, (a, ()))))) Source #

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

causal :: (a ~ Scalar v, PseudoModule v, IntegerConstant a, C v) => T (Parameter a, v) v Source #

causalPacked :: (Write v, Element v ~ a, C v, C a, IntegerConstant v, IntegerConstant a, PseudoRing v, PseudoRing a) => T (Parameter a, v) v Source #

Vector size must be at least D2.

Orphan instances

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

Associated Types

type Registers (Parameter a) :: Type #

Methods

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

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

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

Associated Types

type Registers (State a) :: Type #

Methods

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

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

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

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

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

Associated Types

type Struct (Parameter a) :: Type #

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

Associated Types

type Struct (State a) :: Type #

Methods

load :: Value (Ptr (Struct (State a))) -> CodeGenFunction r (State a) #

store :: State a -> Value (Ptr (Struct (State a))) -> CodeGenFunction r () #

decompose :: Value (Struct (State a)) -> CodeGenFunction r (State a) #

compose :: State a -> CodeGenFunction r (Value (Struct (State a))) #

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

Associated Types

type Repr (Parameter a) :: Type #

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

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

Associated Types

type ValueOf (Parameter a) :: Type #

Methods

valueOf :: Parameter a -> ValueOf (Parameter a) #

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

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

Methods

phi :: BasicBlock -> State a -> CodeGenFunction r (State a) #

addPhi :: BasicBlock -> State a -> State a -> CodeGenFunction r () #

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

Methods

undef :: Parameter a #

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

Methods

undef :: State a #

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

Associated Types

type MultiValuesOf (Parameter e) :: Type #

type ExpressionsOf (Parameter mv) :: Type #

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

Associated Types

type MultiValuesOf (State e) :: Type #

type ExpressionsOf (State mv) :: Type #

Methods

bundle :: State e -> CodeGenFunction r (State mv) #

dissect :: State mv -> State e #