@@ -56,7 +56,7 @@ benchIO name f = bench name $ nfIO $ randomRIO (1,1) >>= f
56-- generate numbers up to the argument value
56-- generate numbers up to the argument value
57{-# INLINE source #-}
57{-# INLINE source #-}
58source :: Monad m => Int -> Unfold m Int Int
58source :: Monad m => Int -> Unfold m Int Int
59−source n = UF.supplySecond n UF.enumerateFromToIntegral
59+source n = UF.second n UF.enumerateFromToIntegral
61-------------------------------------------------------------------------------
61-------------------------------------------------------------------------------
62-- Benchmark helpers
62-- Benchmark helpers
@@ -75,7 +75,7 @@ drainTransformation unf f seed = drainGeneration (f unf) seed
75drainTransformationDefault ::
75drainTransformationDefault ::
76 Monad m => Int -> (Unfold m Int Int -> Unfold m c d) -> c -> m ()
76 Monad m => Int -> (Unfold m Int Int -> Unfold m c d) -> c -> m ()
77drainTransformationDefault to =
77drainTransformationDefault to =
78− drainTransformation (UF.supplySecond to UF.enumerateFromToIntegral)
78+ drainTransformation (UF.second to UF.enumerateFromToIntegral)
80{-# INLINE drainProduct #-}
80{-# INLINE drainProduct #-}
81drainProduct ::
81drainProduct ::
@@ -98,7 +98,7 @@ drainProductDefault to = drainProduct src src
101− src = UF.supplySecond to UF.enumerateFromToIntegral
101+ src = UF.second to UF.enumerateFromToIntegral
103-------------------------------------------------------------------------------
103-------------------------------------------------------------------------------
104-- Operations on input
104-- Operations on input
@@ -114,26 +114,26 @@ lmapM :: Monad m => Int -> Int -> m ()
114lmapM size start =
114lmapM size start =
115 drainTransformationDefault (size + start) (UF.lmapM (return . (+) 1)) start
115 drainTransformationDefault (size + start) (UF.lmapM (return . (+) 1)) start
117−{-# INLINE supply #-}
117+{-# INLINE both #-}
118−supply :: Monad m => Int -> Int -> m ()
118+both :: Monad m => Int -> Int -> m ()
119−supply size start =
119+both size start =
120− drainTransformationDefault (size + start) (UF.supply start) undefined
120+ drainTransformationDefault (size + start) (UF.both start) undefined
123−{-# INLINE supplyFirst #-}
123+{-# INLINE first #-}
124−supplyFirst :: Monad m => Int -> Int -> m ()
124+first :: Monad m => Int -> Int -> m ()
125−supplyFirst size start =
125+first size start =
126 drainTransformation
126 drainTransformation
127 (UF.take size UF.enumerateFromThenIntegral)
127 (UF.take size UF.enumerateFromThenIntegral)
128− (UF.supplyFirst start)
128+ (UF.first start)
131−{-# INLINE supplySecond #-}
131+{-# INLINE second #-}
132−supplySecond :: Monad m => Int -> Int -> m ()
132+second :: Monad m => Int -> Int -> m ()
133−supplySecond size start =
133+second size start =
134 drainTransformation
134 drainTransformation
135 (UF.take size UF.enumerateFromThenIntegral)
135 (UF.take size UF.enumerateFromThenIntegral)
136− (UF.supplySecond 1)
136+ (UF.second 1)
139{-# INLINE discardFirst #-}
139{-# INLINE discardFirst #-}
@@ -256,7 +256,7 @@ enumerateFromThenIntegral size start =
256enumerateFromToIntegral :: Monad m => Int -> Int -> m ()
256enumerateFromToIntegral :: Monad m => Int -> Int -> m ()
257enumerateFromToIntegral size start =
257enumerateFromToIntegral size start =
258 drainGeneration
258 drainGeneration
259− ( UF.supplySecond
259+ ( UF.second
260 (size + start)
260 (size + start)
261 UF.enumerateFromToIntegral
261 UF.enumerateFromToIntegral
@@ -280,7 +280,7 @@ enumerateFromToFractional :: Monad m => Int -> Int -> m ()
280enumerateFromToFractional size start =
280enumerateFromToFractional size start =
281 let intToDouble x = (fromInteger (fromIntegral x)) :: Double
281 let intToDouble x = (fromInteger (fromIntegral x)) :: Double
282 in drainGeneration
282 in drainGeneration
283− ( UF.supplySecond
283+ ( UF.second
284 (intToDouble $ start + size)
284 (intToDouble $ start + size)
285 UF.enumerateFromToFractional
285 UF.enumerateFromToFractional
@@ -448,8 +448,8 @@ concatMapM value start =
450 val = nthRoot 2 value
450 val = nthRoot 2 value
451− unfoldInGen i = return (UF.supplySecond (i + val) UF.enumerateFromToIntegral)
451+ unfoldInGen i = return (UF.second (i + val) UF.enumerateFromToIntegral)
452− unfoldOut = UF.supplySecond (start + val) UF.enumerateFromToIntegral
452+ unfoldOut = UF.second (start + val) UF.enumerateFromToIntegral
454{-# INLINE toNull #-}
454{-# INLINE toNull #-}
455toNull :: Monad m => Int -> Int -> m ()
455toNull :: Monad m => Int -> Int -> m ()
@@ -619,9 +619,9 @@ o_1_space_transformation_input size =
619 "transformation/input"
619 "transformation/input"
620 [ benchIO "lmap" $ lmap size
620 [ benchIO "lmap" $ lmap size
621 , benchIO "lmapM" $ lmapM size
621 , benchIO "lmapM" $ lmapM size
622− , benchIO "supply" $ supply size
622+ , benchIO "both" $ both size
623− , benchIO "supplyFirst" $ supplyFirst size
623+ , benchIO "first" $ first size
624− , benchIO "supplySecond" $ supplySecond size
624+ , benchIO "second" $ second size
625 , benchIO "discardFirst" $ discardFirst size
625 , benchIO "discardFirst" $ discardFirst size
626 , benchIO "discardSecond" $ discardSecond size
626 , benchIO "discardSecond" $ discardSecond size
627 , benchIO "swap" $ swap size
627 , benchIO "swap" $ swap size