16 #include "CoinFinite.hpp"
18 using namespace Couenne;
49 else if (fabs (c0) == 0.) {
79 for (
int i = 0; i <
nargs_; i++)
84 return new exprSub (arglist, nargs_);
129 if ((xi == -1) && (yi == -1))
137 else {xl = l [xi]; xu = u [xi];}
140 else {yl = l [yi]; yu = u [yi];}
virtual int dependsOn(int *ind, int n, enum dig_type type=STOP_AT_AUX)
dependence on variable set: return cardinality of subset of the set of indices in first argument whic...
exprSub(expression **al, int n=2)
Constructor.
bool updateBound(register int sign, register CouNumber *dst, register CouNumber src)
updates maximum violation.
status of lower/upper bound of a variable, to be checked/modified in bound tightening ...
virtual bool isInteger()
is this expression integer?
bool impliedBound(int, CouNumber *, CouNumber *, t_chg_bounds *, enum auxSign=expression::AUX_EQ)
Implied bound processing.
void setLower(ChangeStatus lower)
expression * simplify()
Simplification.
expression * differentiate(int index)
Differentiation.
void setUpper(ChangeStatus upper)
#define COUENNE_EPS_SIMPL
virtual enum nodeType Type() const
Node type.
virtual int Index() const
Return index of variable (only valid for exprVar and exprAux)
auxSign
"sign" of the constraint defining an auxiliary.
virtual expression * simplify()
simplification
expression ** arglist_
argument list is an array of pointers to other expressions
void getBounds(expression *&, expression *&)
Get lower and upper bound of an expression (if any)
double CouNumber
main number type in Couenne
int nargs_
number of arguments (cardinality of arglist)
virtual CouNumber Value() const
value (empty)
virtual int compare(exprOp &)
compare with other generic exprOp