Go to the documentation of this file.
11 #ifndef COUENNE_EXPRUNARY_HPP
12 #define COUENNE_EXPRUNARY_HPP
72 virtual void print (std::ostream &out = std::cout,
bool =
false)
const;
84 {
return (
F ()) ((*argument_) ());}
virtual ~exprUnary()
Destructor.
CouNumber(* unary_function)(CouNumber)
unary function, used in all exprUnary
expression * argument_
single argument taken by this expression
expr_type
code returned by the method expression::code()
virtual int compare(exprUnary &)
compare two unary functions
expression * simplify()
simplification
expression class for unary functions (sin, log, etc.)
virtual void replace(exprVar *, exprVar *)
replace variable with other
CouNumber zero_fun(CouNumber x)
zero function (used by default by exprUnary)
virtual CouNumber operator()()
compute value of unary operator
virtual enum expr_type code()
type of operator
pos
position where the operator should be printed when printing the expression
virtual bool isInteger()
is this expression integer?
int nArgs() const
return number of arguments
general include file for different compilers
dig_type
type of digging when filling the dependence list
virtual enum pos printPos() const
print position (PRE, INSIDE, POST)
virtual unary_function F()
the operator itself (e.g. sin, log...)
virtual void print(std::ostream &out=std::cout, bool=false) const
print this expression to iostream
double CouNumber
main number type in Couenne
exprUnary(expression *argument)
Constructor.
virtual int Linearity()
get a measure of "how linear" the expression is (see CouenneTypes.h) for general univariate functions...
virtual void fillDepSet(std::set< DepNode *, compNode > *dep, DepGraph *g)
fill in dependence structure
virtual int rank()
used in rank-based branching variable choice
virtual int DepList(std::set< int > &deplist, enum dig_type type=ORIG_ONLY)
fill in the set with all indices of variables appearing in the expression
nodeType
type of a node in an expression tree
virtual expression ** ArgPtr()
return pointer to argument
virtual enum nodeType Type() const
node type
virtual std::string printOp() const
print operator
Class for MINLP problems with symbolic information.
virtual exprAux * standardize(CouenneProblem *, bool addAux=true)
reduce expression in standard form, creating additional aux variables (and constraints)
virtual void realign(const CouenneProblem *p)
empty function to redirect variables to proper variable vector
virtual expression * Argument() const
return argument