packages feed

approx-rand-test 0.0.3 → 0.0.4

raw patch · 4 files changed

+55/−73 lines, 4 filesdep ~mtldep ~textdep ~transformersPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: mtl, text, transformers

API changes (from Hackage documentation)

Files

approx-rand-test.cabal view
@@ -1,5 +1,5 @@ Name:          approx-rand-test-Version:       0.0.3+Version:       0.0.4 License:       OtherLicense License-file:  LICENSE Copyright:     Copyright 2012 Daniël de Kok@@ -19,7 +19,7 @@ Source-Repository this   Type:     git   Location: git://github.com/danieldk/approx-rand-test.git-  Tag:      0.0.3+  Tag:      0.0.4  Library   HS-Source-Dirs:  src@@ -28,16 +28,17 @@   Build-Depends:   base >= 4 && < 5, vector == 0.9.*,                    mersenne-random-pure64 == 0.2.0.*,                    monad-mersenne-random == 0.1,-                   mtl == 2.0.1.*, statistics == 0.10.1.*,-                   transformers == 0.2.2.*+                   mtl == 2.1.*, statistics == 0.10.1.*,+                   transformers == 0.3.*   Executable approx_rand_test   Main-Is:        approx-rand-test.hs+  Other-Modules:  SampleIO   HS-Source-Dirs: utils   Ghc-Options:    -O2 -Wall   Build-Depends:  base >= 4 && < 5, approx-rand-test,-                  conduit == 0.4.*, text == 0.11.1.*,+                  conduit == 0.4.*, text == 0.11.2.*,                   vector == 0.9.*,                   mersenne-random-pure64 == 0.2.0.*,                   monad-mersenne-random == 0.1,@@ -47,14 +48,15 @@  Executable approx_rand_test_paired   Main-Is:        approx-rand-test-paired.hs+  Other-Modules:  SampleIO   HS-Source-Dirs: utils   Ghc-Options:    -O2 -Wall   Build-Depends:  base >= 4 && < 5, approx-rand-test,-                  conduit == 0.4.*, text == 0.11.1.*,+                  conduit == 0.4.*, text == 0.11.2.*,                   vector == 0.9.*,                   mersenne-random-pure64 == 0.2.0.*,                   monad-mersenne-random == 0.1,-                  mtl == 2.0.1.*, resourcet == 0.3.*,+                  mtl == 2.1.*, resourcet == 0.3.*,                   statistics == 0.10.1.*  Test-Suite tests
+ utils/SampleIO.hs view
@@ -0,0 +1,40 @@+{-# LANGUAGE DeriveDataTypeable #-}++module SampleIO +(+  readFileCol+) where++import           Control.Exception.Base (Exception)+import           Control.Monad (liftM)+import           Data.Conduit (($$), ($=)) +import qualified Data.Conduit as C+import qualified Data.Conduit.Binary as CB+import qualified Data.Conduit.List as CL+import qualified Data.Conduit.Text as CT+import qualified Data.Text as T+import qualified Data.Text.Read as TR+import           Data.Typeable (Typeable)++data ReadException =+  DoubleConversionException String+  deriving (Show, Typeable)++instance Exception ReadException++readFileCol :: String -> Int -> IO [Double]+readFileCol fn col =+  liftM reverse $ C.runResourceT (+    CB.sourceFile fn $=+    CB.lines $=+    CT.decode CT.utf8 $=+    CL.map (T.split (== ' ')) $=+    CL.map (!! col) $=+    toDouble $$+    CL.consume )++toDouble :: C.MonadThrow m => C.Conduit T.Text m Double+toDouble = CL.mapM $ \v ->+  case TR.double v of+    Left err     -> C.monadThrow $ DoubleConversionException err+    Right (d, _) -> return d
utils/approx-rand-test-paired.hs view
@@ -7,22 +7,13 @@ -- -- Approximate randomization test (Noreen, 1989) -{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE DoAndIfThenElse #-} -import           Control.Exception.Base (Exception)+module Main where+ import           Control.Monad (liftM, when) import           Control.Monad.Error (runErrorT) import           Control.Monad.Mersenne.Random (evalRandom)-import           Data.Conduit (($$), ($=)) -import qualified Data.Conduit as C-import qualified Data.Conduit.Binary as CB-import qualified Data.Conduit.List as CL-import qualified Data.Conduit.Text as CT-import qualified Data.Text as T-import qualified Data.Text.Read as TR-import           Data.Typeable (Typeable) import qualified Data.Vector.Unboxed as V import           Data.Word (Word64) import           Statistics.Test.ApproxRand@@ -34,28 +25,7 @@ import           System.Random.Mersenne.Pure64 (PureMT, newPureMT, pureMT) import           Text.Printf (printf) -data ReadException =-  DoubleConversionException String-  deriving (Show, Typeable)--instance Exception ReadException--readFileCol :: String -> Int -> IO [Double]-readFileCol fn col =-  liftM reverse $ C.runResourceT (-    CB.sourceFile fn $=-    CB.lines $=-    CT.decode CT.utf8 $=-    CL.map (T.split (== ' ')) $=-    CL.map (!! col) $=-    toDouble $$-    CL.consume )--toDouble :: C.MonadThrow m => C.Conduit T.Text m Double-toDouble = CL.mapM $ \v ->-  case TR.double v of-    Left err     -> C.monadThrow $ DoubleConversionException err-    Right (d, _) -> return d+import           SampleIO  main :: IO () main = do
utils/approx-rand-test.hs view
@@ -7,21 +7,12 @@ -- -- Approximate randomization test (Noreen, 1989) -{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE DoAndIfThenElse #-} -import           Control.Exception.Base (Exception)+module Main where+ import           Control.Monad (liftM, when) import           Control.Monad.Mersenne.Random (evalRandom)-import           Data.Conduit (($$), ($=)) -import qualified Data.Conduit as C-import qualified Data.Conduit.Binary as CB-import qualified Data.Conduit.List as CL-import qualified Data.Conduit.Text as CT-import qualified Data.Text as T-import qualified Data.Text.Read as TR-import           Data.Typeable (Typeable) import qualified Data.Vector.Unboxed as V import           Data.Word (Word64) import           Statistics.Test.ApproxRand@@ -33,28 +24,7 @@ import           System.Random.Mersenne.Pure64 (PureMT, newPureMT, pureMT) import           Text.Printf (printf) -data ReadException =-  DoubleConversionException String-  deriving (Show, Typeable)--instance Exception ReadException--readFileCol :: String -> Int -> IO [Double]-readFileCol fn col =-  liftM reverse $ C.runResourceT (-    CB.sourceFile fn $=-    CB.lines $=-    CT.decode CT.utf8 $=-    CL.map (T.split (== ' ')) $=-    CL.map (!! col) $=-    toDouble $$-    CL.consume )--toDouble :: C.MonadThrow m => C.Conduit T.Text m Double-toDouble = CL.mapM $ \v ->-  case TR.double v of-    Left err     -> C.monadThrow $ DoubleConversionException err-    Right (d, _) -> return d+import           SampleIO  main :: IO () main = do