elerea-examples 2.2.2 → 2.2.3
raw patch · 2 files changed
+3/−3 lines, 2 files
Files
- elerea-examples.cabal +1/−1
- src/Bounce/Math.hs +2/−2
elerea-examples.cabal view
@@ -1,5 +1,5 @@ Name: elerea-examples-Version: 2.2.2+Version: 2.2.3 Cabal-Version: >= 1.2 Synopsis: Example applications for Elerea Category: reactivity, FRP
src/Bounce/Math.hs view
@@ -48,13 +48,13 @@ where t' = dt+t {-| Scalar moving average of a given number of recent samples. -}-movingAvg :: (Fractional a) => a -> Signal a -> SignalGen p (Signal a)+movingAvg :: (Eq a, Fractional a) => a -> Signal a -> SignalGen p (Signal a) movingAvg n s = do sig <- scanM n (delay 0) s return $ ((/n).sum) <$> sequence sig {-| Vector moving average of a given number of recent samples. -}-movingAvgV :: (Vector2D v c, Num c) => c -> Signal v -> SignalGen p (Signal v)+movingAvgV :: (Eq c, Vector2D v c, Num c) => c -> Signal v -> SignalGen p (Signal v) movingAvgV n s = do sig <- scanM n (delay vnull) s return $ ((^/.n).foldl1' (^+^)) <$> sequence sig