packages feed

synthesizer-dimensional 0.8.0.2 → 0.8.1

raw patch · 3 files changed

+39/−4 lines, 3 filesdep +semigroups

Dependencies added: semigroups

Files

src/Synthesizer/Dimensional/Amplitude/Control.hs view
@@ -13,13 +13,25 @@ module Synthesizer.Dimensional.Amplitude.Control (    -- * Primitives    constant, constantVector,++   -- * Piecewise constant+   piecewiseConstantGeneric,+   piecewiseConstantStorable,    ) where  import qualified Synthesizer.Dimensional.Signal.Private as SigA +import qualified Synthesizer.PiecewiseConstant.Signal as PC+import qualified Synthesizer.PiecewiseConstant.Generic as PCG+import qualified Synthesizer.PiecewiseConstant.Storable as PCSt+ import qualified Synthesizer.State.Control as Ctrl--- import qualified Synthesizer.State.Signal  as Sig +import qualified Synthesizer.Generic.Signal as SigG++import qualified Synthesizer.Storable.Signal as SigSt+import Foreign.Storable (Storable)+ import qualified Number.DimensionTerm        as DN import qualified Algebra.DimensionTerm       as Dim @@ -52,3 +64,20 @@    -> SigA.R s u y yv constantVector y yv =    SigA.fromBody y (Ctrl.constant yv)+++{-# INLINE piecewiseConstantGeneric #-}+piecewiseConstantGeneric ::+   (SigG.Write sig y) =>+   SigA.T rate amp (PC.T y) ->+   SigA.T rate amp (sig y)+piecewiseConstantGeneric =+   SigA.processBody PCG.toSignal++{-# INLINE piecewiseConstantStorable #-}+piecewiseConstantStorable ::+   (Storable y) =>+   SigA.T rate amp (PC.T y) ->+   SigA.T rate amp (SigSt.T y)+piecewiseConstantStorable =+   SigA.processBody PCSt.toSignal
src/Synthesizer/Dimensional/Rate/Dirac.hs view
@@ -10,6 +10,7 @@ import qualified Synthesizer.Dimensional.Rate as Rate  import qualified Data.Monoid as Mn+import qualified Data.Semigroup as Sg  import qualified Number.DimensionTerm        as DN import qualified Algebra.DimensionTerm       as Dim@@ -39,6 +40,9 @@ This type is so level that it could be moved to Synthesizer.Generic.Dirac. -} newtype T s sig = Cons {decons :: sig Bool}++instance Sg.Semigroup (sig Bool) => Sg.Semigroup (T s sig) where+   Cons x <> Cons y = Cons (x Sg.<> y)  instance Mn.Monoid (sig Bool) => Mn.Monoid (T s sig) where    mempty = Cons Mn.mempty
synthesizer-dimensional.cabal view
@@ -1,5 +1,5 @@ Name:           synthesizer-dimensional-Version:        0.8.0.2+Version:        0.8.1 License:        GPL License-File:   LICENSE Author:         Henning Thielemann <haskell@henning-thielemann.de>@@ -12,7 +12,7 @@    abstract from the sample rate in a statically type safe way. Stability:      Experimental Tested-With:    GHC==6.10.4, GHC==6.12.1, GHC==7.0.4, GHC==7.2.1-Cabal-Version:  >=1.14+Cabal-Version:  1.14 Build-Type:     Simple  Extra-Source-Files:@@ -33,7 +33,7 @@   Location:    http://code.haskell.org/synthesizer/dimensional/  Source-Repository this-  Tag:         0.8.0.2+  Tag:         0.8.1   Type:        darcs   Location:    http://code.haskell.org/synthesizer/dimensional/ @@ -41,6 +41,7 @@   Build-Depends:     synthesizer-core >=0.8.1 && <0.9,     transformers >=0.2 && <0.6,+    semigroups >=0.1 && <1.0,     event-list >=0.1 && <0.2,     non-negative >=0.1 && <0.2,     numeric-prelude >=0.3 && <0.5,@@ -152,6 +153,7 @@       event-list,       non-negative,       transformers,+      semigroups,       utility-ht,       random,       base