11 #ifndef COUENNE_EXPRBMUL_H 12 #define COUENNE_EXPRBMUL_H 21 #define MUL_ZERO 1e-20 22 #define MUL_INF sqrt (COIN_DBL_MAX) 81 (Nd > (nD =
safeProd (n,D))))
return nD;
136 ((ND =
safeProd (N,D)) > nd))
return ND;
CouNumber operator()()
function for the evaluation of the expression
CouNumber operator()()
function for the evaluation of the expression
expression ** arglist_
argument list is an array of pointers to other expressions
pos
position where the operator should be printed when printing the expression
class to compute upper bound of a product based on the bounds of both factors
enum pos printPos() const
print position (PRE, INSIDE, POST)
int nargs_
number of arguments (cardinality of arglist)
general n-ary operator-type expression: requires argument list.
enum pos printPos() const
print position (PRE, INSIDE, POST)
double CouNumber
main number type in Couenne
expression * clone(Domain *d=NULL) const
cloning method
CouNumber safeProd(register CouNumber a, register CouNumber b)
product that avoids NaN's
expression ** clonearglist(Domain *d=NULL) const
clone argument list (for use with clone method)
exprUBMul(expression **al, int n)
Constructors, destructor.
exprLBMul(expression **al, int n)
Constructors, destructor.
Define a dynamic point+bounds, with a way to save and restore previous points+bounds through a LIFO s...
std::string printOp() const
print operator
expression * clone(Domain *d=NULL) const
cloning method
class to compute lower bound of a product based on the bounds of both factors
const double COIN_DBL_MAX
general include file for different compilers
std::string printOp() const
print operator