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

Safe HaskellNone
LanguageHaskell98

Synthesizer.LLVM.Causal.ControlledPacked

Description

This is like Synthesizer.LLVM.CausalExp.Controlled but for vectorised signals.

Synopsis
  • class (Output parameter a ~ b, Input parameter b ~ a) => C parameter a b where
  • processCtrlRate :: (C parameter av bv, C parameter, Read av, n ~ Size av, Write bv, n ~ Size bv) => (C r, RationalConstant r, Field r, Comparison r) => Exp r -> (Exp r -> T parameter) -> T av bv

Documentation

class (Output parameter a ~ b, Input parameter b ~ a) => C parameter a b where Source #

A filter parameter type uniquely selects a filter function. However it does not uniquely determine the input and output type, since the same filter can run on mono and stereo signals.

Associated Types

type Output parameter a Source #

type Input parameter b Source #

Methods

process :: T (parameter, a) b Source #

Instances
(Write v, Element v ~ a, PseudoRing a, IntegerConstant a, C a, PseudoRing v, IntegerConstant 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 #

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

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

Defined in Synthesizer.LLVM.Causal.ControlledPacked

Associated Types

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

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

Methods

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

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

Defined in Synthesizer.LLVM.Causal.ControlledPacked

Associated Types

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

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

Methods

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

(Natural n, Write v, Element v ~ b, C b, Phi a, Undefined a, Aggregate ae a, Aggregate be b, C ae be) => C (Parameter n a) v v Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.ControlledPacked

Associated Types

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

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

Methods

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

(Natural n, Write v, Element v ~ a, PseudoRing a, IntegerConstant a, C a, PseudoRing v, RationalConstant v) => C (CascadeParameter n a) v v Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.ControlledPacked

Associated Types

type Output (CascadeParameter n a) v :: Type Source #

type Input (CascadeParameter n a) v :: Type Source #

Methods

process :: T (CascadeParameter n a, v) v Source #

(Write v, Element v ~ T a, C v, PseudoRing v, IntegerConstant v, C a, PseudoRing a, IntegerConstant a, Positive (n :*: UnknownSize), Natural n) => C (ParameterValue n a) v v Source # 
Instance details

Defined in Synthesizer.LLVM.Causal.ControlledPacked

Associated Types

type Output (ParameterValue n a) v :: Type Source #

type Input (ParameterValue n a) v :: Type Source #

Methods

process :: T (ParameterValue n a, v) v Source #

processCtrlRate :: (C parameter av bv, C parameter, Read av, n ~ Size av, Write bv, n ~ Size bv) => (C r, RationalConstant r, Field r, Comparison r) => Exp r -> (Exp r -> T parameter) -> T av bv Source #