hsc3-0.17: 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.

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.

Minimal complete definition

Nothing

Methods

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

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

Instances
EqE Double Source # 
Instance details

Defined in Sound.SC3.UGen.Math

EqE Float Source # 
Instance details

Defined in Sound.SC3.UGen.Math

EqE Int Source # 
Instance details

Defined in Sound.SC3.UGen.Math

Methods

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

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

EqE Int32 Source # 
Instance details

Defined in Sound.SC3.UGen.Math

EqE Int64 Source # 
Instance details

Defined in Sound.SC3.UGen.Math

EqE Integer Source # 
Instance details

Defined in Sound.SC3.UGen.Math

EqE UGen Source # 
Instance details

Defined in Sound.SC3.UGen.Math

Methods

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

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

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

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

Minimal complete definition

Nothing

Methods

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

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

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

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

Instances
OrdE Double Source # 
Instance details

Defined in Sound.SC3.UGen.Math

OrdE Float Source # 
Instance details

Defined in Sound.SC3.UGen.Math

OrdE Int Source # 
Instance details

Defined in Sound.SC3.UGen.Math

Methods

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

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

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

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

OrdE Int32 Source # 
Instance details

Defined in Sound.SC3.UGen.Math

OrdE Int64 Source # 
Instance details

Defined in Sound.SC3.UGen.Math

OrdE Integer Source # 
Instance details

Defined in Sound.SC3.UGen.Math

OrdE UGen Source # 
Instance details

Defined in Sound.SC3.UGen.Math

Methods

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

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

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

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

class RealFrac a => RealFracE a where Source #

Variant of RealFrac with non Integral results.

Minimal complete definition

Nothing

Methods

properFractionE :: a -> (a, a) Source #

truncateE :: a -> a Source #

roundE :: a -> a Source #

ceilingE :: a -> a Source #

floorE :: 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]

Minimal complete definition

Nothing

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 # 
Instance details

Defined in Sound.SC3.UGen.Math

UnaryOp Float Source # 
Instance details

Defined in Sound.SC3.UGen.Math

UnaryOp UGen Source # 
Instance details

Defined in Sound.SC3.UGen.Math

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

Binary operator class.

Minimal complete definition

Nothing

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 # 
Instance details

Defined in Sound.SC3.UGen.Math

BinaryOp Float Source # 
Instance details

Defined in Sound.SC3.UGen.Math

BinaryOp UGen Source # 
Instance details

Defined in Sound.SC3.UGen.Math

class Num a => MulAdd a where Source #

MulAdd operator class.

Minimal complete definition

Nothing

Methods

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

Instances
MulAdd Double Source # 
Instance details

Defined in Sound.SC3.UGen.Math

MulAdd Float Source # 
Instance details

Defined in Sound.SC3.UGen.Math

Methods

mul_add :: Float -> Float -> Float -> Float Source #

MulAdd UGen Source # 
Instance details

Defined in Sound.SC3.UGen.Math

Methods

mul_add :: UGen -> UGen -> UGen -> UGen 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.