packages feed

hsignal 0.1.3.2 → 0.1.3.3

raw patch · 5 files changed

+20/−16 lines, 5 filesdep ~hmatrix-gsl-statsdep ~hstatisticsdep ~mtlPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: hmatrix-gsl-stats, hstatistics, mtl

API changes (from Hackage documentation)

- Numeric.Signal: analytic_power :: (Filterable a) => Vector (Complex Double) -> Vector a
+ Numeric.Signal: analytic_power :: Filterable a => Vector (Complex Double) -> Vector a
- Numeric.Signal: convolve :: (Convolvable a) => a -> a -> a
+ Numeric.Signal: convolve :: Convolvable a => a -> a -> a
- Numeric.Signal: deriv :: (Filterable a) => Vector a -> Vector a
+ Numeric.Signal: deriv :: Filterable a => Vector a -> Vector a
- Numeric.Signal: downsample :: (Filterable a) => Int -> Vector a -> Vector a
+ Numeric.Signal: downsample :: Filterable a => Int -> Vector a -> Vector a
- Numeric.Signal: filter :: (Filterable a) => Vector a -> Vector a -> Int -> Vector a -> Vector a
+ Numeric.Signal: filter :: Filterable a => Vector a -> Vector a -> Int -> Vector a -> Vector a
- Numeric.Signal: hamming :: (Filterable a) => Int -> Vector a
+ Numeric.Signal: hamming :: Filterable a => Int -> Vector a
- Numeric.Signal: resize :: (Filterable a) => Int -> Vector a -> Vector a
+ Numeric.Signal: resize :: Filterable a => Int -> Vector a -> Vector a
- Numeric.Signal: unwrap :: (Filterable a) => Vector a -> Vector a
+ Numeric.Signal: unwrap :: Filterable a => Vector a -> Vector a
- Numeric.Signal.Multichannel: createMultichannel :: (Storable a) => Int -> Int -> [Vector a] -> Multichannel a
+ Numeric.Signal.Multichannel: createMultichannel :: Storable a => Int -> Int -> [Vector a] -> Multichannel a
- Numeric.Signal.Multichannel: mapConcurrently :: (Storable b) => (Vector a -> Vector b) -> Multichannel a -> Multichannel b
+ Numeric.Signal.Multichannel: mapConcurrently :: Storable b => (Vector a -> Vector b) -> Multichannel a -> Multichannel b
- Numeric.Signal.Multichannel: slice :: (Storable a) => Int -> Int -> Multichannel a -> Multichannel a
+ Numeric.Signal.Multichannel: slice :: Storable a => Int -> Int -> Multichannel a -> Multichannel a
- Numeric.Signal.Multichannel: toMatrix :: (Element a) => Multichannel a -> Matrix a
+ Numeric.Signal.Multichannel: toMatrix :: Element a => Multichannel a -> Matrix a

Files

CHANGES view
@@ -57,3 +57,6 @@  0.1.3.2: 		remove unicode symbols++0.1.3.3:+		updated to reflect change in mtl > 2
hsignal.cabal view
@@ -1,7 +1,8 @@ Name:               hsignal-Version:            0.1.3.2+Version:            0.1.3.3 License:            BSD3 License-file:       LICENSE+Copyright:          (c) A.V.H. McPhail 2010, 2011 Author:             Vivian McPhail Maintainer:         haskell.vivian.mcphail <at> gmail <dot> com Stability:          provisional@@ -17,7 +18,7 @@      .      Feature requests, suggestions, and bug fixes welcome. Category:           Math-tested-with:        GHC ==6.12.1+tested-with:        GHC ==7.0.1  cabal-version:      >=1.8 @@ -33,12 +34,12 @@ library      Build-Depends:      base >= 4 && < 5,-                        mtl, +                        mtl > 2,                          array,                         bytestring, storable-complex, binary,                         hmatrix >= 0.10.0.0,-                        hmatrix-gsl-stats >= 0.1.2.6,-                        hstatistics >= 0.2.2.5+                        hmatrix-gsl-stats >= 0.1.2.9,+                        hstatistics >= 0.2.2.7      Extensions:         ForeignFunctionInterface 
lib/Numeric/Signal/EEG.hs view
@@ -1,4 +1,3 @@-{-# OPTIONS_GHC -fglasgow-exts #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Numeric.Signal.EEG
lib/Numeric/Signal/EEG/BDF.hs view
@@ -1,4 +1,3 @@-{-# OPTIONS_GHC -fglasgow-exts #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Numeric.Signal.EEG.BDF
lib/Numeric/Signal/Multichannel.hs view
@@ -1,5 +1,7 @@-{-# OPTIONS_GHC -fglasgow-exts #-}-{-# OPTIONS_GHC -XUndecidableInstances #-}+{-# LANGUAGE UndecidableInstances,+             FlexibleContexts,+             TypeFamilies,+             ScopedTypeVariables #-} ----------------------------------------------------------------------------- -- | -- Module      :  Numeric.Signal.Multichannel@@ -38,6 +40,8 @@ import qualified Data.Array.IArray as I import Data.Ix +--import Data.Word+ import Control.Concurrent --import Control.Concurrent.MVar @@ -108,9 +112,7 @@                               put $! fmap convert d         where convert v = let (mi,ma) = (minElement v,maxElement v)                               v' = mapVector (\x -> round $ (x - mi)/(ma - mi) * (fromIntegral (maxBound :: Word32))) v-                          in (mi,ma,(v' :: Vector Word32)) --+                          in (mi,ma,v' :: Vector Word32)       get = do           s <- get@@ -119,9 +121,9 @@           l <- get           de <- get           f <- get-          d <- (get :: Get (I.Array Int (a,a,Vector Word32)))+          (d :: I.Array Int (a,a,Vector Word32)) <- get           return $! (MC s p c l de f (seq d (fmap convert) d))-              where convert (mi,ma,v) = mapVector (\x -> ((fromIntegral x) :: a) / (fromIntegral (maxBound :: Word32)) * (ma - mi) + mi) v+              where convert (mi,ma,v) = mapVector (\x -> ((fromIntegral x)) / (fromIntegral (maxBound :: Word32)) * (ma - mi) + mi) v  ----------------------------------------------------------------------------- @@ -235,7 +237,7 @@   -- | filter the data with the given passband-filter :: (S.Filterable a, Double ~ DoubleOf a, Container Vector (Complex a), Convert (Complex a)) ⇒ +filter :: (S.Filterable a, Double ~ DoubleOf a, Container Vector (Complex a), Convert (Complex a)) =>           (Int,Int) -> Multichannel a -> Multichannel a filter pb m = let m' = mapConcurrently (S.broadband_filter (_sampling_rate m) pb) m               in m' { _filtered = Just pb }@@ -254,7 +256,7 @@ -----------------------------------------------------------------------------  -- | calculate the mutual information of the phase between pairs of channels (fills upper half of matrix)-mi_phase :: (S.Filterable a, Double ~ DoubleOf a) ⇒+mi_phase :: (S.Filterable a, Double ~ DoubleOf a) =>            Multichannel a      -- ^ input data          -> Matrix Double mi_phase m = let d = fmap double $ _data m