csound-expression-5.0.0: library to make electronic music

Safe HaskellNone
LanguageHaskell98

Csound.SigSpace

Contents

Synopsis

Documentation

class SigSpace a where Source #

A class for easy way to process the outputs of the instruments.

Minimal complete definition

mapSig

Methods

mapSig :: (Sig -> Sig) -> a -> a Source #

Instances

SigSpace Sig Source # 

Methods

mapSig :: (Sig -> Sig) -> Sig -> Sig Source #

SigSpace (SE (Sig, Sig)) Source # 

Methods

mapSig :: (Sig -> Sig) -> SE (Sig, Sig) -> SE (Sig, Sig) Source #

SigSpace (SE (Sig, Sig, Sig)) Source # 

Methods

mapSig :: (Sig -> Sig) -> SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) Source #

SigSpace (SE (Sig, Sig, Sig, Sig)) Source # 

Methods

mapSig :: (Sig -> Sig) -> SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) Source #

SigSpace (SE Sig) Source # 

Methods

mapSig :: (Sig -> Sig) -> SE Sig -> SE Sig Source #

SigSpace a => SigSpace (Seg a) Source # 

Methods

mapSig :: (Sig -> Sig) -> Seg a -> Seg a Source #

SigSpace (Sig, Sig) Source # 

Methods

mapSig :: (Sig -> Sig) -> (Sig, Sig) -> (Sig, Sig) Source #

SigSpace a => SigSpace (Patch b a) Source # 

Methods

mapSig :: (Sig -> Sig) -> Patch b a -> Patch b a Source #

SigSpace (Sig, Sig, Sig) Source # 

Methods

mapSig :: (Sig -> Sig) -> (Sig, Sig, Sig) -> (Sig, Sig, Sig) Source #

SigSpace (Sig, Sig, Sig, Sig) Source # 

Methods

mapSig :: (Sig -> Sig) -> (Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig) Source #

class SigSpace a => BindSig a where Source #

A class for easy way to process the outputs of the instruments.

Minimal complete definition

bindSig

Methods

bindSig :: (Sig -> SE Sig) -> a -> SE a Source #

Instances

BindSig Sig Source # 

Methods

bindSig :: (Sig -> SE Sig) -> Sig -> SE Sig Source #

BindSig (SE (Sig, Sig)) Source # 

Methods

bindSig :: (Sig -> SE Sig) -> SE (Sig, Sig) -> SE (SE (Sig, Sig)) Source #

BindSig (SE (Sig, Sig, Sig)) Source # 

Methods

bindSig :: (Sig -> SE Sig) -> SE (Sig, Sig, Sig) -> SE (SE (Sig, Sig, Sig)) Source #

BindSig (SE (Sig, Sig, Sig, Sig)) Source # 

Methods

bindSig :: (Sig -> SE Sig) -> SE (Sig, Sig, Sig, Sig) -> SE (SE (Sig, Sig, Sig, Sig)) Source #

BindSig (SE Sig) Source # 

Methods

bindSig :: (Sig -> SE Sig) -> SE Sig -> SE (SE Sig) Source #

BindSig (Sig, Sig) Source # 

Methods

bindSig :: (Sig -> SE Sig) -> (Sig, Sig) -> SE (Sig, Sig) Source #

BindSig (Sig, Sig, Sig) Source # 

Methods

bindSig :: (Sig -> SE Sig) -> (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) Source #

BindSig (Sig, Sig, Sig, Sig) Source # 

Methods

bindSig :: (Sig -> SE Sig) -> (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) Source #

mul :: SigSpace a => Sig -> a -> a Source #

Scaling the sound.

on :: SigSpace a => Sig -> Sig -> a -> a Source #

Rescaling of the bipolar signal (-1, 1) -> (a, b)

on a b biSig

uon :: SigSpace a => Sig -> Sig -> a -> a Source #

Rescaling of the unipolar signal (0, 1) -> (a, b)

on a b uniSig

class SigSpace b => At a b c where Source #

Minimal complete definition

at

Associated Types

type AtOut a b c :: * Source #

Methods

at :: (a -> b) -> c -> AtOut a b c Source #

Instances

At Sig2 Sig2 Sig2 Source # 

Associated Types

type AtOut Sig2 Sig2 Sig2 :: * Source #

Methods

at :: (Sig2 -> Sig2) -> Sig2 -> AtOut Sig2 Sig2 Sig2 Source #

At Sig2 Sig2 Sig Source # 

Associated Types

type AtOut Sig2 Sig2 Sig :: * Source #

Methods

at :: (Sig2 -> Sig2) -> Sig -> AtOut Sig2 Sig2 Sig Source #

At Sig Sig2 Sig2 Source # 

Associated Types

type AtOut Sig Sig2 Sig2 :: * Source #

Methods

at :: (Sig -> Sig2) -> Sig2 -> AtOut Sig Sig2 Sig2 Source #

At Sig Sig2 Sig Source # 

Associated Types

type AtOut Sig Sig2 Sig :: * Source #

Methods

at :: (Sig -> Sig2) -> Sig -> AtOut Sig Sig2 Sig Source #

SigSpace a => At Sig Sig a Source # 

Associated Types

type AtOut Sig Sig a :: * Source #

Methods

at :: (Sig -> Sig) -> a -> AtOut Sig Sig a Source #

At Sig2 Sig2 (SE Sig2) Source # 

Associated Types

type AtOut Sig2 Sig2 (SE Sig2) :: * Source #

Methods

at :: (Sig2 -> Sig2) -> SE Sig2 -> AtOut Sig2 Sig2 (SE Sig2) Source #

At Sig2 Sig2 (SE Sig) Source # 

Associated Types

type AtOut Sig2 Sig2 (SE Sig) :: * Source #

Methods

at :: (Sig2 -> Sig2) -> SE Sig -> AtOut Sig2 Sig2 (SE Sig) Source #

At Sig Sig2 (SE Sig2) Source # 

Associated Types

type AtOut Sig Sig2 (SE Sig2) :: * Source #

Methods

at :: (Sig -> Sig2) -> SE Sig2 -> AtOut Sig Sig2 (SE Sig2) Source #

At Sig Sig2 (SE Sig) Source # 

Associated Types

type AtOut Sig Sig2 (SE Sig) :: * Source #

Methods

at :: (Sig -> Sig2) -> SE Sig -> AtOut Sig Sig2 (SE Sig) Source #

At Sig2 (SE Sig2) Sig2 Source # 

Associated Types

type AtOut Sig2 (SE Sig2) Sig2 :: * Source #

Methods

at :: (Sig2 -> SE Sig2) -> Sig2 -> AtOut Sig2 (SE Sig2) Sig2 Source #

At Sig2 (SE Sig2) Sig Source # 

Associated Types

type AtOut Sig2 (SE Sig2) Sig :: * Source #

Methods

at :: (Sig2 -> SE Sig2) -> Sig -> AtOut Sig2 (SE Sig2) Sig Source #

At Sig (SE Sig) Sig2 Source # 

Associated Types

type AtOut Sig (SE Sig) Sig2 :: * Source #

Methods

at :: (Sig -> SE Sig) -> Sig2 -> AtOut Sig (SE Sig) Sig2 Source #

At Sig (SE Sig) Sig3 Source # 

Associated Types

type AtOut Sig (SE Sig) Sig3 :: * Source #

Methods

at :: (Sig -> SE Sig) -> Sig3 -> AtOut Sig (SE Sig) Sig3 Source #

At Sig (SE Sig) Sig4 Source # 

Associated Types

type AtOut Sig (SE Sig) Sig4 :: * Source #

Methods

at :: (Sig -> SE Sig) -> Sig4 -> AtOut Sig (SE Sig) Sig4 Source #

At Sig (SE Sig) Sig Source # 

Associated Types

type AtOut Sig (SE Sig) Sig :: * Source #

Methods

at :: (Sig -> SE Sig) -> Sig -> AtOut Sig (SE Sig) Sig Source #

At Sig2 (SE Sig2) (SE Sig2) Source # 

Associated Types

type AtOut Sig2 (SE Sig2) (SE Sig2) :: * Source #

Methods

at :: (Sig2 -> SE Sig2) -> SE Sig2 -> AtOut Sig2 (SE Sig2) (SE Sig2) Source #

At Sig2 (SE Sig2) (SE Sig) Source # 

Associated Types

type AtOut Sig2 (SE Sig2) (SE Sig) :: * Source #

Methods

at :: (Sig2 -> SE Sig2) -> SE Sig -> AtOut Sig2 (SE Sig2) (SE Sig) Source #

At Sig (SE Sig) (SE Sig2) Source # 

Associated Types

type AtOut Sig (SE Sig) (SE Sig2) :: * Source #

Methods

at :: (Sig -> SE Sig) -> SE Sig2 -> AtOut Sig (SE Sig) (SE Sig2) Source #

At Sig (SE Sig) (SE Sig3) Source # 

Associated Types

type AtOut Sig (SE Sig) (SE Sig3) :: * Source #

Methods

at :: (Sig -> SE Sig) -> SE Sig3 -> AtOut Sig (SE Sig) (SE Sig3) Source #

At Sig (SE Sig) (SE Sig4) Source # 

Associated Types

type AtOut Sig (SE Sig) (SE Sig4) :: * Source #

Methods

at :: (Sig -> SE Sig) -> SE Sig4 -> AtOut Sig (SE Sig) (SE Sig4) Source #

At Sig (SE Sig) (SE Sig) Source # 

Associated Types

type AtOut Sig (SE Sig) (SE Sig) :: * Source #

Methods

at :: (Sig -> SE Sig) -> SE Sig -> AtOut Sig (SE Sig) (SE Sig) Source #

class (SigSpace b, At a b c) => MixAt a b c where Source #

It applies an effect and mixes the processed signal with original one. The first argument is for proportion of drywet (originalprocessed). It's like at but it allows to balance processed signal with original one.

Minimal complete definition

mixAt

Methods

mixAt :: Sig -> (a -> b) -> c -> AtOut a b c Source #

Instances

MixAt Sig2 Sig2 Sig2 Source # 

Methods

mixAt :: Sig -> (Sig2 -> Sig2) -> Sig2 -> AtOut Sig2 Sig2 Sig2 Source #

MixAt Sig2 Sig2 Sig Source # 

Methods

mixAt :: Sig -> (Sig2 -> Sig2) -> Sig -> AtOut Sig2 Sig2 Sig Source #

MixAt Sig Sig2 Sig2 Source # 

Methods

mixAt :: Sig -> (Sig -> Sig2) -> Sig2 -> AtOut Sig Sig2 Sig2 Source #

MixAt Sig Sig2 Sig Source # 

Methods

mixAt :: Sig -> (Sig -> Sig2) -> Sig -> AtOut Sig Sig2 Sig Source #

SigSpace a => MixAt Sig Sig a Source # 

Methods

mixAt :: Sig -> (Sig -> Sig) -> a -> AtOut Sig Sig a Source #

MixAt Sig2 Sig2 (SE Sig2) Source # 

Methods

mixAt :: Sig -> (Sig2 -> Sig2) -> SE Sig2 -> AtOut Sig2 Sig2 (SE Sig2) Source #

MixAt Sig2 Sig2 (SE Sig) Source # 

Methods

mixAt :: Sig -> (Sig2 -> Sig2) -> SE Sig -> AtOut Sig2 Sig2 (SE Sig) Source #

MixAt Sig Sig2 (SE Sig2) Source # 

Methods

mixAt :: Sig -> (Sig -> Sig2) -> SE Sig2 -> AtOut Sig Sig2 (SE Sig2) Source #

MixAt Sig Sig2 (SE Sig) Source # 

Methods

mixAt :: Sig -> (Sig -> Sig2) -> SE Sig -> AtOut Sig Sig2 (SE Sig) Source #

MixAt Sig2 (SE Sig2) Sig2 Source # 

Methods

mixAt :: Sig -> (Sig2 -> SE Sig2) -> Sig2 -> AtOut Sig2 (SE Sig2) Sig2 Source #

MixAt Sig2 (SE Sig2) Sig Source # 

Methods

mixAt :: Sig -> (Sig2 -> SE Sig2) -> Sig -> AtOut Sig2 (SE Sig2) Sig Source #

MixAt Sig (SE Sig) Sig2 Source # 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> Sig2 -> AtOut Sig (SE Sig) Sig2 Source #

MixAt Sig (SE Sig) Sig3 Source # 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> Sig3 -> AtOut Sig (SE Sig) Sig3 Source #

MixAt Sig (SE Sig) Sig4 Source # 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> Sig4 -> AtOut Sig (SE Sig) Sig4 Source #

MixAt Sig (SE Sig) Sig Source # 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> Sig -> AtOut Sig (SE Sig) Sig Source #

MixAt Sig2 (SE Sig2) (SE Sig2) Source # 

Methods

mixAt :: Sig -> (Sig2 -> SE Sig2) -> SE Sig2 -> AtOut Sig2 (SE Sig2) (SE Sig2) Source #

MixAt Sig2 (SE Sig2) (SE Sig) Source # 

Methods

mixAt :: Sig -> (Sig2 -> SE Sig2) -> SE Sig -> AtOut Sig2 (SE Sig2) (SE Sig) Source #

MixAt Sig (SE Sig) (SE Sig2) Source # 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> SE Sig2 -> AtOut Sig (SE Sig) (SE Sig2) Source #

MixAt Sig (SE Sig) (SE Sig3) Source # 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> SE Sig3 -> AtOut Sig (SE Sig) (SE Sig3) Source #

MixAt Sig (SE Sig) (SE Sig4) Source # 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> SE Sig4 -> AtOut Sig (SE Sig) (SE Sig4) Source #

MixAt Sig (SE Sig) (SE Sig) Source # 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> SE Sig -> AtOut Sig (SE Sig) (SE Sig) Source #

bat :: At Sig a b => (Sig -> a) -> b -> AtOut Sig a b Source #

It applies an effect and balances the processed signal by original one.

bmixAt :: MixAt Sig a b => Sig -> (Sig -> a) -> b -> AtOut Sig a b Source #

It applies an effect and balances the processed signal by original one. Also it applies an effect and mixes the processed balanced signal with original one.

cfd :: (Num a, SigSpace a) => Sig -> a -> a -> a Source #

Crossfade.

cfd coeff sig1 sig2

If coeff equals 0 then we get the first signal and if it equals 1 we get the second signal.

cfd4 :: (Num a, SigSpace a) => Sig -> Sig -> a -> a -> a -> a -> a Source #

Bilinear interpolation for four signals. The signals are placed in the corners of the unit square. The first two signals are the xy coordinates in the square.

cfd4 x y a b c d
  • (0, 0) is for a
  • (1, 0) is for b
  • (1, 1) is for c
  • (0, 1) is for d

cfds :: (Num a, SigSpace a) => [Sig] -> [a] -> a Source #

Generic crossfade for n coefficients and n+1 signals.

cfds coeffs sigs

cfdSpec :: Sig -> Spec -> Spec -> Spec Source #

Spectral crossfade.

cfdSpec4 :: Sig -> Sig -> Spec -> Spec -> Spec -> Spec -> Spec Source #

Spectral bilinear crossfade (see cfd4).

cfdsSpec :: [Sig] -> [Spec] -> Spec Source #

Generic spectral crossfade.

wsum :: (Num a, SigSpace a) => [(Sig, a)] -> a Source #

Weighted sum.

Orphan instances

Fractional (SE (Sig, Sig)) Source # 

Methods

(/) :: SE (Sig, Sig) -> SE (Sig, Sig) -> SE (Sig, Sig) #

recip :: SE (Sig, Sig) -> SE (Sig, Sig) #

fromRational :: Rational -> SE (Sig, Sig) #

Fractional (SE (Sig, Sig, Sig)) Source # 

Methods

(/) :: SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) #

recip :: SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) #

fromRational :: Rational -> SE (Sig, Sig, Sig) #

Fractional (SE (Sig, Sig, Sig, Sig)) Source # 

Methods

(/) :: SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) #

recip :: SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) #

fromRational :: Rational -> SE (Sig, Sig, Sig, Sig) #

Fractional (SE Sig) Source # 

Methods

(/) :: SE Sig -> SE Sig -> SE Sig #

recip :: SE Sig -> SE Sig #

fromRational :: Rational -> SE Sig #

Num (SE (Sig, Sig)) Source # 

Methods

(+) :: SE (Sig, Sig) -> SE (Sig, Sig) -> SE (Sig, Sig) #

(-) :: SE (Sig, Sig) -> SE (Sig, Sig) -> SE (Sig, Sig) #

(*) :: SE (Sig, Sig) -> SE (Sig, Sig) -> SE (Sig, Sig) #

negate :: SE (Sig, Sig) -> SE (Sig, Sig) #

abs :: SE (Sig, Sig) -> SE (Sig, Sig) #

signum :: SE (Sig, Sig) -> SE (Sig, Sig) #

fromInteger :: Integer -> SE (Sig, Sig) #

Num (SE (Sig, Sig, Sig)) Source # 

Methods

(+) :: SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) #

(-) :: SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) #

(*) :: SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) #

negate :: SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) #

abs :: SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) #

signum :: SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) #

fromInteger :: Integer -> SE (Sig, Sig, Sig) #

Num (SE (Sig, Sig, Sig, Sig)) Source # 

Methods

(+) :: SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) #

(-) :: SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) #

(*) :: SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) #

negate :: SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) #

abs :: SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) #

signum :: SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) #

fromInteger :: Integer -> SE (Sig, Sig, Sig, Sig) #

Num (SE Sig) Source # 

Methods

(+) :: SE Sig -> SE Sig -> SE Sig #

(-) :: SE Sig -> SE Sig -> SE Sig #

(*) :: SE Sig -> SE Sig -> SE Sig #

negate :: SE Sig -> SE Sig #

abs :: SE Sig -> SE Sig #

signum :: SE Sig -> SE Sig #

fromInteger :: Integer -> SE Sig #

Fractional (a -> (Sig, Sig, Sig, Sig)) Source # 

Methods

(/) :: (a -> (Sig, Sig, Sig, Sig)) -> (a -> (Sig, Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig, Sig) #

recip :: (a -> (Sig, Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig, Sig) #

fromRational :: Rational -> a -> (Sig, Sig, Sig, Sig) #

Fractional (a -> (Sig, Sig, Sig)) Source # 

Methods

(/) :: (a -> (Sig, Sig, Sig)) -> (a -> (Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig) #

recip :: (a -> (Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig) #

fromRational :: Rational -> a -> (Sig, Sig, Sig) #

Fractional (a -> (Sig, Sig)) Source # 

Methods

(/) :: (a -> (Sig, Sig)) -> (a -> (Sig, Sig)) -> a -> (Sig, Sig) #

recip :: (a -> (Sig, Sig)) -> a -> (Sig, Sig) #

fromRational :: Rational -> a -> (Sig, Sig) #

Fractional (a -> Sig) Source # 

Methods

(/) :: (a -> Sig) -> (a -> Sig) -> a -> Sig #

recip :: (a -> Sig) -> a -> Sig #

fromRational :: Rational -> a -> Sig #

Fractional (a -> SE (Sig, Sig, Sig, Sig)) Source # 

Methods

(/) :: (a -> SE (Sig, Sig, Sig, Sig)) -> (a -> SE (Sig, Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig, Sig) #

recip :: (a -> SE (Sig, Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig, Sig) #

fromRational :: Rational -> a -> SE (Sig, Sig, Sig, Sig) #

Fractional (a -> SE (Sig, Sig, Sig)) Source # 

Methods

(/) :: (a -> SE (Sig, Sig, Sig)) -> (a -> SE (Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig) #

recip :: (a -> SE (Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig) #

fromRational :: Rational -> a -> SE (Sig, Sig, Sig) #

Fractional (a -> SE (Sig, Sig)) Source # 

Methods

(/) :: (a -> SE (Sig, Sig)) -> (a -> SE (Sig, Sig)) -> a -> SE (Sig, Sig) #

recip :: (a -> SE (Sig, Sig)) -> a -> SE (Sig, Sig) #

fromRational :: Rational -> a -> SE (Sig, Sig) #

Fractional (a -> SE Sig) Source # 

Methods

(/) :: (a -> SE Sig) -> (a -> SE Sig) -> a -> SE Sig #

recip :: (a -> SE Sig) -> a -> SE Sig #

fromRational :: Rational -> a -> SE Sig #

Fractional (Sig, Sig) Source # 

Methods

(/) :: (Sig, Sig) -> (Sig, Sig) -> (Sig, Sig) #

recip :: (Sig, Sig) -> (Sig, Sig) #

fromRational :: Rational -> (Sig, Sig) #

Num (a -> SE (Sig, Sig, Sig, Sig)) Source # 

Methods

(+) :: (a -> SE (Sig, Sig, Sig, Sig)) -> (a -> SE (Sig, Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig, Sig) #

(-) :: (a -> SE (Sig, Sig, Sig, Sig)) -> (a -> SE (Sig, Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig, Sig) #

(*) :: (a -> SE (Sig, Sig, Sig, Sig)) -> (a -> SE (Sig, Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig, Sig) #

negate :: (a -> SE (Sig, Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig, Sig) #

abs :: (a -> SE (Sig, Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig, Sig) #

signum :: (a -> SE (Sig, Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig, Sig) #

fromInteger :: Integer -> a -> SE (Sig, Sig, Sig, Sig) #

Num (a -> SE (Sig, Sig, Sig)) Source # 

Methods

(+) :: (a -> SE (Sig, Sig, Sig)) -> (a -> SE (Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig) #

(-) :: (a -> SE (Sig, Sig, Sig)) -> (a -> SE (Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig) #

(*) :: (a -> SE (Sig, Sig, Sig)) -> (a -> SE (Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig) #

negate :: (a -> SE (Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig) #

abs :: (a -> SE (Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig) #

signum :: (a -> SE (Sig, Sig, Sig)) -> a -> SE (Sig, Sig, Sig) #

fromInteger :: Integer -> a -> SE (Sig, Sig, Sig) #

Num (a -> SE (Sig, Sig)) Source # 

Methods

(+) :: (a -> SE (Sig, Sig)) -> (a -> SE (Sig, Sig)) -> a -> SE (Sig, Sig) #

(-) :: (a -> SE (Sig, Sig)) -> (a -> SE (Sig, Sig)) -> a -> SE (Sig, Sig) #

(*) :: (a -> SE (Sig, Sig)) -> (a -> SE (Sig, Sig)) -> a -> SE (Sig, Sig) #

negate :: (a -> SE (Sig, Sig)) -> a -> SE (Sig, Sig) #

abs :: (a -> SE (Sig, Sig)) -> a -> SE (Sig, Sig) #

signum :: (a -> SE (Sig, Sig)) -> a -> SE (Sig, Sig) #

fromInteger :: Integer -> a -> SE (Sig, Sig) #

Num (a -> SE Sig) Source # 

Methods

(+) :: (a -> SE Sig) -> (a -> SE Sig) -> a -> SE Sig #

(-) :: (a -> SE Sig) -> (a -> SE Sig) -> a -> SE Sig #

(*) :: (a -> SE Sig) -> (a -> SE Sig) -> a -> SE Sig #

negate :: (a -> SE Sig) -> a -> SE Sig #

abs :: (a -> SE Sig) -> a -> SE Sig #

signum :: (a -> SE Sig) -> a -> SE Sig #

fromInteger :: Integer -> a -> SE Sig #

Num (a -> (Sig, Sig, Sig, Sig)) Source # 

Methods

(+) :: (a -> (Sig, Sig, Sig, Sig)) -> (a -> (Sig, Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig, Sig) #

(-) :: (a -> (Sig, Sig, Sig, Sig)) -> (a -> (Sig, Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig, Sig) #

(*) :: (a -> (Sig, Sig, Sig, Sig)) -> (a -> (Sig, Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig, Sig) #

negate :: (a -> (Sig, Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig, Sig) #

abs :: (a -> (Sig, Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig, Sig) #

signum :: (a -> (Sig, Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig, Sig) #

fromInteger :: Integer -> a -> (Sig, Sig, Sig, Sig) #

Num (a -> (Sig, Sig, Sig)) Source # 

Methods

(+) :: (a -> (Sig, Sig, Sig)) -> (a -> (Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig) #

(-) :: (a -> (Sig, Sig, Sig)) -> (a -> (Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig) #

(*) :: (a -> (Sig, Sig, Sig)) -> (a -> (Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig) #

negate :: (a -> (Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig) #

abs :: (a -> (Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig) #

signum :: (a -> (Sig, Sig, Sig)) -> a -> (Sig, Sig, Sig) #

fromInteger :: Integer -> a -> (Sig, Sig, Sig) #

Num (a -> (Sig, Sig)) Source # 

Methods

(+) :: (a -> (Sig, Sig)) -> (a -> (Sig, Sig)) -> a -> (Sig, Sig) #

(-) :: (a -> (Sig, Sig)) -> (a -> (Sig, Sig)) -> a -> (Sig, Sig) #

(*) :: (a -> (Sig, Sig)) -> (a -> (Sig, Sig)) -> a -> (Sig, Sig) #

negate :: (a -> (Sig, Sig)) -> a -> (Sig, Sig) #

abs :: (a -> (Sig, Sig)) -> a -> (Sig, Sig) #

signum :: (a -> (Sig, Sig)) -> a -> (Sig, Sig) #

fromInteger :: Integer -> a -> (Sig, Sig) #

Num (a -> Sig) Source # 

Methods

(+) :: (a -> Sig) -> (a -> Sig) -> a -> Sig #

(-) :: (a -> Sig) -> (a -> Sig) -> a -> Sig #

(*) :: (a -> Sig) -> (a -> Sig) -> a -> Sig #

negate :: (a -> Sig) -> a -> Sig #

abs :: (a -> Sig) -> a -> Sig #

signum :: (a -> Sig) -> a -> Sig #

fromInteger :: Integer -> a -> Sig #

Fractional (Sig, Sig, Sig) Source # 

Methods

(/) :: (Sig, Sig, Sig) -> (Sig, Sig, Sig) -> (Sig, Sig, Sig) #

recip :: (Sig, Sig, Sig) -> (Sig, Sig, Sig) #

fromRational :: Rational -> (Sig, Sig, Sig) #

Fractional (Sig, Sig, Sig, Sig) Source # 

Methods

(/) :: (Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig) #

recip :: (Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig) #

fromRational :: Rational -> (Sig, Sig, Sig, Sig) #