Add 'indexed' function
[darcs-mirrors/vector.git] / Data / Vector / Unboxed.hs
index 7906d71..95afb0d 100644 (file)
@@ -94,6 +94,9 @@ module Data.Vector.Unboxed (
 
   -- * Elementwise operations
 
+  -- ** Indexing
+  indexed,
+
   -- ** Mapping
   map, imap, concatMap,
 
@@ -708,6 +711,14 @@ modify :: Unbox a => (forall s. MVector s a -> ST s ()) -> Vector a -> Vector a
 {-# INLINE modify #-}
 modify p = G.modify p
 
+-- Indexing
+-- --------
+
+-- | /O(n)/ Pair each element in a vector with its index
+indexed :: Unbox a => Vector a -> Vector (Int,a)
+{-# INLINE indexed #-}
+indexed = G.indexed
+
 -- Mapping
 -- -------