packages feed

matrix-market-attoparsec 0.1.0.0 → 0.1.0.1

raw patch · 4 files changed

+31/−11 lines, 4 filesdep −vectorPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

Dependencies removed: vector

API changes (from Hackage documentation)

+ Data.Matrix.MatrixMarket: Array :: Format
+ Data.Matrix.MatrixMarket: CArray :: (Int, Int) -> Structure -> [Complex a] -> Array a
+ Data.Matrix.MatrixMarket: CMatrix :: (Int, Int) -> Int -> Structure -> [(Int, Int, Complex a)] -> Matrix a
+ Data.Matrix.MatrixMarket: Coordinate :: Format
+ Data.Matrix.MatrixMarket: General :: Structure
+ Data.Matrix.MatrixMarket: Hermitian :: Structure
+ Data.Matrix.MatrixMarket: IntMatrix :: (Int, Int) -> Int -> Structure -> [(Int32, Int32, Int)] -> Matrix a
+ Data.Matrix.MatrixMarket: PatternMatrix :: (Int, Int) -> Int -> Structure -> [(Int32, Int32)] -> Matrix a
+ Data.Matrix.MatrixMarket: RArray :: (Int, Int) -> Structure -> [a] -> Array a
+ Data.Matrix.MatrixMarket: RMatrix :: (Int, Int) -> Int -> Structure -> [(Int, Int, a)] -> Matrix a
+ Data.Matrix.MatrixMarket: Skew :: Structure
+ Data.Matrix.MatrixMarket: Symmetric :: Structure
+ Data.Matrix.MatrixMarket: data Array a
+ Data.Matrix.MatrixMarket: data Format
+ Data.Matrix.MatrixMarket: data Matrix a
+ Data.Matrix.MatrixMarket: data Structure
+ Data.Matrix.MatrixMarket: dim :: Matrix t -> (Int, Int)
+ Data.Matrix.MatrixMarket: dimArr :: Array t -> (Int, Int)
+ Data.Matrix.MatrixMarket: nnz :: Matrix t -> Int
+ Data.Matrix.MatrixMarket: numDat :: Matrix t -> Int
+ Data.Matrix.MatrixMarket: numDatArr :: Array a -> Int
+ Data.Matrix.MatrixMarket: readArray :: FilePath -> IO (Array Scientific)
+ Data.Matrix.MatrixMarket: readMatrix :: FilePath -> IO (Matrix Scientific)
+ Data.Matrix.MatrixMarket: writeArray :: Show a => FilePath -> Array a -> IO ()
+ Data.Matrix.MatrixMarket: writeMatrix :: Show b => FilePath -> Matrix b -> IO ()

Files

matrix-market-attoparsec.cabal view
@@ -1,5 +1,5 @@ name:                matrix-market-attoparsec-version:             0.1.0.0+version:             0.1.0.1 synopsis:            Attoparsec parsers for the NIST Matrix Market format description:         Please see README.md homepage:            https://github.com/ocramz/matrix-market-attoparsec@@ -29,10 +29,8 @@   build-depends:       attoparsec  >= 0.10                      , base        >= 4.7 && < 5                      , bytestring  >= 0.9-                     , directory                      , exceptions                      , scientific  >= 0.3.4.9-                     , vector      >= 0.7  -- executable matrix-market-attoparsec --   default-language:    Haskell2010
src/Data/Matrix/MatrixMarket.hs view
@@ -1,3 +1,25 @@-module Data.Matrix.MatrixMarket (module M) where+-----------------------------------------------------------------------------+-- |+-- Module      :  Data.Matrix.MatrixMarket+-- Copyright   :  (c) Marco Zocca 2017+-- License     :  GPL-3 (see the file LICENSE)+--+-- Maintainer  :  zocca marco gmail+-- Stability   :  experimental+-- Portability :  portable+--+-- Attoparsec parser and serializer for the NIST MatrixMarket format. The parser logic originally appeared in `accelerate-examples` and it is reused here (courtesy of T.McDonell and the `accelerate` developers) with some amendments.+-- +-- In this version:+-- *) Numbers are represented with Scientific notation instead of floating point+-- *) Parsing rules are a bit relaxed to accommodate various whitespace corner cases+--+-----------------------------------------------------------------------------+module Data.Matrix.MatrixMarket (module M, readMatrix, readArray,+        writeMatrix, writeArray,+        Matrix(..), Array(..),+        Format (Coordinate, Array), Structure (General, Symmetric, Hermitian, Skew),+        nnz, dim, numDat,+        dimArr, numDatArr) where  import Data.Matrix.MatrixMarket.Internal as M
src/Data/Matrix/MatrixMarket/Internal.hs view
@@ -3,7 +3,7 @@ -- | -- Module      :  Data.Matrix.MatrixMarket.Internal -- Copyright   :  (c) Marco Zocca 2017--- License     :  GPL-style (see the file LICENSE)+-- License     :  GPL-3 (see the file LICENSE) -- -- Maintainer  :  zocca marco gmail -- Stability   :  experimental@@ -33,7 +33,7 @@ import Data.Complex import qualified Data.Scientific as S import Data.Attoparsec.ByteString.Char8 hiding (I)-import qualified Data.ByteString as BS+-- import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy.Char8 as B import qualified Data.Attoparsec.Lazy           as L import qualified Data.ByteString.Lazy           as L@@ -309,10 +309,11 @@  -- | String -> ByteString -- NB: do not abuse-toBS :: String -> BS.ByteString-toBS x = BS.pack $ (toEnum . C.ord) <$> x+-- toBS :: String -> BS.ByteString+-- toBS x = BS.pack $ (toEnum . C.ord) <$> x  -- | String -> lazy ByteString+-- NB: do not abuse toLBS :: String -> L.ByteString toLBS x = L.pack $ (toEnum . C.ord) <$> x 
test/LibSpec.hs view
@@ -1,10 +1,9 @@ module LibSpec where -import Control.Exception import System.Directory (removeFile)  import Test.Hspec-import Test.Hspec.QuickCheck+-- import Test.Hspec.QuickCheck  import Data.Matrix.MatrixMarket @@ -42,7 +41,7 @@   (m,n) = dimArr mm   d = m*n -+dataDir :: String dataDir = "data"  roundTrip :: Format -> FilePath -> IO ()