{-# OPTIONS_GHC -Wall #-} ----------------------------------------------------------------------------- -- | -- Module : Numeric.Optimization.MIP.Internal.Util -- Copyright : (c) Masahiro Sakai 2011-2012 -- License : BSD-style -- -- Maintainer : masahiro.sakai@gmail.com -- Stability : provisional -- Portability : portable -- -- Some utility functions. -- ----------------------------------------------------------------------------- module Numeric.Optimization.MIP.Internal.Util where -- | Combining two @Maybe@ values using given function. combineMaybe :: (a -> a -> a) -> Maybe a -> Maybe a -> Maybe a combineMaybe :: forall a. (a -> a -> a) -> Maybe a -> Maybe a -> Maybe a combineMaybe a -> a -> a _ Maybe a Nothing Maybe a y = Maybe a y combineMaybe a -> a -> a _ Maybe a x Maybe a Nothing = Maybe a x combineMaybe a -> a -> a f (Just a x) (Just a y) = a -> Maybe a forall a. a -> Maybe a Just (a -> a -> a f a x a y)