module Synthesizer.Physical.Displacement where
import qualified Synthesizer.SampleRateContext.Displacement as MiscC
import qualified Synthesizer.Physical.Signal as SigP
import qualified Algebra.OccasionallyScalar as OccScalar
import qualified Algebra.Module as Module
import qualified Algebra.Field as Field
import qualified Algebra.Real as Real
import PreludeBase
import Prelude ()
mix :: (Eq t', Real.C y', Field.C y', Module.C y yv, OccScalar.C y y') =>
SigP.T t t' y y' yv
-> SigP.T t t' y y' yv
-> SigP.T t t' y y' yv
mix = SigP.lift2 MiscC.mix
mixMulti :: (Eq t', Real.C y', Field.C y', Module.C y yv, OccScalar.C y y') =>
[SigP.T t t' y y' yv]
-> SigP.T t t' y y' yv
mixMulti = SigP.liftList MiscC.mixMulti
raise :: (Eq t', Field.C y', Module.C y yv, OccScalar.C y y') =>
y'
-> yv
-> SigP.T t t' y y' yv
-> SigP.T t t' y y' yv
raise y' yv = SigP.lift1 (MiscC.raise y' yv)