array-chunks 0.1.2.0 → 0.1.3.0
raw patch · 3 files changed
+83/−1 lines, 3 filesdep ~primitivePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: primitive
API changes (from Hackage documentation)
+ Data.Chunks: decupleton :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Chunks a
+ Data.Chunks: duodecupleton :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Chunks a
+ Data.Chunks: nonupleton :: a -> a -> a -> a -> a -> a -> a -> a -> a -> Chunks a
+ Data.Chunks: undecupleton :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Chunks a
Files
- CHANGELOG.md +4/−0
- array-chunks.cabal +1/−1
- src/Data/Chunks.hs +78/−0
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for array-chunks +## 0.1.3.0 -- 2021-02-04++* Add `nonupleton`, `decupleton`, `undecupleton`, `duodecupleton`.+ ## 0.1.2.0 -- 2020-11-18 * Add `index`.
array-chunks.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: array-chunks-version: 0.1.2.0+version: 0.1.3.0 synopsis: Lists of chunks description: Lists of chunks. This is similar to the Cons List provided
src/Data/Chunks.hs view
@@ -26,6 +26,10 @@ , sextupleton , septupleton , octupleton+ , nonupleton+ , decupleton+ , undecupleton+ , duodecupleton ) where import Prelude hiding (reverse,concat,null)@@ -383,5 +387,79 @@ PM.writeSmallArray dst 5 f PM.writeSmallArray dst 6 g PM.writeSmallArray dst 7 h+ PM.unsafeFreezeSmallArray dst+ ) ChunksNil++-- | Create chunks with 9 elements.+nonupleton :: a -> a -> a -> a -> a -> a -> a -> a -> a -> Chunks a+{-# inline nonupleton #-}+nonupleton a b c d e f g h i = ChunksCons+ ( runSmallArrayST $ do+ dst <- PM.newSmallArray 9 a+ PM.writeSmallArray dst 1 b+ PM.writeSmallArray dst 2 c+ PM.writeSmallArray dst 3 d+ PM.writeSmallArray dst 4 e+ PM.writeSmallArray dst 5 f+ PM.writeSmallArray dst 6 g+ PM.writeSmallArray dst 7 h+ PM.writeSmallArray dst 8 i+ PM.unsafeFreezeSmallArray dst+ ) ChunksNil++-- | Create chunks with 10 elements.+decupleton :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Chunks a+{-# inline decupleton #-}+decupleton a b c d e f g h i j = ChunksCons+ ( runSmallArrayST $ do+ dst <- PM.newSmallArray 10 a+ PM.writeSmallArray dst 1 b+ PM.writeSmallArray dst 2 c+ PM.writeSmallArray dst 3 d+ PM.writeSmallArray dst 4 e+ PM.writeSmallArray dst 5 f+ PM.writeSmallArray dst 6 g+ PM.writeSmallArray dst 7 h+ PM.writeSmallArray dst 8 i+ PM.writeSmallArray dst 9 j+ PM.unsafeFreezeSmallArray dst+ ) ChunksNil++-- | Create chunks with 11 elements.+undecupleton :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Chunks a+{-# inline undecupleton #-}+undecupleton a b c d e f g h i j k = ChunksCons+ ( runSmallArrayST $ do+ dst <- PM.newSmallArray 11 a+ PM.writeSmallArray dst 1 b+ PM.writeSmallArray dst 2 c+ PM.writeSmallArray dst 3 d+ PM.writeSmallArray dst 4 e+ PM.writeSmallArray dst 5 f+ PM.writeSmallArray dst 6 g+ PM.writeSmallArray dst 7 h+ PM.writeSmallArray dst 8 i+ PM.writeSmallArray dst 9 j+ PM.writeSmallArray dst 10 k+ PM.unsafeFreezeSmallArray dst+ ) ChunksNil++-- | Create chunks with 12 elements.+duodecupleton :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Chunks a+{-# inline duodecupleton #-}+duodecupleton a b c d e f g h i j k l = ChunksCons+ ( runSmallArrayST $ do+ dst <- PM.newSmallArray 12 a+ PM.writeSmallArray dst 1 b+ PM.writeSmallArray dst 2 c+ PM.writeSmallArray dst 3 d+ PM.writeSmallArray dst 4 e+ PM.writeSmallArray dst 5 f+ PM.writeSmallArray dst 6 g+ PM.writeSmallArray dst 7 h+ PM.writeSmallArray dst 8 i+ PM.writeSmallArray dst 9 j+ PM.writeSmallArray dst 10 k+ PM.writeSmallArray dst 11 l PM.unsafeFreezeSmallArray dst ) ChunksNil