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 +9/−7
- utils/SampleIO.hs +40/−0
- utils/approx-rand-test-paired.hs +3/−33
- utils/approx-rand-test.hs +3/−33
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