expression.h File Reference

#include <coconut_config.h>
#include <stdarg.h>
#include <stdio.h>
#include <interval.h>
#include <dag.h>
#include <visitor.h>
#include <semantics.h>
#include <evaluator.h>
#include <basic_alltype.h>
#include <g_algo.h>
#include <fstream>
#include <cerrno>
#include <string>
#include <utility>
#include <values.h>
#include <linalg.h>
#include <api_debug.h>
#include <expression.hpp>

Include dependency graph for expression.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


Classes

class  coco::expression_node
 The base class for a node in the expression DAGs. More...

Namespaces

namespace  coco
 the main namespace of the COCONUT API

Defines

#define EXPR_LASTARG   NULL
Operator types of standard expressions
These definitions define the standard operator types for the expression_node class. In the operator descriptions $ y_i $ is used for the value of the $i$th child of the node, while $ x_i = c_i y_i $ stands for the value of the $i$th child of the node multiplied by the $i$th entry of the coeffs array.

#define EXPRINFO_GHOST   0
#define EXPRINFO_CONSTANT   -1
#define EXPRINFO_VARIABLE   -2
#define EXPRINFO_SUM   -3
#define EXPRINFO_MEAN   -4
#define EXPRINFO_PROD   -5
#define EXPRINFO_MAX   -6
#define EXPRINFO_MIN   -7
#define EXPRINFO_MONOME   -8
#define EXPRINFO_SCPROD   -9
#define EXPRINFO_NORM   -10
#define EXPRINFO_INVERT   -11
#define EXPRINFO_SQUARE   -12
#define EXPRINFO_SQROOT   -13
#define EXPRINFO_ABS   -14
#define EXPRINFO_INTPOWER   -15
#define EXPRINFO_EXP   -16
#define EXPRINFO_LOG   -17
#define EXPRINFO_SIN   -18
#define EXPRINFO_COS   -19
#define EXPRINFO_GAUSS   -20
#define EXPRINFO_POLY   -21
#define EXPRINFO_POW   -22
#define EXPRINFO_DIV   -23
#define EXPRINFO_ATAN2   -24
#define EXPRINFO_LIN   -25
#define EXPRINFO_QUAD   -26
#define EXPRINFO_RE   -27
#define EXPRINFO_IM   -28
#define EXPRINFO_ARG   -29
#define EXPRINFO_CPLXCONJ   -30
#define EXPRINFO_LOOKUP   -31
#define EXPRINFO_PWLIN   -32
#define EXPRINFO_SPLINE   -33
#define EXPRINFO_PWCONSTLC   -34
#define EXPRINFO_PWCONSTRC   -35
#define EXPRINFO_IN   -36
#define EXPRINFO_IF   -37
#define EXPRINFO_AND   -38
#define EXPRINFO_OR   -39
#define EXPRINFO_NOT   -40
#define EXPRINFO_IMPLIES   -41
#define EXPRINFO_COUNT   -42
#define EXPRINFO_ALLDIFF   -43
#define EXPRINFO_HISTOGRAM   -44
#define EXPRINFO_LEVEL   -45
#define EXPRINFO_NEIGHBOR   -46
#define EXPRINFO_NOGOOD   -47
#define EXPRINFO_EXPECTATION   -48
#define EXPRINFO_INTEGRAL   -49
#define EXPRINFO_DET   -50
#define EXPRINFO_COND   -51
#define EXPRINFO_PSD   -52
#define EXPRINFO_MPROD   -53
#define EXPRINFO_FEM   -54
#define EXPRINFO_CMPROD   -55
#define EXPRINFO_CGFEM   -56
#define EXPRINFO_UNDEFINED   -57
#define EXPRINFO_NUMOFPREDEF   -(EXPRINFO_UNDEFINED)

Typedefs

typedef interval coco::rhs_t
typedef std::vector< void * > coco::evaluator_v

Enumerations

enum  coco::e_expression_type {
  coco::ex_bound = 1, coco::ex_linear = 1<<1, coco::ex_quadratic = 1<<2, coco::ex_polynomial = 1<<3,
  coco::ex_other = 1<<4, coco::ex_kj = 1<<7, coco::ex_org = 1<<8, coco::ex_redundant = 1<<9,
  coco::ex_notredundant = 1<<10, coco::ex_active_lo = 1<<11, coco::ex_inactive_lo = 1<<12, coco::ex_active_hi = 1<<13,
  coco::ex_inactive_hi = 1<<14, coco::ex_active = ex_active_lo|ex_active_hi, coco::ex_inactive = ex_inactive_lo|ex_inactive_hi, coco::ex_integer = 1<<15,
  coco::ex_exists = 1<<16, coco::ex_forall = 1<<17, coco::ex_free = 1<<18, coco::ex_stochastic = 1<<19,
  coco::ex_convex = 1<<20, coco::ex_concave = 1<<21, coco::ex_inequality = 1<<28, coco::ex_equality = 1<<29,
  coco::ex_leftbound = 1<<30, coco::ex_rightbound = 1<<31, coco::ex_atmlin = ex_bound|ex_linear, coco::ex_atmquad = ex_atmlin|ex_quadratic,
  coco::ex_atmpoly = ex_atmquad|ex_polynomial, coco::ex_nonlin = ex_quadratic|ex_polynomial|ex_other, coco::ex_nonbnd = ex_linear|ex_nonlin, coco::ex_any = ex_atmlin|ex_nonlin,
  coco::ex_bothbound = ex_leftbound|ex_rightbound
}


Detailed Description

Definition in file expression.h.


Define Documentation

#define EXPR_LASTARG   NULL

Definition at line 362 of file expression.h.


Generated on Tue Feb 9 14:46:26 2010 for COCONUT API by  doxygen 1.5.8