source: branches/Couenne/Couenne/src/expression/CouenneTypes.h @ 534

Last change on this file since 534 was 534, checked in by pbelotti, 13 years ago

moved include files to make them doxygenable. Introduced three-way branching, with fixed intervals for now. Added check for small bound interval within all generateCuts()

File size: 1.4 KB
Line 
1/*
2 * Name:    CouenneTypes.h
3 * Author:  Pietro Belotti
4 * Purpose: define number types used throughout the code
5 *
6 * (C) 2006 Pietro Belotti, Carnegie Mellon University.
7 * This file is licensed under the Common Public License (CPL).
8 */
9
10#ifndef COUENNE_TYPES_H
11#define COUENNE_TYPES_H
12
13enum nodeType       {CONST=0, VAR, UNARY, N_ARY, COPY, AUX, EMPTY};
14enum linearity_type {ZERO=0, CONSTANT, LINEAR, QUADRATIC, NONLINEAR};
15enum pos            {PRE=0, POST, INSIDE, NONE};
16enum con_sign       {COUENNE_EQ, COUENNE_LE, COUENNE_GE, COUENNE_RNG};
17enum opt_sense      {MAXIMIZE, MINIMIZE};
18enum conv_type      {CURRENT_ONLY, UNIFORM_GRID, AROUND_CURPOINT};
19
20enum expr_type {/*COU_EXPRAUX,  COU_EXPRCLONE, COU_EXPRCOPY, */
21                COU_EXPRESSION, /***** variables, constants **************/
22                COU_EXPRCONST, COU_EXPRVAR, COU_EXPRLBOUND, COU_EXPRUBOUND, 
23                /*COU_EXPRIVAR, */ 
24                COU_EXPROP,     /***** n-ary operators *******************/
25                COU_EXPRSUB,  COU_EXPRSUM, COU_EXPRGROUP, 
26                COU_EXPRMIN,  COU_EXPRMUL, COU_EXPRPOW, COU_EXPRMAX, COU_EXPRDIV, 
27                /*COU_EXPRBDIV,  COU_EXPRBMUL,*/ 
28                COU_EXPRUNARY,  /***** unary operators *******************/
29                COU_EXPRCOS,  COU_EXPRABS,
30                COU_EXPREXP,  COU_EXPRINV,   COU_EXPRLOG,   
31                COU_EXPROPP,   COU_EXPRSIN
32                };
33
34enum convexity {NONCONVEX, CONVEX, CONCAVE, AFFINE};
35
36typedef double CouNumber;
37typedef CouNumber (*unary_function) (CouNumber);
38
39#endif
Note: See TracBrowser for help on using the repository browser.