11#ifndef COUENNE_EXPRBDIV_H
12#define COUENNE_EXPRBDIV_H
72 if (n > 0)
return safeDiv (n,D,-1);
76 else if (N > 0)
return safeDiv (N,D,-1);
120 if (N < 0)
return safeDiv (N,D,1);
124 else if (n < 0)
return safeDiv (n,D,1);
Define a dynamic point+bounds, with a way to save and restore previous points+bounds through a LIFO s...
expression * clone(Domain *d=NULL) const
cloning method
exprLBDiv(expression **al, int n)
Constructors, destructor.
std::string printOp() const
print operator
CouNumber operator()()
function for the evaluation of the expression
enum pos printPos() const
print position (PRE, INSIDE, POST)
int nargs_
number of arguments (cardinality of arglist)
expression ** arglist_
argument list is an array of pointers to other expressions
exprOp(expression **arglist, int nargs)
Constructor.
expression ** clonearglist(Domain *d=NULL) const
clone argument list (for use with clone method)
CouNumber operator()()
function for the evaluation of the expression
enum pos printPos() const
print position (PRE, INSIDE, POST)
std::string printOp() const
print operator
exprUBDiv(expression **al, int n)
Constructors, destructor.
expression * clone(Domain *d=NULL) const
cloning method
general include file for different compilers
pos
position where the operator should be printed when printing the expression
static CouNumber safeDiv(register CouNumber a, register CouNumber b, int sign)
division that avoids NaN's and considers a sign when returning infinity
double CouNumber
main number type in Couenne