{-# LANGUAGE NoImplicitPrelude #-}
module Synthesizer.Plain.Displacement where
import qualified Algebra.Additive as Additive
import qualified Synthesizer.Plain.Signal as Sig
import NumericPrelude.Numeric
import NumericPrelude.Base
mix :: (Additive.C v) => Sig.T v -> Sig.T v -> Sig.T v
mix :: forall v. C v => T v -> T v -> T v
mix = forall a. C a => a -> a -> a
(+)
mixMulti :: (Additive.C v) => [Sig.T v] -> Sig.T v
mixMulti :: forall v. C v => [T v] -> T v
mixMulti = forall (t :: * -> *) b a.
Foldable t =>
(b -> a -> b) -> b -> t a -> b
foldl forall v. C v => T v -> T v -> T v
mix forall a. C a => a
zero
raise :: (Additive.C v) => v -> Sig.T v -> Sig.T v
raise :: forall v. C v => v -> T v -> T v
raise v
x = forall a b. (a -> b) -> [a] -> [b]
map (forall a. C a => a -> a -> a
(+) v
x)
distort :: (c -> a -> a) -> Sig.T c -> Sig.T a -> Sig.T a
distort :: forall c a. (c -> a -> a) -> T c -> T a -> T a
distort = forall a b c. (a -> b -> c) -> [a] -> [b] -> [c]
zipWith