hblas 0.3.1.0 → 0.3.1.1
raw patch · 6 files changed
+26/−11 lines, 6 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- changelog.md +10/−1
- hblas.cabal +1/−1
- readme.md +3/−3
- src/Numerical/HBLAS/BLAS/Internal.hs +4/−4
- src/Numerical/HBLAS/MatrixTypes.hs +1/−1
- tests/MainUnit.hs +7/−1
changelog.md view
@@ -1,8 +1,17 @@+#0.3.1.1+release, bug fixes in show and improved tests, thanks to tomas musil for catching them +# 0.3.1.0+Improved type exports and getting started docs thanks to Stephen Diehl ++#0.3.0.0++the first useful release+ # PRE-RELEASE version 0.2.0.0 * Support for all BLAS operations defined on General Dense matrices,-both row and column major. +both row and column major. * general dense linear and least squares solvers from LAPACK. Simple Drivers. # version 0.1.0.0
hblas.cabal view
@@ -10,7 +10,7 @@ -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change-version: 0.3.1.0+version: 0.3.1.1 -- A short (one-line) description of the package. synopsis: Human friendly BLAS and Lapack bindings for Haskell.
readme.md view
@@ -51,11 +51,11 @@ ``` ## Linking-If you get an error like `undefined reference to `cblas_sdsdot'` when building or running an HBLAS program,+If you get an error like `undefined reference to 'cblas_sdsdot'` when building or running an HBLAS program, you might be on a system that builds BLAS and CBLAS separately, such as Arch Linux. -In which case, be sure to install CBLAS, and also `cabal configure`/ `cabal install` HBLAS-with the `-fCBLAS` flag.+In which case, be sure to install CBLAS and invoke `cabal install hblas -fCBLAS`+to make sure `hblas` links to CBLAS properly. ## Usage
src/Numerical/HBLAS/BLAS/Internal.hs view
@@ -135,12 +135,12 @@ do (axNew,_) <- return $ coordSwapper tra (ax,ay) --- dont need to swap b, info is in a and c --- c doesn't get implicitly transposed- blasOrder <- return $ encodeNiceOrder ornta -- all three are the same orientation- rawTra <- return $ encodeFFITranspose tra- rawTrb <- return $ encodeFFITranspose trb+ let blasOrder = encodeNiceOrder ornta -- all three are the same orientation+ let rawTra = encodeFFITranspose tra+ let rawTrb = encodeFFITranspose trb -- example of why i want to switch to singletones unsafePrimToPrim $! (if shouldCallFast cy cx axNew then gemmUnsafeFFI else gemmSafeFFI )- blasOrder rawTra rawTrb (fromIntegral cy) (fromIntegral cx) (fromIntegral ax)+ blasOrder rawTra rawTrb (fromIntegral cy) (fromIntegral cx) (fromIntegral axNew) alphaPtr ap (fromIntegral astride) bp (fromIntegral bstride) betaPtr cp (fromIntegral cstride)
src/Numerical/HBLAS/MatrixTypes.hs view
@@ -199,7 +199,7 @@ instance (Show el,SM.Storable el )=> Show (DenseMatrix Column el) where show mat@(DenseMatrix SColumn xdim ydim stride buffer)- | stride == xdim = "DenseMatrix SColumn " ++ " " ++show xdim ++ " " ++ show ydim ++ " " ++ show stride ++ "(" ++ show buffer ++ ")"+ | stride == ydim = "DenseMatrix SColumn " ++ " " ++show xdim ++ " " ++ show ydim ++ " " ++ show stride ++ "(" ++ show buffer ++ ")" | otherwise = show $ mapDenseMatrix id mat -- | 'MDenseMatrix'
tests/MainUnit.hs view
@@ -5,6 +5,8 @@ import UnitBLAS.Level2 import UnitBLAS.Level3 +import UnitMatrixTypes.DenseMatrix+ import Test.Tasty --import Test.Tasty.SmallCheck as SC --import Test.Tasty.QuickCheck as QC@@ -16,8 +18,12 @@ main = defaultMain tests tests :: TestTree-tests = testGroup "BLAS Unit Tests" [unitTestLevel1BLAS, unitTestLevel2BLAS, unitTestLevel3BLAS] -- [unitTestShape] -- , unitTestLayout ]+tests = testGroup "All tests" [blasTests, matrixTypesTest] +blasTests :: TestTree+blasTests = testGroup "BLAS Unit Tests" [unitTestLevel1BLAS, unitTestLevel2BLAS, unitTestLevel3BLAS] -- [unitTestShape] -- , unitTestLayout ]++matrixTypesTest = testGroup "Matrix types tests" [unitTestDenseMatrix] --unitTests = testGroup "Unit tests" -- [ testCase "List comparison (different length)" $