struct_expr.h
Go to the documentation of this file.
48 unsigned int precedence; /**< precedence of expression operation relative to other expression (used for printing) */
53 SCIP_DECL_EXPRCOPYDATA((*copydata)); /**< data copy callback, or NULL for expressions that have no data */
54 SCIP_DECL_EXPRFREEDATA((*freedata)); /**< data free callback, or NULL for expressions that have no data or which data does not need to be freed */
62 SCIP_DECL_EXPRBWFWDIFF((*bwfwdiff)); /**< backward over forward derivative evaluation callback (can be NULL) */
69 SCIP_DECL_EXPRMONOTONICITY((*monotonicity)); /**< monotonicity detection callback (can be NULL) */
78 SCIP_Longint ndomreds; /**< number of domain reductions found so far by this expression handler */
81 SCIP_Longint nbranchscores; /**< number of times branching scores were added by (or for) this expression handler */
93 int currentchild; /**< child that is currently visited (or will be visited next) by DFS iteration */
100 typedef struct SCIP_QuadExpr_QuadTerm SCIP_QUADEXPR_QUADTERM; /**< a single term associated to a quadratic variable */
120 SCIP_DECL_EXPR_OWNEREVALACTIVITY((*ownerevalactivity)); /**< callback for evaluating activity */
123 SCIP_Real evalvalue; /**< value of expression from last evaluation (corresponding to evaltag) */
124 SCIP_Real derivative; /**< partial derivative of a "root path" w.r.t. this expression (see \ref SCIP_EXPR_DIFF "Differentiation methods") */
125 SCIP_Real dot; /**< directional derivative of this expr (see \ref SCIP_EXPR_DIFF "Differentiation methods") */
126 SCIP_Real bardot; /**< directional derivative of derivative of root (strictly speaking, a path) w.r.t this expr (see \ref SCIP_EXPR_DIFF "Differentiation methods") */
127 SCIP_Longint evaltag; /**< tag of point for which the expression has been evaluated last, or 0 */
128 SCIP_Longint difftag; /**< when computing partial derivatives of an expression w.r.t. a variable,
137 SCIP_EXPRCURV curvature; /**< curvature of the expression w.r.t. bounds that have been used in the last curvature detection */
143 SCIP_QUADEXPR* quaddata; /**< representation of expression as a quadratic, if checked and being quadratic */
162 SCIP_Bool allexprsarevars; /**< whether all arguments (linexprs, quadexprterms[.].expr) are variable expressions */
184 SCIP_EXPR* sqrexpr; /**< expression that was found to be the square of expr, or NULL if no square term (sqrcoef==0) */
189 * except for temporary reasons, we assume that the index of var1 is smaller than the index of var2
210 int iterindex; /**< index of iterator data in expressions, or -1 if not using iterator data in expressions */
211 SCIP_Longint visitedtag; /**< tag to mark and recognize an expression as visited, or 0 if not avoiding multiple visits */
static SCIP_RETCODE eval(SCIP *scip, SCIP_EXPR *expr, SCIP_EXPRINTDATA *exprintdata, const vector< Type > &x, Type &val)
Definition: exprinterpret_cppad.cpp:1327
Definition: intervalarith.h:53
Definition: struct_expr.h:174
SCIP_DECL_EXPRINITESTIMATES((*initestimates))
SCIP_DECL_EXPRFWDIFF((*fwdiff))
Definition: struct_expr.h:43
SCIP_DECL_EXPRINTEVAL((*inteval))
SCIP_DECL_EXPRINTEGRALITY((*integrality))
Definition: struct_expr.h:191
type definitions for problem statistics
Definition: type_expr.h:686
SCIP_DECL_EXPRFREEHDLR((*freehdlr))
Definition: struct_expr.h:148
SCIP_DECL_EXPREVAL((*eval))
SCIP_DECL_EXPRPARSE((*parse))
SCIP_DECL_EXPRESTIMATE((*estimate))
Definition: struct_misc.h:60
SCIP_DECL_EXPRREVERSEPROP((*reverseprop))
SCIP_DECL_EXPRPRINT((*print))
Definition: struct_expr.h:202
Definition: struct_expr.h:104
SCIP_DECL_EXPRHASH((*hash))
#define SCIP_DECL_EXPR_OWNEREVALACTIVITY(x)
Definition: type_expr.h:122
type definitions for clocks and timing issues
SCIP_DECL_EXPRCOPYDATA((*copydata))
SCIP_DECL_EXPRCURVATURE((*curvature))
SCIP_DECL_EXPRCOMPARE((*compare))
SCIP_DECL_EXPRCOPYHDLR((*copyhdlr))
type and macro definitions related to algebraic expressions
SCIP_DECL_EXPRFREEDATA((*freedata))
SCIP_DECL_EXPRBWFWDIFF((*bwfwdiff))
SCIP_DECL_EXPRMONOTONICITY((*monotonicity))
SCIP_DECL_EXPRBWDIFF((*bwdiff))
Definition: struct_stat.h:59
SCIP_DECL_EXPRSIMPLIFY((*simplify))
Definition: struct_clock.h:64
memory allocation routines