18 using namespace Couenne;
38 if (c0 < c1)
return -1;
39 else if (c0 > c1)
return 1;
56 if ((subst ->
Type () ==
AUX) ||
62 return (addAux ? (p -> addAuxiliary (
this)) :
new exprAux (
this, p -> domain ()));
virtual void print(std::ostream &out=std::cout, bool=false) const
print this expression to iostream
virtual enum expr_type code()
type of operator
virtual bool isInteger()
is this expression integer?
expression * simplify()
simplification
virtual int compare(exprUnary &)
compare two unary functions
virtual exprAux * standardize(CouenneProblem *, bool addAux=true)
reduce expression in standard form, creating additional aux variables (and constraints) ...
expression * argument_
single argument taken by this expression
virtual unary_function F()
the operator itself (e.g. sin, log...)
expression class for unary functions (sin, log, etc.)
virtual int Index() const
Return index of variable (only valid for exprVar and exprAux)
virtual void replace(exprVar *, exprVar *)
replace variable with other
virtual enum pos printPos() const
print position (PRE, INSIDE, POST)
Class for MINLP problems with symbolic information.
expression clone (points to another expression)
virtual std::string printOp() const
print operator
double CouNumber
main number type in Couenne
virtual void getBounds(expression *&, expression *&)
Get lower and upper bound of an expression (if any)
void fint fint fint real fint real real real real real real real real * w
virtual enum nodeType Type() const
node type
void fint fint fint real fint real * x