module Linear.Simplex.Types where
type VarConstMap = [(Integer, Rational)]
data PolyConstraint =
LEQ VarConstMap Rational |
GEQ VarConstMap Rational |
EQ VarConstMap Rational deriving (Int -> PolyConstraint -> ShowS
[PolyConstraint] -> ShowS
PolyConstraint -> String
(Int -> PolyConstraint -> ShowS)
-> (PolyConstraint -> String)
-> ([PolyConstraint] -> ShowS)
-> Show PolyConstraint
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PolyConstraint] -> ShowS
$cshowList :: [PolyConstraint] -> ShowS
show :: PolyConstraint -> String
$cshow :: PolyConstraint -> String
showsPrec :: Int -> PolyConstraint -> ShowS
$cshowsPrec :: Int -> PolyConstraint -> ShowS
Show, PolyConstraint -> PolyConstraint -> Bool
(PolyConstraint -> PolyConstraint -> Bool)
-> (PolyConstraint -> PolyConstraint -> Bool) -> Eq PolyConstraint
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PolyConstraint -> PolyConstraint -> Bool
$c/= :: PolyConstraint -> PolyConstraint -> Bool
== :: PolyConstraint -> PolyConstraint -> Bool
$c== :: PolyConstraint -> PolyConstraint -> Bool
Eq);
data ObjectiveFunction = Max VarConstMap | Min VarConstMap deriving (Int -> ObjectiveFunction -> ShowS
[ObjectiveFunction] -> ShowS
ObjectiveFunction -> String
(Int -> ObjectiveFunction -> ShowS)
-> (ObjectiveFunction -> String)
-> ([ObjectiveFunction] -> ShowS)
-> Show ObjectiveFunction
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ObjectiveFunction] -> ShowS
$cshowList :: [ObjectiveFunction] -> ShowS
show :: ObjectiveFunction -> String
$cshow :: ObjectiveFunction -> String
showsPrec :: Int -> ObjectiveFunction -> ShowS
$cshowsPrec :: Int -> ObjectiveFunction -> ShowS
Show, ObjectiveFunction -> ObjectiveFunction -> Bool
(ObjectiveFunction -> ObjectiveFunction -> Bool)
-> (ObjectiveFunction -> ObjectiveFunction -> Bool)
-> Eq ObjectiveFunction
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ObjectiveFunction -> ObjectiveFunction -> Bool
$c/= :: ObjectiveFunction -> ObjectiveFunction -> Bool
== :: ObjectiveFunction -> ObjectiveFunction -> Bool
$c== :: ObjectiveFunction -> ObjectiveFunction -> Bool
Eq)
type Tableau = [(Integer, (VarConstMap, Rational))]
type DictionaryForm = [(Integer, VarConstMap)]