Safe Haskell | Safe-Inferred |
---|
Sound.SC3.UGen.Math
Description
Non-standard mathematical classes and class instances.
- class EqE a where
- class OrdE a where
- class RealFracE a where
- properFractionE :: a -> (a, a)
- truncateE :: a -> a
- roundE :: a -> a
- ceilingE :: a -> a
- floorE :: a -> a
- truncatef :: RealFrac a => a -> a
- roundf :: RealFrac a => a -> a
- ceilingf :: RealFrac a => a -> a
- floorf :: RealFrac a => a -> a
- roundTo_ :: Double -> Double -> Double
- roundTo :: UGen -> UGen -> UGen
- ceil :: UGen -> UGen
- midiCPS' :: Floating a => a -> a
- class (Floating a, Ord a) => UnaryOp a where
- ampDb :: a -> a
- asFloat :: a -> a
- asInt :: a -> a
- cpsMIDI :: a -> a
- cpsOct :: a -> a
- cubed :: a -> a
- dbAmp :: a -> a
- distort :: a -> a
- frac :: a -> a
- isNil :: a -> a
- log10 :: a -> a
- log2 :: a -> a
- midiCPS :: a -> a
- midiRatio :: a -> a
- notE :: a -> a
- notNil :: a -> a
- octCPS :: a -> a
- ramp_ :: a -> a
- ratioMIDI :: a -> a
- softClip :: a -> a
- squared :: a -> a
- class (Floating a, Ord a) => BinaryOp a where
- absDif :: a -> a -> a
- amClip :: a -> a -> a
- atan2E :: a -> a -> a
- clip2 :: a -> a -> a
- difSqr :: a -> a -> a
- excess :: a -> a -> a
- exprandRange :: a -> a -> a
- fill :: a -> a -> a
- firstArg :: a -> a -> a
- fold2 :: a -> a -> a
- gcdE :: a -> a -> a
- hypot :: a -> a -> a
- hypotx :: a -> a -> a
- iDiv :: a -> a -> a
- lcmE :: a -> a -> a
- modE :: a -> a -> a
- randRange :: a -> a -> a
- ring1 :: a -> a -> a
- ring2 :: a -> a -> a
- ring3 :: a -> a -> a
- ring4 :: a -> a -> a
- roundUp :: a -> a -> a
- scaleNeg :: a -> a -> a
- sqrDif :: a -> a -> a
- sqrSum :: a -> a -> a
- sumSqr :: a -> a -> a
- thresh :: a -> a -> a
- trunc :: a -> a -> a
- wrap2 :: a -> a -> a
- fmod :: Double -> Double -> Double
- wrap' :: Double -> Double -> Double -> Double
- genericWrap :: (Ord a, Num a) => a -> a -> a -> a
- wrap_ :: Double -> Double -> Double -> Double
- foldToRange :: (Ord a, Num a) => a -> a -> a -> a
- fold_ :: (Ord a, Num a) => a -> a -> a -> a
- clip' :: Ord a => a -> a -> a -> a
- clip_ :: Ord a => a -> a -> a -> a
Documentation
Variant on Eq class, result is of the same type as the values compared.
Variant on Ord class, result is of the same type as the values compared.
Methods
Methods
properFractionE :: a -> (a, a)Source
class (Floating a, Ord a) => UnaryOp a whereSource
Unary operator class.
map (floor . (* 1e4) . dbAmp) [-90,-60,-30,0] == [0,10,316,10000]
Methods
class (Floating a, Ord a) => BinaryOp a whereSource
Binary operator class.
fmod :: Double -> Double -> DoubleSource
The SC3 %
operator is libc fmod function.
1.5 % 1.2 // ~= 0.3 -1.5 % 1.2 // ~= 0.9 1.5 % -1.2 // ~= -0.9 -1.5 % -1.2 // ~= -0.3
1.5 `fmod` 1.2 -- ~= 0.3 (-1.5) `fmod` 1.2 -- ~= 0.9 1.5 `fmod` (-1.2) -- ~= -0.9 (-1.5) `fmod` (-1.2) -- ~= -0.3
- 2 % 1.5 ~= 1.2 -1.2 % 1.5 ~= 0.3 1.2 % -1.5 ~= -0.3 -1.2 % -1.5 ~= -1.2
1.2 `fmod` 1.5 -- ~= 1.2 (-1.2) `fmod` 1.5 -- ~= 0.3 1.2 `fmod` (-1.5) -- ~= -0.3 (-1.2) `fmod` (-1.5) -- ~= -1.2
wrap' :: Double -> Double -> Double -> DoubleSource
Wrap k to within range (i,j), ie. AbstractFunction.wrap
.
map (wrap' 5 10) [3..12] == [8,9,5,6,7,8,9,10,6,7]
genericWrap :: (Ord a, Num a) => a -> a -> a -> aSource
Generic variant of wrap'
.
map (genericWrap (5::Integer) 10) [3..12] == [8,9,5,6,7,8,9,10,6,7]
wrap_ :: Double -> Double -> Double -> DoubleSource
Variant of wrap'
with SC3
argument ordering.
map (\n -> wrap_ n 5 10) [3..12] == map (wrap' 5 10) [3..12]
foldToRange :: (Ord a, Num a) => a -> a -> a -> aSource
Fold k to within range (i,j), ie. AbstractFunction.fold
map (foldToRange 5 10) [3..12] == [7,6,5,6,7,8,9,10,9,8]
fold_ :: (Ord a, Num a) => a -> a -> a -> aSource
Variant of foldToRange
with SC3
argument ordering.