Toggle navigation
SCIP Optimization Suite
SCIP
SoPlex
ZIMPL
UG
GCG
Documentation
SCIP 9.2.0
SCIP 8.1.0
SCIP 7.0.3
SCIP 6.0.2
SCIP 5.0.1
SCIP 4.0.1
SCIP 3.2.1
SCIP
Solving Constraint Integer Programs
type_misc.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-2017 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 type_misc.h
17
* @ingroup TYPEDEFINITIONS
18
* @brief type definitions for miscellaneous datastructures
19
* @author Tobias Achterberg
20
*/
21
22
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23
24
#ifndef __SCIP_TYPE_MISC_H__
25
#define __SCIP_TYPE_MISC_H__
26
27
#include "
scip/def.h
"
28
29
#ifdef __cplusplus
30
extern
"C"
{
31
#endif
32
33
/** represents different confidence levels for (one-sided) hypothesis testing; in order to obtain two-sided confidence
34
* levels, calculate 2 * c - 1, i.e., if the one-sided confidence level is 90 %, the two-sided level is 80 %
35
*/
36
enum
SCIP_Confidencelevel
37
{
38
SCIP_CONFIDENCELEVEL_MIN
= 0,
/**< one-sided confidence level 75 %, two-sided 50 % */
39
SCIP_CONFIDENCELEVEL_LOW
= 1,
/**< (one-sided) confidence level 87.5 %, two-sided 75 % */
40
SCIP_CONFIDENCELEVEL_MEDIUM
= 2,
/**< (one-sided) confidence level 90 %, two-sided 80 % */
41
SCIP_CONFIDENCELEVEL_HIGH
= 3,
/**< (one-sided) confidence level 95 %, two-sided 90 % */
42
SCIP_CONFIDENCELEVEL_MAX
= 4
/**< (one-sided) confidence level 97.5 %, two-sided 95 % */
43
};
44
typedef
enum
SCIP_Confidencelevel
SCIP_CONFIDENCELEVEL
;
45
46
47
/** Sparse solution data structure
48
*
49
* - \ref SparseSol "List of all available methods"
50
*/
51
typedef
struct
SCIP_SparseSol
SCIP_SPARSESOL
;
52
53
/** (circular) Queue data structure
54
*
55
* - \ref Queue "List of all available methods"
56
*/
57
typedef
struct
SCIP_Queue
SCIP_QUEUE
;
58
59
/** Priority queue data structure
60
*
61
* - \ref PriorityQueue "List of all available methods"
62
*/
63
typedef
struct
SCIP_PQueue
SCIP_PQUEUE
;
64
65
/** Hash table data structure
66
*
67
* - \ref HashTable "List of all available methods"
68
*/
69
typedef
struct
SCIP_HashTable
SCIP_HASHTABLE
;
70
71
/** Hash table data structure which allows multiple occurences of an element
72
*
73
* - \ref MultiHash "List of all available methods"
74
*/
75
typedef
struct
SCIP_MultiHash
SCIP_MULTIHASH
;
76
77
/** Hash table element list to store single elements of a multi hash table */
78
typedef
struct
SCIP_MultiHashList
SCIP_MULTIHASHLIST
;
79
80
/** Hash map entry */
81
typedef
struct
SCIP_HashMapEntry
SCIP_HASHMAPENTRY
;
82
83
/** Hash map data structure
84
*
85
* - \ref HashMap "List of all available methods"
86
*/
87
typedef
struct
SCIP_HashMap
SCIP_HASHMAP
;
88
89
/** Hash set data structure
90
*
91
* - \ref HashMap "List of all available methods"
92
*/
93
typedef
struct
SCIP_HashSet
SCIP_HASHSET
;
94
95
/** dynamic array for storing SCIP_Real values */
96
typedef
struct
SCIP_RealArray
SCIP_REALARRAY
;
97
98
/** dynamic array for storing int values */
99
typedef
struct
SCIP_IntArray
SCIP_INTARRAY
;
100
101
/** dynamic array for storing SCIP_Bool values */
102
typedef
struct
SCIP_BoolArray
SCIP_BOOLARRAY
;
103
104
/** dynamic array for storing pointers */
105
typedef
struct
SCIP_PtrArray
SCIP_PTRARRAY
;
106
107
/** random number generator */
108
typedef
struct
SCIP_RandNumGen
SCIP_RANDNUMGEN
;
109
110
/** Resource activity data structure
111
*
112
* - \ref ResourceActivity "List of all available methods"
113
*/
114
typedef
struct
SCIP_ResourceActivity
SCIP_RESOURCEACTIVITY
;
115
116
/** Resource profile data structure
117
*
118
* - \ref ResourceProfile "List of all available methods"
119
*/
120
typedef
struct
SCIP_Profile
SCIP_PROFILE
;
121
122
/** Directed graph data structure (stored as adjacency list)
123
*
124
* - \ref DirectedGraph "List of all available methods"
125
*/
126
typedef
struct
SCIP_Digraph
SCIP_DIGRAPH
;
127
128
/** Binary tree data structure
129
*
130
* - \ref BinaryTree "List of all available methods"
131
*/
132
typedef
struct
SCIP_Bt
SCIP_BT
;
133
134
/** search node of \ref SCIP_BT "binary tree" */
135
typedef
struct
SCIP_BtNode
SCIP_BTNODE
;
136
137
/** regression data structure to compute an incremental linear regression of paired observations
138
*
139
* - \ref Regression "List of all available methods"
140
*/
141
typedef
struct
SCIP_Regression
SCIP_REGRESSION
;
142
143
/** disjoint set (disjoint set (union find)) data structure for querying and updating connectedness of a graph with integer vertices 0,...,n - 1
144
*
145
* - \ref DisjointSet "List of available methods"
146
*/
147
typedef
struct
SCIP_DisjointSet
SCIP_DISJOINTSET
;
148
149
/** compares two element indices
150
* result:
151
* < 0: ind1 comes before (is better than) ind2
152
* = 0: both indices have the same value
153
* > 0: ind2 comes after (is worse than) ind2
154
*/
155
#define SCIP_DECL_SORTINDCOMP(x) int x (void* dataptr, int ind1, int ind2)
156
157
/** compares two data element pointers
158
* result:
159
* < 0: elem1 comes before (is better than) elem2
160
* = 0: both elements have the same value
161
* > 0: elem2 comes after (is worse than) elem2
162
*/
163
#define SCIP_DECL_SORTPTRCOMP(x) int x (void* elem1, void* elem2)
164
165
/** gets the key of the given element */
166
#define SCIP_DECL_HASHGETKEY(x) void* x (void* userptr, void* elem)
167
168
/** returns TRUE iff both keys are equal */
169
#define SCIP_DECL_HASHKEYEQ(x) SCIP_Bool x (void* userptr, void* key1, void* key2)
170
171
/** returns the hash value of the key */
172
#define SCIP_DECL_HASHKEYVAL(x) uint64_t x (void* userptr, void* key)
173
174
175
#ifdef __cplusplus
176
}
177
#endif
178
179
#endif
SCIP_ResourceActivity
Definition:
struct_misc.h:184
SCIP_PtrArray
Definition:
struct_misc.h:173
SCIP_Regression
Definition:
struct_misc.h:234
SCIP_PQueue
Definition:
struct_misc.h:64
SCIP_MultiHashList
Definition:
struct_misc.h:89
SCIP_HashSet
Definition:
struct_misc.h:132
SCIP_MultiHash
Definition:
struct_misc.h:96
SCIP_Bt
Definition:
struct_misc.h:227
SCIP_RandNumGen
Definition:
struct_misc.h:248
SCIP_SparseSol
Definition:
struct_misc.h:37
SCIP_HashMap
Definition:
struct_misc.h:121
SCIP_CONFIDENCELEVEL
enum SCIP_Confidencelevel SCIP_CONFIDENCELEVEL
Definition:
type_misc.h:44
SCIP_RealArray
Definition:
struct_misc.h:140
SCIP_Confidencelevel
SCIP_Confidencelevel
Definition:
type_misc.h:36
SCIP_Queue
Definition:
struct_misc.h:46
SCIP_IntArray
Definition:
struct_misc.h:151
SCIP_HashMapEntry
Definition:
struct_misc.h:114
SCIP_CONFIDENCELEVEL_HIGH
Definition:
type_misc.h:41
SCIP_BoolArray
Definition:
struct_misc.h:162
SCIP_CONFIDENCELEVEL_LOW
Definition:
type_misc.h:39
SCIP_BtNode
Definition:
struct_misc.h:218
SCIP_CONFIDENCELEVEL_MIN
Definition:
type_misc.h:38
SCIP_Profile
Definition:
struct_misc.h:192
SCIP_CONFIDENCELEVEL_MAX
Definition:
type_misc.h:42
SCIP_HashTable
Definition:
struct_misc.h:74
SCIP_DisjointSet
Definition:
struct_misc.h:257
def.h
common defines and data types used in all packages of SCIP
SCIP_CONFIDENCELEVEL_MEDIUM
Definition:
type_misc.h:40
SCIP_Digraph
Definition:
struct_misc.h:202