From 48d2f412115b56af091d54c93cee057b1ba7d382 Mon Sep 17 00:00:00 2001 From: Vivian McPhail Date: Fri, 9 Jul 2010 20:38:07 +0000 Subject: generalised foldVector --- lib/Data/Packed/Internal/Vector.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/Data/Packed') diff --git a/lib/Data/Packed/Internal/Vector.hs b/lib/Data/Packed/Internal/Vector.hs index dfa2e86..c73ef10 100644 --- a/lib/Data/Packed/Internal/Vector.hs +++ b/lib/Data/Packed/Internal/Vector.hs @@ -339,8 +339,9 @@ unzipVectorWith f g u = unsafePerformIO $ do return (v,w) {-# INLINE unzipVectorWith #-} +foldVector :: Storable a => (a -> b -> b) -> b -> Vector a -> b foldVector f x v = unsafePerformIO $ - unsafeWith (v::Vector Double) $ \p -> do + unsafeWith v $ \p -> do let go (-1) s = return s go !k !s = do y <- peekElemOff p k go (k-1::Int) (f y s) -- cgit v1.2.3