@@ -326,10 +326,9 @@ filterDrop streamLen n = composeN n $ S.drop 1 . S.filter (<= streamLen)
326filterTake :: Monad m => Int -> Int -> Stream m Int -> m ()
326filterTake :: Monad m => Int -> Int -> Stream m Int -> m ()
327filterTake streamLen n = composeN n $ S.take streamLen . S.filter (<= streamLen)
327filterTake streamLen n = composeN n $ S.take streamLen . S.filter (<= streamLen)
329−-- Initially, this used maxBound not streamLen
330{-# INLINE filterScan #-}
329{-# INLINE filterScan #-}
331−filterScan :: Monad m => Int -> Int -> Stream m Int -> m ()
330+filterScan :: Monad m => Int -> Stream m Int -> m ()
332−filterScan streamLen n = composeN n $ S.scanl' (+) 0 . S.filter (<= streamLen)
331+filterScan n = composeN n $ S.scanl' (+) 0 . S.filter (<= maxBound)
334{-# INLINE filterMap #-}
333{-# INLINE filterMap #-}
335filterMap :: Monad m => Int -> Int -> Stream m Int -> m ()
334filterMap :: Monad m => Int -> Int -> Stream m Int -> m ()
@@ -643,7 +642,7 @@ o_1_space_mixed streamLen =
643 , benchFold "take-map" (takeMap streamLen 1) (sourceUnfoldrM streamLen)
642 , benchFold "take-map" (takeMap streamLen 1) (sourceUnfoldrM streamLen)
644 , benchFold "filter-drop" (filterDrop streamLen 1) (sourceUnfoldrM streamLen)
643 , benchFold "filter-drop" (filterDrop streamLen 1) (sourceUnfoldrM streamLen)
645 , benchFold "filter-take" (filterTake streamLen 1) (sourceUnfoldrM streamLen)
644 , benchFold "filter-take" (filterTake streamLen 1) (sourceUnfoldrM streamLen)
646− , benchFold "filter-scan" (filterScan streamLen 1) (sourceUnfoldrM streamLen)
645+ , benchFold "filter-scan" (filterScan 1) (sourceUnfoldrM streamLen)
647 , benchFold "filter-map" (filterMap streamLen 1) (sourceUnfoldrM streamLen)
646 , benchFold "filter-map" (filterMap streamLen 1) (sourceUnfoldrM streamLen)
@@ -658,7 +657,7 @@ o_1_space_mixedX2 streamLen =
658 , benchFold "take-map" (takeMap streamLen 2) (sourceUnfoldrM streamLen)
657 , benchFold "take-map" (takeMap streamLen 2) (sourceUnfoldrM streamLen)
659 , benchFold "filter-drop" (filterDrop streamLen 2) (sourceUnfoldrM streamLen)
658 , benchFold "filter-drop" (filterDrop streamLen 2) (sourceUnfoldrM streamLen)
660 , benchFold "filter-take" (filterTake streamLen 2) (sourceUnfoldrM streamLen)
659 , benchFold "filter-take" (filterTake streamLen 2) (sourceUnfoldrM streamLen)
661− , benchFold "filter-scan" (filterScan streamLen 2) (sourceUnfoldrM streamLen)
660+ , benchFold "filter-scan" (filterScan 2) (sourceUnfoldrM streamLen)
662 , benchFold "filter-map" (filterMap streamLen 2) (sourceUnfoldrM streamLen)
661 , benchFold "filter-map" (filterMap streamLen 2) (sourceUnfoldrM streamLen)
@@ -673,7 +672,7 @@ o_1_space_mixedX4 streamLen =
673 , benchFold "take-map" (takeMap streamLen 4) (sourceUnfoldrM streamLen)
672 , benchFold "take-map" (takeMap streamLen 4) (sourceUnfoldrM streamLen)
674 , benchFold "filter-drop" (filterDrop streamLen 4) (sourceUnfoldrM streamLen)
673 , benchFold "filter-drop" (filterDrop streamLen 4) (sourceUnfoldrM streamLen)
675 , benchFold "filter-take" (filterTake streamLen 4) (sourceUnfoldrM streamLen)
674 , benchFold "filter-take" (filterTake streamLen 4) (sourceUnfoldrM streamLen)
676− , benchFold "filter-scan" (filterScan streamLen 4) (sourceUnfoldrM streamLen)
675+ , benchFold "filter-scan" (filterScan 4) (sourceUnfoldrM streamLen)
677 , benchFold "filter-map" (filterMap streamLen 4) (sourceUnfoldrM streamLen)
676 , benchFold "filter-map" (filterMap streamLen 4) (sourceUnfoldrM streamLen)