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
/** dynamic array for storing SCIP_Real values */
90
typedef
struct
SCIP_RealArray
SCIP_REALARRAY
;
91
92
/** dynamic array for storing int values */
93
typedef
struct
SCIP_IntArray
SCIP_INTARRAY
;
94
95
/** dynamic array for storing SCIP_Bool values */
96
typedef
struct
SCIP_BoolArray
SCIP_BOOLARRAY
;
97
98
/** dynamic array for storing pointers */
99
typedef
struct
SCIP_PtrArray
SCIP_PTRARRAY
;
100
101
/** random number generator */
102
typedef
struct
SCIP_RandNumGen
SCIP_RANDNUMGEN
;
103
104
/** Resource activity data structure
105
*
106
* - \ref ResourceActivity "List of all available methods"
107
*/
108
typedef
struct
SCIP_ResourceActivity
SCIP_RESOURCEACTIVITY
;
109
110
/** Resource profile data structure
111
*
112
* - \ref ResourceProfile "List of all available methods"
113
*/
114
typedef
struct
SCIP_Profile
SCIP_PROFILE
;
115
116
/** Directed graph data structure (stored as adjacency list)
117
*
118
* - \ref DirectedGraph "List of all available methods"
119
*/
120
typedef
struct
SCIP_Digraph
SCIP_DIGRAPH
;
121
122
/** Binary tree data structure
123
*
124
* - \ref BinaryTree "List of all available methods"
125
*/
126
typedef
struct
SCIP_Bt
SCIP_BT
;
127
128
/** search node of \ref SCIP_BT "binary tree" */
129
typedef
struct
SCIP_BtNode
SCIP_BTNODE
;
130
131
/** regression data structure to compute an incremental linear regression of paired observations
132
*
133
* - \ref Regression "List of all available methods"
134
*/
135
typedef
struct
SCIP_Regression
SCIP_REGRESSION
;
136
137
/** compares two element indices
138
* result:
139
* < 0: ind1 comes before (is better than) ind2
140
* = 0: both indices have the same value
141
* > 0: ind2 comes after (is worse than) ind2
142
*/
143
#define SCIP_DECL_SORTINDCOMP(x) int x (void* dataptr, int ind1, int ind2)
144
145
/** compares two data element pointers
146
* result:
147
* < 0: elem1 comes before (is better than) elem2
148
* = 0: both elements have the same value
149
* > 0: elem2 comes after (is worse than) elem2
150
*/
151
#define SCIP_DECL_SORTPTRCOMP(x) int x (void* elem1, void* elem2)
152
153
/** gets the key of the given element */
154
#define SCIP_DECL_HASHGETKEY(x) void* x (void* userptr, void* elem)
155
156
/** returns TRUE iff both keys are equal */
157
#define SCIP_DECL_HASHKEYEQ(x) SCIP_Bool x (void* userptr, void* key1, void* key2)
158
159
/** returns the hash value of the key */
160
#define SCIP_DECL_HASHKEYVAL(x) uint64_t x (void* userptr, void* key)
161
162
163
#ifdef __cplusplus
164
}
165
#endif
166
167
#endif
SCIP_ResourceActivity
Definition:
struct_misc.h:176
SCIP_PtrArray
Definition:
struct_misc.h:165
SCIP_Regression
Definition:
struct_misc.h:225
SCIP_PQueue
Definition:
struct_misc.h:64
SCIP_MultiHashList
Definition:
struct_misc.h:89
SCIP_MultiHash
Definition:
struct_misc.h:96
SCIP_Bt
Definition:
struct_misc.h:218
SCIP_RandNumGen
Definition:
struct_misc.h:239
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:132
SCIP_Confidencelevel
SCIP_Confidencelevel
Definition:
type_misc.h:36
SCIP_Queue
Definition:
struct_misc.h:46
SCIP_IntArray
Definition:
struct_misc.h:143
SCIP_HashMapEntry
Definition:
struct_misc.h:114
SCIP_CONFIDENCELEVEL_HIGH
Definition:
type_misc.h:41
SCIP_BoolArray
Definition:
struct_misc.h:154
SCIP_CONFIDENCELEVEL_LOW
Definition:
type_misc.h:39
SCIP_BtNode
Definition:
struct_misc.h:209
SCIP_CONFIDENCELEVEL_MIN
Definition:
type_misc.h:38
SCIP_Profile
Definition:
struct_misc.h:184
SCIP_CONFIDENCELEVEL_MAX
Definition:
type_misc.h:42
SCIP_HashTable
Definition:
struct_misc.h:74
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:194