{-# LANGUAGE NoImplicitPrelude #-}
module Synthesizer.Plain.Filter.Recursive.Integration where
import qualified Synthesizer.Plain.Signal as Sig
import qualified Algebra.Additive as Additive
import NumericPrelude.Numeric
import NumericPrelude.Base
{-# INLINE run #-}
run :: Additive.C v => Sig.T v -> Sig.T v
run :: forall v. C v => T v -> T v
run = (v -> v -> v) -> [v] -> [v]
forall a. (a -> a -> a) -> [a] -> [a]
scanl1 v -> v -> v
forall a. C a => a -> a -> a
(+)
{-# INLINE runInit #-}
runInit :: Additive.C v => v -> Sig.T v -> Sig.T v
runInit :: forall v. C v => v -> T v -> T v
runInit = (v -> v -> v) -> v -> [v] -> [v]
forall b a. (b -> a -> b) -> b -> [a] -> [b]
scanl v -> v -> v
forall a. C a => a -> a -> a
(+)