packages feed

primitive-extras 0.10 → 0.10.1

raw patch · 2 files changed

+14/−1 lines, 2 files

Files

library/PrimitiveExtras/SmallArray.hs view
@@ -134,6 +134,19 @@         else array     in iterate 0 +{-# INLINE findAndMap #-}+findAndMap :: (a -> Maybe b) -> SmallArray a -> Maybe b+findAndMap f array =+  let+    size = sizeofSmallArray array+    iterate index =+      if index < size+        then case f (indexSmallArray array index) of+          Just b -> Just b+          Nothing -> iterate (succ index)+        else Nothing+    in iterate 0+ {-# INLINE find #-} find :: (a -> Bool) -> SmallArray a -> Maybe a find test array =
primitive-extras.cabal view
@@ -1,5 +1,5 @@ name: primitive-extras-version: 0.10+version: 0.10.1 category: Primitive synopsis: Extras for the "primitive" library homepage: https://github.com/metrix-ai/primitive-extras