massiv 0.5.3.1 → 0.5.3.2
raw patch · 4 files changed
+11/−9 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +2/−0
- massiv.cabal +1/−1
- src/Data/Massiv/Array/Delayed/Windowed.hs +7/−7
- tests/doctests.hs +1/−1
CHANGELOG.md view
@@ -4,6 +4,8 @@ * Relax argument of `snoc` and `cons` constraint to `Load` vectors * Improve `unsnocM` and `unconsM` by switching to `unsafeLinearSlice`, instead of delaying the array.+* Fix parallelization for windowed array when computed with stride+* Fix massiv doctests not being able to find massiv.h under NixOS # 0.5.2
massiv.cabal view
@@ -1,5 +1,5 @@ name: massiv-version: 0.5.3.1+version: 0.5.3.2 synopsis: Massiv (Массив) is an Array Library. description: Multi-dimensional Arrays with fusion, stencils and parallel computation. homepage: https://github.com/lehins/massiv
src/Data/Massiv/Array/Delayed/Windowed.hs view
@@ -312,13 +312,13 @@ with $ iterM_ (strideStart stride (ib :. 0)) (m :. n) strideIx (<) writeB with $ iterM_ (strideStart stride (it :. 0)) (ib :. jt) strideIx (<) writeB with $ iterM_ (strideStart stride (it :. jb)) (ib :. n) strideIx (<) writeB- f <-- if is > 1 || blockHeight <= 1 -- Turn off unrolling for vertical strides- then return $ \(it' :. ib') ->- iterM_ (strideStart stride (it' :. jt)) (ib' :. jb) strideIx (<) writeW- else return $ \(it' :. ib') ->- unrollAndJam blockHeight (strideStart stride (it' :. jt)) (ib' :. jb) js writeW- return (f, it :. ib)+ let f (it' :. ib')+ | is > 1 || blockHeight <= 1 -- Turn off unrolling for vertical strides+ = iterM_ (strideStart stride (it' :. jt)) (ib' :. jb) strideIx (<) writeW+ | otherwise =+ unrollAndJam blockHeight (strideStart stride (it' :. jt)) (ib' :. jb) js writeW+ {-# INLINE f #-}+ return (with . f, it :. ib) {-# INLINE loadArrayWithIx2 #-}
tests/doctests.hs view
@@ -3,4 +3,4 @@ import Test.DocTest (doctest) main :: IO ()-main = doctest ["src"]+main = doctest ["-Iinclude","src"]