Scippy

SCIP

Solving Constraint Integer Programs

type_exprinterpret.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of the program and library */
4 /* SCIP --- Solving Constraint Integer Programs */
5 /* */
6 /* Copyright (C) 2002-2021 Konrad-Zuse-Zentrum */
7 /* fuer Informationstechnik Berlin */
8 /* */
9 /* SCIP is distributed under the terms of the ZIB Academic License. */
10 /* */
11 /* You should have received a copy of the ZIB Academic License */
12 /* along with SCIP; see the file COPYING. If not visit scipopt.org. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file type_exprinterpret.h
17  * @brief type definitions for expression interpreter
18  * @author Stefan Vigerske
19  * @author Thorsten Gellermann
20  */
21 
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23 
24 #ifndef __SCIP_TYPE_EXPRINTERPRET_H__
25 #define __SCIP_TYPE_EXPRINTERPRET_H__
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 typedef struct SCIP_ExprInt SCIP_EXPRINT; /**< an expression interpreter */
32 typedef struct SCIP_ExprIntData SCIP_EXPRINTDATA; /**< data of an expression interpreter */
33 typedef unsigned int SCIP_EXPRINTCAPABILITY; /**< type of expression interpreter capability */
34 
35 #define SCIP_EXPRINTCAPABILITY_NONE 0x00000000 /**< the expression interpreter is capable of nothing */
36 #define SCIP_EXPRINTCAPABILITY_FUNCVALUE 0x00000001 /**< the expression interpreter is able to compute a function value in a point */
37 #define SCIP_EXPRINTCAPABILITY_INTFUNCVALUE 0x00000002 /**< the expression interpreter is able to compute an interval function value */
38 #define SCIP_EXPRINTCAPABILITY_GRADIENT 0x00000010 /**< the expression interpreter is able to compute a gradient in a point */
39 #define SCIP_EXPRINTCAPABILITY_INTGRADIENT 0x00000020 /**< the expression interpreter is able to compute an interval gradient */
40 #define SCIP_EXPRINTCAPABILITY_HESSIAN 0x00000100 /**< the expression interpreter is able to compute a full hessian in a point */
41 #define SCIP_EXPRINTCAPABILITY_INTHESSIAN 0x00000200 /**< the expression interpreter is able to compute an interval hessian */
42 #define SCIP_EXPRINTCAPABILITY_ALL (SCIP_EXPRINTCAPABILITY_FUNCVALUE | SCIP_EXPRINTCAPABILITY_INTFUNCVALUE | SCIP_EXPRINTCAPABILITY_GRADIENT | SCIP_EXPRINTCAPABILITY_INTGRADIENT | SCIP_EXPRINTCAPABILITY_HESSIAN | SCIP_EXPRINTCAPABILITY_INTHESSIAN)
43 
44 #ifdef __cplusplus
45 }
46 #endif
47 
48 #endif /* __SCIP_TYPE_EXPRINTERPRET_H__ */
unsigned int SCIP_EXPRINTCAPABILITY
struct SCIP_ExprIntData SCIP_EXPRINTDATA