Scippy

SCIP

Solving Constraint Integer Programs

build_sassy_graph.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-2024 Zuse Institute Berlin (ZIB) */
7 /* */
8 /* Licensed under the Apache License, Version 2.0 (the "License"); */
9 /* you may not use this file except in compliance with the License. */
10 /* You may obtain a copy of the License at */
11 /* */
12 /* http://www.apache.org/licenses/LICENSE-2.0 */
13 /* */
14 /* Unless required by applicable law or agreed to in writing, software */
15 /* distributed under the License is distributed on an "AS IS" BASIS, */
16 /* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17 /* See the License for the specific language governing permissions and */
18 /* limitations under the License. */
19 /* */
20 /* You should have received a copy of the Apache-2.0 license */
21 /* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22 /* */
23 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24 
25 /**@file build_sassy_graph.h
26  * @brief methods to build sassy graph for symmetry detection
27  * @author Christopher Hojny
28  */
29 
30 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
31 
32 #ifndef __SCIP_BUILD_SASSY_GRAPH_H_
33 #define __SCIP_BUILD_SASSY_GRAPH_H_
34 
35 #include "scip/scip.h"
36 
37 /* include sassy */
38 #ifdef __GNUC__
39 #pragma GCC diagnostic ignored "-Wshadow"
40 #pragma GCC diagnostic ignored "-Wunused-variable"
41 #pragma GCC diagnostic ignored "-Wsign-compare"
42 #pragma GCC diagnostic ignored "-Wunused-but-set-variable"
43 #endif
44 
45 #ifdef _MSC_VER
46 # pragma warning(push)
47 # pragma warning(disable: 4189) // local variable is initialized but not referenced
48 # pragma warning(disable: 4388) // compare signed and unsigned expression
49 # pragma warning(disable: 4456) // shadowed variable
50 # pragma warning(disable: 4430) // missing type specifier
51 #endif
52 
53 /* the actual include */
54 #include <sassy/graph.h>
55 
56 #ifdef __GNUC__
57 #pragma GCC diagnostic warning "-Wunused-but-set-variable"
58 #pragma GCC diagnostic warning "-Wsign-compare"
59 #pragma GCC diagnostic warning "-Wunused-variable"
60 #pragma GCC diagnostic warning "-Wshadow"
61 #endif
62 
63 #ifdef _MSC_VER
64 # pragma warning(pop)
65 #endif
66 
67 
68 #ifdef __cplusplus
69 extern "C" {
70 #endif
71 
73 #include "symmetry/type_symmetry.h"
74 
75 /** compute generators of symmetry group */
76 SCIP_EXPORT
78  SCIP* scip, /**< SCIP pointer */
79  sassy::static_graph* sassygraph, /**< pointer to hold sassy graph being created */
80  SYM_GRAPH* graph, /**< symmetry detection graph */
81  SCIP_Bool* success /**< pointer to store whether sassygraph could be built */
82  );
83 
84 
85 /** returns whether two given graphs are identical */
86 SCIP_EXPORT
88  SCIP* scip, /**< SCIP pointer */
89  sassy::static_graph* sassygraph, /**< pointer to hold sassy graph being created */
90  SYM_GRAPH* G1, /**< first graph */
91  SYM_GRAPH* G2, /**< second graph */
92  int* nnodes, /**< pointer to store number of nodes in sassy graph */
93  int* nnodesfromG1, /**< pointer to store number of nodes in sassy graph arising from G1 */
94  SCIP_Bool* success /**< pointer to store whether sassygraph could be built */
95  );
96 
97 
98 #ifdef __cplusplus
99 }
100 #endif
101 
102 #endif
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:63
SCIP_RETCODE SYMbuildSassyGraph(SCIP *scip, sassy::static_graph *sassygraph, SYM_GRAPH *graph, SCIP_Bool *success)
structs for symmetry computations
#define SCIP_Bool
Definition: def.h:91
SCIP_RETCODE SYMbuildSassyGraphCheck(SCIP *scip, sassy::static_graph *sassygraph, SYM_GRAPH *G1, SYM_GRAPH *G2, int *nnodes, int *nnodesfromG1, SCIP_Bool *success)
type definitions for symmetry computations
#define nnodes
Definition: gastrans.c:74
SCIP callable library.