Scippy

SCIP

Solving Constraint Integer Programs

expr_trig.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-2022 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 email to scip@zib.de. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file expr_trig.h
17  * @ingroup EXPRHDLRS
18  * @brief handler for sin expressions
19  * @author Fabian Wegscheider
20  */
21 
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23 
24 #ifndef __SCIP_EXPR_TRIG_H__
25 #define __SCIP_EXPR_TRIG_H__
26 
27 #include "scip/scip.h"
28 #include "scip/type_expr.h"
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 /** creates the handler for sin expressions and includes it into SCIP
35  *
36  * @ingroup ExprhdlrIncludes
37  */
38 SCIP_EXPORT
40  SCIP* scip /**< SCIP data structure */
41  );
42 
43 /** creates the handler for cos expressions and includes it into SCIP
44  *
45  * @ingroup ExprhdlrIncludes
46  */
47 SCIP_EXPORT
49  SCIP* scip /**< SCIP data structure */
50  );
51 
52 /**@addtogroup EXPRHDLRS
53  *
54  * @{
55  *
56  * @name Sine and Cosine expression
57  *
58  * These expression handler provide the sine and cosine functions, that is,
59  * \f[
60  * x \mapsto \sin(x)
61  * \f]
62  * and
63  * \f[
64  * x \mapsto \cos(x).
65  * \f]
66  *
67  * @{
68  */
69 
70 /** creates a sin expression */
71 SCIP_EXPORT
73  SCIP* scip, /**< SCIP data structure */
74  SCIP_EXPR** expr, /**< pointer where to store expression */
75  SCIP_EXPR* child, /**< single child */
76  SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), /**< function to call to create ownerdata */
77  void* ownercreatedata /**< data to pass to ownercreate */
78  );
79 
80 /** creates a cos expression */
81 SCIP_EXPORT
83  SCIP* scip, /**< SCIP data structure */
84  SCIP_EXPR** expr, /**< pointer where to store expression */
85  SCIP_EXPR* child, /**< single child */
86  SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), /**< function to call to create ownerdata */
87  void* ownercreatedata /**< data to pass to ownercreate */
88  );
89 
90 /** indicates whether expression is of sine-type */
91 SCIP_EXPORT
93  SCIP* scip, /**< SCIP data structure */
94  SCIP_EXPR* expr /**< expression */
95  );
96 
97 /** indicates whether expression is of cosine-type */
98 SCIP_EXPORT
100  SCIP* scip, /**< SCIP data structure */
101  SCIP_EXPR* expr /**< expression */
102  );
103 
104 /** @}
105  * @}
106  */
107 
108 #ifdef __cplusplus
109 }
110 #endif
111 
112 #endif /* __SCIP_EXPR_TRIG_H__ */
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
SCIP_RETCODE SCIPincludeExprhdlrCos(SCIP *scip)
Definition: expr_trig.c:1396
#define SCIP_Bool
Definition: def.h:84
#define SCIP_DECL_EXPR_OWNERCREATE(x)
Definition: type_expr.h:131
SCIP_RETCODE SCIPcreateExprSin(SCIP *scip, SCIP_EXPR **expr, SCIP_EXPR *child, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
Definition: expr_trig.c:1421
SCIP_RETCODE SCIPcreateExprCos(SCIP *scip, SCIP_EXPR **expr, SCIP_EXPR *child, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
Definition: expr_trig.c:1441
type and macro definitions related to algebraic expressions
SCIP_RETCODE SCIPincludeExprhdlrSin(SCIP *scip)
Definition: expr_trig.c:1371
SCIP_Bool SCIPisExprSin(SCIP *scip, SCIP_EXPR *expr)
Definition: expr_trig.c:1460
SCIP_Bool SCIPisExprCos(SCIP *scip, SCIP_EXPR *expr)
Definition: expr_trig.c:1471
SCIP callable library.