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

Safe HaskellNone
LanguageHaskell98

Synthesizer.LLVM.Server.Common

Documentation

newtype SampleRate a Source #

Constructors

SampleRate a 
Instances
Functor SampleRate Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Methods

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

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

Applicative SampleRate Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Methods

pure :: a -> SampleRate a #

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

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

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

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

Foldable SampleRate Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Methods

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

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

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

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

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

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

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

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

toList :: SampleRate a -> [a] #

null :: SampleRate a -> Bool #

length :: SampleRate a -> Int #

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

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

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

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

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

Traversable SampleRate Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Methods

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

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

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

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

a ~ b => Wrapped a (SampleRate b -> f) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

type Unwrapped (SampleRate b -> f) :: Type Source #

Methods

wrapped :: (SampleRate b -> f) -> SampleRate a -> Unwrapped (SampleRate b -> f) Source #

Show a => Show (SampleRate a) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

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

Defined in Synthesizer.LLVM.Server.Common

Methods

pack :: SampleRate a -> Struct (SampleRate a)

unpack :: Struct (SampleRate a) -> SampleRate a

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

Defined in Synthesizer.LLVM.Server.Common

Associated Types

type Repr (SampleRate a) :: Type

Methods

cons :: SampleRate a -> T (SampleRate a)

undef :: T (SampleRate a)

zero :: T (SampleRate a)

phi :: BasicBlock -> T (SampleRate a) -> CodeGenFunction r (T (SampleRate a))

addPhi :: BasicBlock -> T (SampleRate a) -> T (SampleRate a) -> CodeGenFunction r ()

RunArg a => RunArg (SampleRate a) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

type DSLArg (SampleRate a) :: Type Source #

Methods

buildArg :: T (SampleRate a) (DSLArg (SampleRate a))

type Repr (SampleRate a) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

type Repr (SampleRate a) = Repr a
type DSLArg (SampleRate a) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

type Unwrapped (SampleRate b -> f) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

type Unwrapped (SampleRate b -> f) = f

type Instrument a sig = SampleRate a -> Instrument a sig Source #

($+) :: (SampleRate a -> b -> c) -> (c -> SampleRate a -> d) -> SampleRate a -> b -> d infixr 0 Source #

constant :: (SampleRate a -> b -> c) -> b -> (c -> SampleRate a -> d) -> SampleRate a -> d Source #

($++) :: (SampleRate a -> b -> c, b) -> (c -> SampleRate a -> d) -> SampleRate a -> d infixr 0 Source #

frequency :: C a => SampleRate a -> a -> a Source #

time :: C a => SampleRate a -> a -> a Source #

noiseReference :: C a => SampleRate a -> a -> a Source #

number :: SampleRate a -> a -> a Source #

class Quantity quantity a where Source #

Associated Types

data Arg quantity a Source #

Methods

eval :: SampleRate a -> a -> Arg quantity a Source #

Instances
C a => Quantity Time a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

data Arg Time a :: Type Source #

Methods

eval :: SampleRate a -> a -> Arg Time a Source #

C a => Quantity Frequency a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

data Arg Frequency a :: Type Source #

Methods

eval :: SampleRate a -> a -> Arg Frequency a Source #

Quantity Number a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

data Arg Number a :: Type Source #

Methods

eval :: SampleRate a -> a -> Arg Number a Source #

data Frequency Source #

Instances
C a => Quantity Frequency a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

data Arg Frequency a :: Type Source #

Methods

eval :: SampleRate a -> a -> Arg Frequency a Source #

data Arg Frequency a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

data Time Source #

Instances
C a => Quantity Time a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

data Arg Time a :: Type Source #

Methods

eval :: SampleRate a -> a -> Arg Time a Source #

data Arg Time a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

data Arg Time a = Time a

data Number Source #

Instances
Quantity Number a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

data Arg Number a :: Type Source #

Methods

eval :: SampleRate a -> a -> Arg Number a Source #

data Arg Number a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

data Arg Number a = Number a

class Input signal a where Source #

Associated Types

data InputArg signal a Source #

type InputSource signal a Source #

Methods

evalInput :: SampleRate a -> InputSource signal a -> InputArg signal a Source #

Instances
Input (Signal b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

data InputArg (Signal b) a :: Type Source #

type InputSource (Signal b) a :: Type Source #

Input (Control b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

data InputArg (Control b) a :: Type Source #

type InputSource (Control b) a :: Type Source #

Input (Parameter b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

data InputArg (Parameter b) a :: Type Source #

type InputSource (Parameter b) a :: Type Source #

(a ~ Exp b, Field b, RationalConstant b) => Input (DetuneModulation b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Packed.Instrument

Associated Types

data InputArg (DetuneModulation b) a :: Type Source #

type InputSource (DetuneModulation b) a :: Type Source #

(a ~ Exp b, Field b, RationalConstant b) => Input (Modulation b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Packed.Instrument

Associated Types

data InputArg (Modulation b) a :: Type Source #

type InputSource (Modulation b) a :: Type Source #

(a ~ Exp b, Field b, RationalConstant b) => Input (FrequencyControl b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Packed.Instrument

Associated Types

data InputArg (FrequencyControl b) a :: Type Source #

type InputSource (FrequencyControl b) a :: Type Source #

data Parameter b Source #

Instances
Input (Parameter b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

data InputArg (Parameter b) a :: Type Source #

type InputSource (Parameter b) a :: Type Source #

data InputArg (Parameter b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

type InputSource (Parameter b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

type InputSource (Parameter b) a = b

data Control b Source #

Instances
Input (Control b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

data InputArg (Control b) a :: Type Source #

type InputSource (Control b) a :: Type Source #

data InputArg (Control b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

data InputArg (Control b) a = Control (T b)
type InputSource (Control b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

type InputSource (Control b) a = T b

data Signal b Source #

Instances
Input (Signal b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

data InputArg (Signal b) a :: Type Source #

type InputSource (Signal b) a :: Type Source #

data InputArg (Signal b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

data InputArg (Signal b) a = Signal (T b)
type InputSource (Signal b) a Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

type InputSource (Signal b) a = T b

class ArgTuple a tuple where Source #

Associated Types

type ArgPlain tuple Source #

Methods

evalTuple :: SampleRate a -> ArgPlain tuple -> tuple Source #

Instances
(ArgTuple a b, ArgTuple a c) => ArgTuple a (b, c) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

type ArgPlain (b, c) :: Type Source #

Methods

evalTuple :: SampleRate a -> ArgPlain (b, c) -> (b, c) Source #

(Input signal b, a ~ b) => ArgTuple a (InputArg signal b) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

type ArgPlain (InputArg signal b) :: Type Source #

Methods

evalTuple :: SampleRate a -> ArgPlain (InputArg signal b) -> InputArg signal b Source #

(Quantity quantity b, a ~ b) => ArgTuple a (Arg quantity b) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

type ArgPlain (Arg quantity b) :: Type Source #

Methods

evalTuple :: SampleRate a -> ArgPlain (Arg quantity b) -> Arg quantity b Source #

(ArgTuple a b, ArgTuple a c, ArgTuple a d) => ArgTuple a (b, c, d) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

type ArgPlain (b, c, d) :: Type Source #

Methods

evalTuple :: SampleRate a -> ArgPlain (b, c, d) -> (b, c, d) Source #

class Wrapped a f where Source #

Associated Types

type Unwrapped f Source #

Methods

wrapped :: f -> SampleRate a -> Unwrapped f Source #

Instances
(ArgTuple a b, ArgTuple a c, ArgTuple a d, Wrapped a f) => Wrapped a ((b, c, d) -> f) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

type Unwrapped ((b, c, d) -> f) :: Type Source #

Methods

wrapped :: ((b, c, d) -> f) -> SampleRate a -> Unwrapped ((b, c, d) -> f) Source #

(ArgTuple a b, ArgTuple a c, Wrapped a f) => Wrapped a ((b, c) -> f) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

type Unwrapped ((b, c) -> f) :: Type Source #

Methods

wrapped :: ((b, c) -> f) -> SampleRate a -> Unwrapped ((b, c) -> f) Source #

(a ~ b, Input signal b, Wrapped a f) => Wrapped a (InputArg signal b -> f) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

type Unwrapped (InputArg signal b -> f) :: Type Source #

Methods

wrapped :: (InputArg signal b -> f) -> SampleRate a -> Unwrapped (InputArg signal b -> f) Source #

(a ~ b, Quantity quantity b, Wrapped a f) => Wrapped a (Arg quantity b -> f) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

type Unwrapped (Arg quantity b -> f) :: Type Source #

Methods

wrapped :: (Arg quantity b -> f) -> SampleRate a -> Unwrapped (Arg quantity b -> f) Source #

a ~ b => Wrapped a (SampleRate b -> f) Source # 
Instance details

Defined in Synthesizer.LLVM.Server.Common

Associated Types

type Unwrapped (SampleRate b -> f) :: Type Source #

Methods

wrapped :: (SampleRate b -> f) -> SampleRate a -> Unwrapped (SampleRate b -> f) Source #

($/) :: Functor f => f (a -> b) -> a -> f b Source #

piecewiseConstant :: C a => T (T a) -> T a Source #

transposeModulation :: (C a, Aggregate a am) => SampleRate a -> a -> T (T (T am)) -> T (T (T am)) Source #

pioApply :: (Storable a, Storable b) => T (Vector a) (Vector b) -> Vector a -> Vector b Source #

pioApplyCont :: (Storable a, Storable b) => (Vector a -> Vector b) -> T (Vector a) (Vector b) -> Vector a -> Vector b Source #