| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Linear.Grammar
- data LinAst
- (.+.) :: LinAst -> LinAst -> LinAst
- class Coefficient x y where
- multLin :: LinAst -> LinAst
- data LinVar = LinVar {}
- hasName :: LinVar -> LinVar -> Bool
- data LinExpr = LinExpr {
- exprCoeffs :: [LinVar]
- exprConst :: Double
- mergeLinExpr :: LinExpr -> LinExpr -> LinExpr
- addLin :: LinAst -> LinExpr
- removeDupLin :: LinExpr -> LinExpr
- makeLinExpr :: LinAst -> LinExpr
- data Ineq
- (.==.) :: LinAst -> LinAst -> Ineq
- (.<=.) :: LinAst -> LinAst -> Ineq
- (.=>.) :: LinAst -> LinAst -> Ineq
- data IneqStdForm
- standardize :: Ineq -> Ineq
- standardForm :: Ineq -> IneqStdForm
User-facing API
User-facing abstract syntax tree
class Coefficient x y where Source
Instances
multLin :: LinAst -> LinAst Source
Pushes ECoeff down the tree, leaving EAdd at the top level.
After using this funciton, all ECoeff constructors LinAst parameter will
be EVar.
Linear Expressions
Linear expressions suited for normal and standard form.
Constructors
| LinExpr | |
Fields
| |
mergeLinExpr :: LinExpr -> LinExpr -> LinExpr Source
removeDupLin :: LinExpr -> LinExpr Source
Merged duplicate LinVars in a LinExpr. Should be used after addLin.
makeLinExpr :: LinAst -> LinExpr Source
Linear Inequalities
Standard Form
data IneqStdForm Source
Instances
standardize :: Ineq -> Ineq Source
standardForm :: Ineq -> IneqStdForm Source