highs-lp-0.0: test/Test/Numeric/HiGHS/LP/Utility.hs
module Test.Numeric.HiGHS.LP.Utility where
import Data.Traversable (Traversable, traverse)
import Data.Foldable (Foldable, traverse_)
import qualified Control.Monad.Trans.State as MS
import Data.Tuple.HT (double)
traverse_Lag ::
(Foldable t, Monad m) =>
b -> (b -> a -> m b) -> t a -> m ()
traverse_Lag b0 f =
flip MS.evalStateT b0 .
traverse_ (\a -> MS.StateT $ \b -> fmap double $ f b a)
traverseLag ::
(Traversable t, Monad m) =>
b -> (b -> a -> m b) -> t a -> m (t b)
traverseLag b0 f =
flip MS.evalStateT b0 .
traverse (\a -> MS.StateT $ \b -> fmap double $ f b a)