Couenne  0.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CouenneTypes.hpp
Go to the documentation of this file.
1 /* $Id: CouenneTypes.hpp 940 2013-01-13 19:49:02Z pbelotti $
2  *
3  * Name: CouenneTypes.hpp
4  * Author: Pietro Belotti
5  * Purpose: define number types used throughout the code
6  *
7  * (C) Carnegie-Mellon University, 2006-07
8  * This file is licensed under the Eclipse Public License (EPL)
9  */
10 
11 #ifndef COUENNE_TYPES_H
12 #define COUENNE_TYPES_H
13 
15 #include "CoinPragma.hpp"
16 
17 namespace Couenne {
18 
21 
24 
30 enum pos {PRE=0, POST, INSIDE, NONE};
31 
34 
38 
40 enum expr_type {/*COU_EXPRAUX, COU_EXPRCLONE, COU_EXPRCOPY, */
41  COU_EXPRESSION, /***** variables, constants **************/
43  /*COU_EXPRIVAR, */
44  COU_EXPROP, /***** n-ary operators *******************/
47  /*COU_EXPRBDIV, COU_EXPRBMUL,*/
48  COU_EXPRUNARY, /***** unary operators *******************/
53  };
54 
57 
60 
63 
67 {
68 public:
69  enum ChangeStatus {
73  };
74 
78  {}
80  lower_(src.lower_),
81  upper_(src.upper_)
82  {}
83  inline const char& lower() const {return lower_;}
84  inline const char& upper() const {return upper_;}
87  inline void setLowerBits(char lower) {lower_ |= lower;}
88  inline void setUpperBits(char upper) {upper_ |= upper;}
90  lower_ = src.lower_;
91  upper_ = src.upper_;
92  return *this;
93  }
94 private:
95  char lower_;
96  char upper_;
97 };
98 
100 typedef double CouNumber;
101 
104 
105 }
106 
107 #endif
t_chg_bounds operator=(const t_chg_bounds &src)
linearity_type
linearity of an expression, as returned by the method Linearity()
pos
position where the operator should be printed when printing the expression
status of lower/upper bound of a variable, to be checked/modified in bound tightening ...
const char & lower() const
const char & upper() const
void setLower(ChangeStatus lower)
monotonicity
monotonicity type of an expression
void setUpper(ChangeStatus upper)
CouNumber(* unary_function)(CouNumber)
unary function, used in all exprUnary
convexity
convexity type of an expression
double CouNumber
main number type in Couenne
nodeType
type of a node in an expression tree
dig_type
type of digging when filling the dependence list
con_sign
sign of constraint
expr_type
code returned by the method expression::code()
t_chg_bounds(const t_chg_bounds &src)
void setUpperBits(char upper)
void setLowerBits(char lower)
conv_type
position and number of convexification cuts added for a lower convex (upper concave) envelope ...