hsc3-0.16: Haskell SuperCollider

Safe HaskellSafe
LanguageHaskell98

Sound.SC3.UGen.Math

Description

Non-standard mathematical classes and class instances.

Synopsis

Documentation

dinf :: UGen Source #

Pseudo-infinite constant UGen.

sc3_true :: Num n => n Source #

True is conventionally 1. The test to determine true is > 0.

sc3_false :: Num n => n Source #

False is conventionally 0.

sc3_not :: (Ord n, Num n) => n -> n Source #

Lifted not.

sc3_not sc3_true == sc3_false
sc3_not sc3_false == sc3_true

sc3_bool :: Num n => Bool -> n Source #

Translate Bool to sc3_true and sc3_false.

sc3_comparison :: Num n => (n -> n -> Bool) -> n -> n -> n Source #

Lift comparison function.

sc3_eq :: (Num n, Eq n) => n -> n -> n Source #

Lifted ==.

sc3_neq :: (Num n, Eq n) => n -> n -> n Source #

Lifted /=.

sc3_lt :: (Num n, Ord n) => n -> n -> n Source #

Lifted <.

sc3_lte :: (Num n, Ord n) => n -> n -> n Source #

Lifted <=.

sc3_gt :: (Num n, Ord n) => n -> n -> n Source #

Lifted >.

sc3_gte :: (Num n, Ord n) => n -> n -> n Source #

Lifted >=.

binop_hs_tbl :: (Real n, Floating n, RealFrac n) => [(Binary, n -> n -> n)] Source #

Association table for Binary to haskell function implementing operator.

uop_hs_tbl :: (RealFrac n, Floating n) => [(Unary, n -> n)] Source #

Association table for Unary to haskell function implementing operator.

class (Eq a, Num a) => EqE a where Source #

Variant on Eq class, result is of the same type as the values compared.

Methods

(==*) :: a -> a -> a Source #

(/=*) :: a -> a -> a Source #

class (Ord a, Num a) => OrdE a where Source #

Variant on Ord class, result is of the same type as the values compared.

Methods

(<*) :: a -> a -> a Source #

(<=*) :: a -> a -> a Source #

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

(>=*) :: a -> a -> a Source #

class (Floating a, Ord a) => UnaryOp a where Source #

Unary operator class.

map (floor . (* 1e4) . dbAmp) [-90,-60,-30,0] == [0,10,316,10000]

Methods

ampDb :: a -> a Source #

asFloat :: a -> a Source #

asInt :: a -> a Source #

cpsMIDI :: a -> a Source #

cpsOct :: a -> a Source #

cubed :: a -> a Source #

dbAmp :: a -> a Source #

distort :: a -> a Source #

frac :: a -> a Source #

isNil :: a -> a Source #

log10 :: a -> a Source #

log2 :: a -> a Source #

midiCPS :: a -> a Source #

midiRatio :: a -> a Source #

notE :: a -> a Source #

notNil :: a -> a Source #

octCPS :: a -> a Source #

ramp_ :: a -> a Source #

ratioMIDI :: a -> a Source #

softClip :: a -> a Source #

squared :: a -> a Source #

Instances

UnaryOp Double Source # 
UnaryOp Float Source # 
UnaryOp UGen Source # 

class (Floating a, RealFrac a, Ord a) => BinaryOp a where Source #

Binary operator class.

Methods

absDif :: a -> a -> a Source #

amClip :: a -> a -> a Source #

atan2E :: a -> a -> a Source #

clip2 :: a -> a -> a Source #

difSqr :: a -> a -> a Source #

excess :: a -> a -> a Source #

exprandRange :: a -> a -> a Source #

fill :: a -> a -> a Source #

firstArg :: a -> a -> a Source #

fold2 :: a -> a -> a Source #

gcdE :: a -> a -> a Source #

hypot :: a -> a -> a Source #

hypotx :: a -> a -> a Source #

iDiv :: a -> a -> a Source #

lcmE :: a -> a -> a Source #

modE :: a -> a -> a Source #

randRange :: a -> a -> a Source #

ring1 :: a -> a -> a Source #

ring2 :: a -> a -> a Source #

ring3 :: a -> a -> a Source #

ring4 :: a -> a -> a Source #

roundUp :: a -> a -> a Source #

scaleNeg :: a -> a -> a Source #

sqrDif :: a -> a -> a Source #

sqrSum :: a -> a -> a Source #

sumSqr :: a -> a -> a Source #

thresh :: a -> a -> a Source #

trunc :: a -> a -> a Source #

wrap2 :: a -> a -> a Source #

Instances

BinaryOp Double Source # 
BinaryOp Float Source # 
BinaryOp UGen Source # 

class Num a => MulAdd a where Source #

MulAdd operator class.

Methods

mul_add :: a -> a -> a -> a Source #

linlin_ma :: (Fractional a, MulAdd a) => a -> a -> a -> a -> a -> a Source #

Map from one linear range to another linear range.

urange_ma :: (Fractional a, MulAdd a) => a -> a -> a -> a Source #

Scale uni-polar (0,1) input to linear (l,r) range

range_ma :: (Fractional a, MulAdd a) => a -> a -> a -> a Source #

Scale bi-polar (-1,1) input to linear (l,r) range. Note that the argument order is not the same as linLin.