Scippy

SCIP

Solving Constraint Integer Programs

expr_erf.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_erf.h
17  * @brief handler for Gaussian error function expressions
18  * @author Benjamin Mueller
19  */
20 
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
22 
23 #ifndef __SCIP_EXPR_ERF_H__
24 #define __SCIP_EXPR_ERF_H__
25 
26 #include "scip/scip.h"
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 /** @{
33  *
34  * @name Gaussian error function expression
35  *
36  * This expression handler provides the Gaussian error function, that is
37  *
38  * \f[
39  * x \mapsto \frac{2}{\sqrt{\pi}}\int_0^x \exp(-t^2) dt.
40  * \f]
41  *
42  * @attention The implementation of this expression handler is incomplete.
43  * It is not usable for most use cases so far.
44  * @{
45  */
46 
47 /** creates an erf expression
48  *
49  * @attention The implementation of `erf` expressions is incomplete.
50  * They are not usable for most use cases so far.
51  */
52 SCIP_EXPORT
54  SCIP* scip, /**< SCIP data structure */
55  SCIP_EXPR** expr, /**< pointer where to store expression */
56  SCIP_EXPR* child, /**< child expression */
57  SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), /**< function to call to create ownerdata */
58  void* ownercreatedata /**< data to pass to ownercreate */
59  );
60 
61 /** indicates whether expression is of erf-type */
62 SCIP_EXPORT
64  SCIP* scip, /**< SCIP data structure */
65  SCIP_EXPR* expr /**< expression */
66  );
67 
68 /** @}
69  * @}
70  */
71 
72 /** creates the handler for erf expressions and includes it into SCIP
73  *
74  * @attention The implementation of this expression handler is incomplete.
75  * It is not usable for most use cases so far.
76  */
77 SCIP_EXPORT
79  SCIP* scip /**< SCIP data structure */
80  );
81 
82 #ifdef __cplusplus
83 }
84 #endif
85 
86 #endif /* __SCIP_EXPR_ERF_H__ */
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
SCIP_RETCODE SCIPcreateExprErf(SCIP *scip, SCIP_EXPR **expr, SCIP_EXPR *child, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
Definition: expr_erf.c:248
#define SCIP_Bool
Definition: def.h:84
#define SCIP_DECL_EXPR_OWNERCREATE(x)
Definition: type_expr.h:131
SCIP_Bool SCIPisExprErf(SCIP *scip, SCIP_EXPR *expr)
Definition: expr_erf.c:276
SCIP_RETCODE SCIPincludeExprhdlrErf(SCIP *scip)
Definition: expr_erf.c:291
SCIP callable library.