pub_misc.h
Go to the documentation of this file.
32 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
37 /* on SunOS, the function finite(a) (for the SCIPisFinite macro below) is declared in ieeefp.h */
53 /* in optimized mode some of the function are handled via defines, for that the structs are needed */
75 /** get critical value of a Student-T distribution for a given number of degrees of freedom at a confidence level */
82 /** compute a t-value for the hypothesis that x and y are from the same population; Assuming that
110 /** calculates the cumulative distribution P(-infinity <= x <= value) that a normally distributed
129 * Below are the public methods for incremental linear regression of observations pairs \f$(X_i,Y_i), i=1\dots,n\f$
195 * For a detailed format decription see http://docs.yworks.com/yfiles/doc/developers-guide/gml.html
274 SCIP_VAR** vars, /**< variables in the sparse solution, must not contain continuous variables */
309 /** constructs the first solution of sparse solution (all variables are set to their lower bound value */
317 /** constructs the next solution of the sparse solution and return whether there was one more or not */
340 /** creates a (circular) queue, best used if the size will be fixed or will not be increased that much */
381 /** removes and returns the first unsigned integer element of the queue, or UNIT_MAX if no element exists */
393 /** returns the first unsigned integer element of the queue without removing it, or UINT_MAX if no element exists */
431 SCIP_DECL_PQUEUEELEMCHGPOS((*elemchgpos)) /**< callback to act on position change of elem in priority queue, or NULL */
478 /** returns the elements of the queue; changing the returned array may destroy the queue's ordering! */
507 #define SCIPhashSignature64(a) (UINT64_C(0x8000000000000000)>>((UINT32_C(0x9e3779b9) * ((uint32_t)(a)))>>26))
509 #define SCIPhashTwo(a, b) ((uint32_t)((((uint32_t)(a) + 0xd37e9a1ce2148403ULL) * ((uint32_t)(b) + 0xe5fcc163aef32782ULL) )>>32))
511 #define SCIPhashThree(a, b, c) ((uint32_t)((((uint32_t)(a) + 0xbd5c89185f082658ULL) * ((uint32_t)(b) + 0xe5fcc163aef32782ULL) + \
514 #define SCIPhashFour(a, b, c, d) ((uint32_t)((((uint32_t)(a) + 0xbd5c89185f082658ULL) * ((uint32_t)(b) + 0xe5fcc163aef32782ULL) + \
517 #define SCIPhashFive(a, b, c, d, e) ((uint32_t)((((uint32_t)(a) + 0xbd5c89185f082658ULL) * ((uint32_t)(b) + 0xe5fcc163aef32782ULL) + \
521 #define SCIPhashSix(a, b, c, d, e, f) ((uint32_t)((((uint32_t)(a) + 0xbd5c89185f082658ULL) * ((uint32_t)(b) + 0xe5fcc163aef32782ULL) + \
525 #define SCIPhashSeven(a, b, c, d, e, f, g) ((uint32_t)((((uint32_t)(a) + 0xbd5c89185f082658ULL) * ((uint32_t)(b) + 0xe5fcc163aef32782ULL) + \
537 return (((uint32_t)(uint16_t)(int16_t)ldexp(frexp(x, &theexp), 15))<<16) | (uint32_t)(uint16_t)theexp;
560 * @note From a performance point of view you should not fill and clear a hash table too often since the clearing can
561 * be expensive. Clearing is done by looping over all buckets and removing the hash table lists one-by-one.
570 /** inserts element in hash table (multiple inserts of same element override the previous entry) */
577 /** inserts element in hash table (multiple insertion of same element is checked and results in an error) */
656 /** returns a reasonable hash table size (a prime number) that is at least as large as the specified value */
682 * @note A pointer to a multihashlist returned by SCIPmultihashRetrieveNext() might get invalid when adding an element
691 /** inserts element in multihash table (multiple insertion of same element is checked and results in an error)
693 * @note A pointer to a multihashlist returned by SCIPmultihashRetrieveNext() might get invalid when adding a new
712 * @note The returned multimultihashlist pointer might get invalid when adding a new element to the multihash table.
717 SCIP_MULTIHASHLIST** multihashlist, /**< input: entry in hash table list from which to start searching, or NULL
739 * @note From a performance point of view you should not fill and clear a hash table too often since the clearing can
740 * be expensive. Clearing is done by looping over all buckets and removing the hash table lists one-by-one.
814 /** inserts new origin->image pair in hash map (must not be called for already existing origins!) */
822 /** inserts new origin->image pair in hash map (must not be called for already existing origins!) */
830 /** inserts new origin->image pair in hash map (must not be called for already existing origins!) */
859 /** sets image for given origin in the hash map, either by modifying existing origin->image pair or by appending a
869 /** sets image for given origin in the hash map, either by modifying existing origin->image pair or by appending a
879 /** sets image for given origin in the hash map, either by modifying existing origin->image pair or by appending a
1063 /** gives the array of hash set slots; contains all elements in indetermined order and may contain NULL values */
1077 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1225 /** returns if the given time point exists in the resource profile and stores the position of the given time point if it
1235 /** insert a core into resource profile; if the core is non-empty the resource profile will be updated otherwise nothing
1257 /** return the earliest possible starting point within the time interval [lb,ub] for a given core (given by its height
1270 /** return the latest possible starting point within the time interval [lb,ub] for a given core (given by its height and
1301 /** sets the sizes of the successor lists for the nodes in a directed graph and allocates memory for the lists */
1381 /** returns the array of indices of the successor nodes; this array must not be changed from outside */
1388 /** returns the array of data corresponding to the arcs originating at the given node, or NULL if no data exist; this
1403 int** articulations, /**< array to store the sorted node indices of the computed articulation points, or NULL */
1409 * @note For each arc, its reverse is added, so the graph does not need to be the directed representation of an
1424 /** Computes all strongly connected components of an undirected connected component with Tarjan's Algorithm.
1425 * The resulting strongly connected components are sorted topologically (starting from the end of the
1442 /** Performes an (almost) topological sort on the undirected components of the given directed graph. The undirected
1445 * @note In general a topological sort is not unique. Note, that there might be directed cycles, that are randomly
1453 /** returns the number of previously computed undirected components for the given directed graph */
1459 /** Returns the previously computed undirected component of the given number for the given directed graph.
1460 * If the components were sorted using SCIPdigraphTopoSortComponents(), the component is (almost) topologically sorted.
1587 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1599 #define SCIPbtnodeIsLeftchild(node) ((node)->parent == NULL ? FALSE : (node)->parent->left == (node) ? TRUE : FALSE)
1600 #define SCIPbtnodeIsRightchild(node) ((node)->parent == NULL ? FALSE : (node)->parent->right == (node) ? TRUE : FALSE)
1653 * @note The user pointers (object) of the search nodes are not freed. If needed, it has to be done by the user.
1681 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1733 /** returns the number of independent components in this disjoint set (union find) data structure */
1785 /** calculates a binomial coefficient n over m, choose m elements out of n, maximal value will be 33 over 16 (because
1786 * the n=33 is the last line in the Pascal's triangle where each entry fits in a 4 byte value), an error occurs due to
1795 /** converts a real number into a (approximate) rational representation, and returns TRUE iff the conversion was
1808 /** tries to find a value, such that all given values, if scaled with this value become integral in relative allowed
1815 SCIP_Real mindelta, /**< minimal relative allowed difference of scaled coefficient s*c and integral i */
1816 SCIP_Real maxdelta, /**< maximal relative allowed difference of scaled coefficient s*c and integral i */
1819 SCIP_Real* intscalar, /**< pointer to store scalar that would make the coefficients integral, or NULL */
1823 /** given a (usually very small) interval, tries to find a rational number with simple denominator (i.e. a small
1824 * number, probably multiplied with powers of 10) out of this interval; returns TRUE iff a valid rational
1836 /** given a (usually very small) interval, selects a value inside this interval; it is tried to select a rational number
1838 * if no valid rational number inside the interval was found, selects the central value of the interval
1852 * As last resort, we check whether x == x does not hold, but this works only for NaN's, not for infinities!
1854 #if _XOPEN_SOURCE >= 600 || defined(_ISOC99_SOURCE) || _POSIX_C_SOURCE >= 200112L || defined(__APPLE__)
1877 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1929 * this implementation is suited for the case that nsubelems is considerably smaller then nelems
1960 * this implementation is suited for the case that nsubelems is considerably smaller then nelems
2081 /** computes set intersection (duplicates removed) of two arrays that are ordered ascendingly */
2121 /** copies characters from 'src' to 'dest', copying is stopped when either the 'stop' character is reached or after
2134 /** prints an error message containing of the given string followed by a string describing the current system error;
2135 * prefers to use the strerror_r method, which is threadsafe; on systems where this method does not exist,
2136 * NO_STRERROR_R should be defined (see INSTALL), in this case, srerror is used which is not guaranteed to be
2152 /** translates the given string into a string where symbols ", ', and spaces are escaped with a \ prefix */
2171 * Copies string in s to t using at most @a size-1 nonzero characters (strncpy copies size characters). It always adds
2172 * a terminating zero char. Does not pad the remaining string with zero characters (unlike strncpy). Returns the number
2173 * of copied nonzero characters, if the length of s is at most size - 1, and returns size otherwise. Thus, the original
2183 /** extract the next token as a integer value if it is one; in case no value is parsed the endptr is set to @p str
2191 char** endptr /**< pointer to store the final string position if successfully parsed, otherwise @p str */
2194 /** extract the next token as a double value if it is one; in case a value is parsed the endptr is set to @p str
2202 char** endptr /**< pointer to store the final string position if successfully parsed, otherwise @p str */
2205 /** copies the first size characters between a start and end character of str into token, if no error occured endptr
2215 char** endptr /**< pointer to store the final string position if successfully parsed, otherwise @p str */
SCIP_EXPORT int SCIPprofileGetEarliestFeasibleStart(SCIP_PROFILE *profile, int est, int lst, int duration, int height, SCIP_Bool *infeasible)
Definition: misc.c:7031
Definition: struct_misc.h:192
SCIP_EXPORT SCIP_RETCODE SCIPqueueInsertUInt(SCIP_QUEUE *queue, unsigned int elem)
Definition: misc.c:1045
SCIP_EXPORT void ** SCIPdigraphGetSuccessorsData(SCIP_DIGRAPH *digraph, int node)
Definition: misc.c:7728
SCIP_EXPORT SCIP_Real SCIPstudentTGetCriticalValue(SCIP_CONFIDENCELEVEL clevel, int df)
Definition: misc.c:95
SCIP_EXPORT void SCIPescapeString(char *t, int bufsize, const char *s)
Definition: misc.c:10562
SCIP_EXPORT SCIP_Bool SCIPmultihashExists(SCIP_MULTIHASH *multihash, void *element)
Definition: misc.c:2089
SCIP_EXPORT SCIP_RETCODE SCIPhashmapInsert(SCIP_HASHMAP *hashmap, void *origin, void *image)
Definition: misc.c:3095
SCIP_EXPORT SCIP_RETCODE SCIPrandomGetSubset(SCIP_RANDNUMGEN *randgen, void **set, int nelems, void **subset, int nsubelems)
Definition: misc.c:10048
SCIP_EXPORT void SCIPgmlWriteEdge(FILE *file, unsigned int source, unsigned int target, const char *label, const char *color)
Definition: misc.c:584
SCIP_EXPORT SCIP_BTNODE * SCIPbtnodeGetRightchild(SCIP_BTNODE *node)
Definition: misc.c:8703
SCIP_EXPORT SCIP_RETCODE SCIPhashtableSafeInsert(SCIP_HASHTABLE *hashtable, void *element)
Definition: misc.c:2518
SCIP_EXPORT int SCIPhashtableGetNEntries(SCIP_HASHTABLE *hashtable)
Definition: misc.c:2716
SCIP_EXPORT unsigned int SCIPqueueRemoveUInt(SCIP_QUEUE *queue)
Definition: misc.c:1104
SCIP_EXPORT SCIP_RETCODE SCIPhashtableInsert(SCIP_HASHTABLE *hashtable, void *element)
Definition: misc.c:2486
SCIP_EXPORT void SCIPpqueueDelPos(SCIP_PQUEUE *pqueue, int pos)
Definition: misc.c:1373
SCIP_EXPORT int SCIPdigraphGetNNodes(SCIP_DIGRAPH *digraph)
Definition: misc.c:7637
SCIP_EXPORT int SCIPactivityGetDuration(SCIP_RESOURCEACTIVITY *activity)
Definition: misc.c:6587
internal miscellaneous methods for linear constraints
SCIP_EXPORT int SCIPdigraphGetNComponents(SCIP_DIGRAPH *digraph)
Definition: misc.c:8172
SCIP_EXPORT void SCIPhashsetRemoveAll(SCIP_HASHSET *hashset)
Definition: misc.c:3955
type definitions for miscellaneous datastructures
SCIP_EXPORT void * SCIPmultihashRetrieveNext(SCIP_MULTIHASH *multihash, SCIP_MULTIHASHLIST **multihashlist, void *key)
Definition: misc.c:2053
Definition: struct_misc.h:245
SCIP_EXPORT SCIP_BTNODE * SCIPbtnodeGetSibling(SCIP_BTNODE *node)
Definition: misc.c:8713
static void message(unsigned int type, const CURF *curf, const char *msg,...)
Definition: grphload.c:317
SCIP_EXPORT SCIP_BTNODE * SCIPbtnodeGetLeftchild(SCIP_BTNODE *node)
Definition: misc.c:8693
SCIP_EXPORT int SCIPprofileGetLoad(SCIP_PROFILE *profile, int pos)
Definition: misc.c:6750
SCIP_EXPORT int SCIPdisjointsetFind(SCIP_DISJOINTSET *djset, int element)
Definition: misc.c:10983
SCIP_EXPORT void * SCIPhashtableGetEntry(SCIP_HASHTABLE *hashtable, int entryidx)
Definition: misc.c:2724
SCIP_EXPORT int SCIPhashmapGetNElements(SCIP_HASHMAP *hashmap)
Definition: misc.c:3472
SCIP_EXPORT SCIP_Longint SCIPhashtableGetNElements(SCIP_HASHTABLE *hashtable)
Definition: misc.c:2706
SCIP_EXPORT int SCIPdisjointsetGetSize(SCIP_DISJOINTSET *djset)
Definition: misc.c:11090
SCIP_EXPORT SCIP_RETCODE SCIPqueueInsert(SCIP_QUEUE *queue, void *elem)
Definition: misc.c:1019
SCIP_EXPORT SCIP_Bool SCIPhashtableExists(SCIP_HASHTABLE *hashtable, void *element)
Definition: misc.c:2598
Definition: struct_misc.h:69
SCIP_EXPORT SCIP_RETCODE SCIPcomputeArraysSetminus(int *array1, int narray1, int *array2, int narray2, int *setminusarray, int *nsetminusarray)
Definition: misc.c:10417
SCIP_EXPORT void * SCIPhashtableRetrieve(SCIP_HASHTABLE *hashtable, void *key)
Definition: misc.c:2547
SCIP_EXPORT void SCIPsparseSolGetFirstSol(SCIP_SPARSESOL *sparsesol, SCIP_Longint *sol, int nvars)
Definition: misc.c:809
Definition: struct_misc.h:95
SCIP_EXPORT void SCIPpermuteArray(void **array, int begin, int end, unsigned int *randseed)
Definition: misc.c:10268
SCIP_EXPORT SCIP_RETCODE SCIPregressionCreate(SCIP_REGRESSION **regression)
Definition: misc.c:405
SCIP_EXPORT SCIP_RETCODE SCIPdigraphComputeDirectedComponents(SCIP_DIGRAPH *digraph, int compidx, int *strongcomponents, int *strongcompstartidx, int *nstrongcomponents)
Definition: misc.c:8317
SCIP_EXPORT SCIP_Longint SCIPcalcGreComDiv(SCIP_Longint val1, SCIP_Longint val2)
Definition: misc.c:9008
SCIP_EXPORT SCIP_RETCODE SCIPmultihashSafeInsert(SCIP_MULTIHASH *multihash, void *element)
Definition: misc.c:2005
Definition: struct_misc.h:140
Definition: struct_var.h:198
SCIP_EXPORT SCIP_Real SCIPcomputeTwoSampleTTestValue(SCIP_Real meanx, SCIP_Real meany, SCIP_Real variancex, SCIP_Real variancey, SCIP_Real countx, SCIP_Real county)
Definition: misc.c:112
SCIP_EXPORT SCIP_BTNODE * SCIPbtnodeGetParent(SCIP_BTNODE *node)
Definition: misc.c:8683
SCIP_EXPORT SCIP_RETCODE SCIPhashmapInsertInt(SCIP_HASHMAP *hashmap, void *origin, int image)
Definition: misc.c:3131
Definition: struct_misc.h:102
SCIP_EXPORT SCIP_RETCODE SCIPbtCreate(SCIP_BT **tree, BMS_BLKMEM *blkmem)
Definition: misc.c:8845
SCIP_EXPORT void SCIPstrCopySection(const char *str, char startchar, char endchar, char *token, int size, char **endptr)
Definition: misc.c:10721
Definition: struct_misc.h:238
SCIP_EXPORT void * SCIPhashmapEntryGetImage(SCIP_HASHMAPENTRY *entry)
Definition: misc.c:3509
SCIP_EXPORT SCIP_Real SCIPrandomGetReal(SCIP_RANDNUMGEN *randgen, SCIP_Real minrandval, SCIP_Real maxrandval)
Definition: misc.c:9967
miscellaneous datastructures
Definition: struct_message.h:36
SCIP_EXPORT int SCIPdigraphGetNSuccessors(SCIP_DIGRAPH *digraph, int node)
Definition: misc.c:7695
Definition: struct_misc.h:259
SCIP_EXPORT void * SCIPmultihashRetrieve(SCIP_MULTIHASH *multihash, void *key)
Definition: misc.c:2024
SCIP_EXPORT SCIP_RETCODE SCIPdigraphAddArcSafe(SCIP_DIGRAPH *digraph, int startnode, int endnode, void *data)
Definition: misc.c:7584
SCIP_EXPORT void * SCIPhashmapGetImage(SCIP_HASHMAP *hashmap, void *origin)
Definition: misc.c:3200
SCIP_EXPORT void SCIPhashtableClear(SCIP_HASHTABLE *hashtable)
Definition: misc.c:2337
SCIP_EXPORT int SCIPhashmapEntryGetImageInt(SCIP_HASHMAPENTRY *entry)
Definition: misc.c:3519
SCIP_EXPORT void SCIPswapReals(SCIP_Real *value1, SCIP_Real *value2)
Definition: misc.c:10205
Definition: struct_misc.h:37
SCIP_EXPORT SCIP_RETCODE SCIPhashtableRemove(SCIP_HASHTABLE *hashtable, void *element)
Definition: misc.c:2616
type definitions for return codes for SCIP methods
SCIP_EXPORT SCIP_RETCODE SCIPmultihashInsert(SCIP_MULTIHASH *multihash, void *element)
Definition: misc.c:1964
SCIP_EXPORT void SCIPdigraphPrintComponents(SCIP_DIGRAPH *digraph, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
Definition: misc.c:8511
SCIP_EXPORT SCIP_Longint * SCIPsparseSolGetLbs(SCIP_SPARSESOL *sparsesol)
Definition: misc.c:789
SCIP_EXPORT char * SCIPstrtok(char *s, const char *delim, char **ptrptr)
Definition: misc.c:10548
SCIP_EXPORT SCIP_RETCODE SCIPdigraphResize(SCIP_DIGRAPH *digraph, int nnodes)
Definition: misc.c:7305
SCIP_EXPORT void * SCIPhashmapEntryGetOrigin(SCIP_HASHMAPENTRY *entry)
Definition: misc.c:3499
SCIP_EXPORT SCIP_Real SCIPmultihashGetLoad(SCIP_MULTIHASH *multihash)
Definition: misc.c:2181
SCIP_EXPORT void SCIPprofilePrint(SCIP_PROFILE *profile, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
Definition: misc.c:6676
SCIP_EXPORT void SCIPbtnodeSetData(SCIP_BTNODE *node, void *dataptr)
Definition: misc.c:8792
SCIP_EXPORT SCIP_Bool SCIPbtnodeIsLeftchild(SCIP_BTNODE *node)
Definition: misc.c:8753
SCIP_EXPORT void SCIPgmlWriteOpening(FILE *file, SCIP_Bool directed)
Definition: misc.c:672
SCIP_EXPORT void SCIPgmlWriteArc(FILE *file, unsigned int source, unsigned int target, const char *label, const char *color)
Definition: misc.c:628
SCIP_EXPORT SCIP_RETCODE SCIPhashtableCreate(SCIP_HASHTABLE **hashtable, BMS_BLKMEM *blkmem, int tablesize, SCIP_DECL_HASHGETKEY((*hashgetkey)), SCIP_DECL_HASHKEYEQ((*hashkeyeq)), SCIP_DECL_HASHKEYVAL((*hashkeyval)), void *userptr)
Definition: misc.c:2235
SCIP_EXPORT SCIP_Real SCIPregressionGetIntercept(SCIP_REGRESSION *regression)
Definition: misc.c:263
SCIP_EXPORT int SCIPregressionGetNObservations(SCIP_REGRESSION *regression)
Definition: misc.c:243
SCIP_EXPORT int SCIPhashmapGetImageInt(SCIP_HASHMAP *hashmap, void *origin)
Definition: misc.c:3220
SCIP_EXPORT void SCIPregressionRemoveObservation(SCIP_REGRESSION *regression, SCIP_Real x, SCIP_Real y)
Definition: misc.c:338
SCIP_EXPORT SCIP_Bool SCIPhashmapExists(SCIP_HASHMAP *hashmap, void *origin)
Definition: misc.c:3362
Definition: struct_misc.h:128
SCIP_EXPORT SCIP_RETCODE SCIPdigraphComputeUndirectedComponents(SCIP_DIGRAPH *digraph, int minsize, int *components, int *ncomponents)
Definition: misc.c:7977
SCIP_EXPORT int SCIPprofileGetNTimepoints(SCIP_PROFILE *profile)
Definition: misc.c:6708
SCIP_EXPORT SCIP_Bool SCIPhashsetExists(SCIP_HASHSET *hashset, void *element)
Definition: misc.c:3756
SCIP_EXPORT SCIP_HASHMAPENTRY * SCIPhashmapGetEntry(SCIP_HASHMAP *hashmap, int entryidx)
Definition: misc.c:3488
SCIP_EXPORT SCIP_Real SCIPrelDiff(SCIP_Real val1, SCIP_Real val2)
Definition: misc.c:10898
SCIP_EXPORT void SCIPregressionReset(SCIP_REGRESSION *regression)
Definition: misc.c:389
SCIP_EXPORT void SCIPhashsetPrintStatistics(SCIP_HASHSET *hashset, SCIP_MESSAGEHDLR *messagehdlr)
Definition: misc.c:3872
SCIP_EXPORT int SCIPactivityGetDemand(SCIP_RESOURCEACTIVITY *activity)
Definition: misc.c:6597
SCIP_EXPORT SCIP_Bool SCIPstrToRealValue(const char *str, SCIP_Real *value, char **endptr)
Definition: misc.c:10691
SCIP_EXPORT SCIP_RETCODE SCIPactivityCreate(SCIP_RESOURCEACTIVITY **activity, SCIP_VAR *var, int duration, int demand)
Definition: misc.c:6532
SCIP_EXPORT SCIP_Real SCIPregressionGetSlope(SCIP_REGRESSION *regression)
Definition: misc.c:253
SCIP_EXPORT int SCIPprofileGetCapacity(SCIP_PROFILE *profile)
Definition: misc.c:6698
SCIP_EXPORT void SCIPdisjointsetUnion(SCIP_DISJOINTSET *djset, int p, int q, SCIP_Bool forcerepofp)
Definition: misc.c:11010
SCIP_EXPORT int SCIPhashsetGetNSlots(SCIP_HASHSET *hashset)
Definition: misc.c:3939
SCIP_EXPORT void SCIPmultihashPrintStatistics(SCIP_MULTIHASH *multihash, SCIP_MESSAGEHDLR *messagehdlr)
Definition: misc.c:2191
SCIP_EXPORT int SCIPhashmapGetNEntries(SCIP_HASHMAP *hashmap)
Definition: misc.c:3480
Definition: struct_misc.h:51
SCIP_EXPORT void SCIPbtnodeFree(SCIP_BT *tree, SCIP_BTNODE **node)
Definition: misc.c:8628
SCIP_EXPORT SCIP_Longint * SCIPsparseSolGetUbs(SCIP_SPARSESOL *sparsesol)
Definition: misc.c:799
SCIP_EXPORT int SCIPdisjointsetGetComponentCount(SCIP_DISJOINTSET *djset)
Definition: misc.c:11080
SCIP_EXPORT SCIP_RETCODE SCIPmultihashCreate(SCIP_MULTIHASH **multihash, BMS_BLKMEM *blkmem, int tablesize, SCIP_DECL_HASHGETKEY((*hashgetkey)), SCIP_DECL_HASHKEYEQ((*hashkeyeq)), SCIP_DECL_HASHKEYVAL((*hashkeyval)), void *userptr)
Definition: misc.c:1900
SCIP_EXPORT SCIP_Bool SCIPsparseSolGetNextSol(SCIP_SPARSESOL *sparsesol, SCIP_Longint *sol, int nvars)
Definition: misc.c:832
SCIP_EXPORT void SCIPhashmapEntrySetImageReal(SCIP_HASHMAPENTRY *entry, SCIP_Real image)
Definition: misc.c:3561
SCIP_EXPORT void SCIPsplitFilename(char *filename, char **path, char **name, char **extension, char **compression)
Definition: misc.c:10809
SCIP_EXPORT SCIP_RETCODE SCIPhashmapInsertReal(SCIP_HASHMAP *hashmap, void *origin, SCIP_Real image)
Definition: misc.c:3167
SCIP_EXPORT void SCIPdigraphGetComponent(SCIP_DIGRAPH *digraph, int compidx, int **nodes, int *nnodes)
Definition: misc.c:8185
SCIP_EXPORT SCIP_Real SCIPnormalCDF(SCIP_Real mean, SCIP_Real variance, SCIP_Real value)
Definition: misc.c:185
type definitions for problem variables
Definition: grphload.c:88
SCIP_EXPORT SCIP_RETCODE SCIPqueueCreate(SCIP_QUEUE **queue, int initsize, SCIP_Real sizefac)
Definition: misc.c:933
SCIP_EXPORT SCIP_Bool SCIPfindSimpleRational(SCIP_Real lb, SCIP_Real ub, SCIP_Longint maxdnom, SCIP_Longint *nominator, SCIP_Longint *denominator)
Definition: misc.c:9658
SCIP_EXPORT void SCIPhashsetFree(SCIP_HASHSET **hashset, BMS_BLKMEM *blkmem)
Definition: misc.c:3729
SCIP_EXPORT SCIP_Real SCIPhashtableGetLoad(SCIP_HASHTABLE *hashtable)
Definition: misc.c:2733
SCIP_EXPORT int SCIPpqueueFind(SCIP_PQUEUE *pqueue, void *elem)
Definition: misc.c:1489
SCIP_EXPORT SCIP_RETCODE SCIPhashsetCreate(SCIP_HASHSET **hashset, BMS_BLKMEM *blkmem, int size)
Definition: misc.c:3698
SCIP_EXPORT int SCIPrandomGetInt(SCIP_RANDNUMGEN *randgen, int minrandval, int maxrandval)
Definition: misc.c:9945
SCIP_EXPORT void SCIPhashtableFree(SCIP_HASHTABLE **hashtable)
Definition: misc.c:2285
SCIP_EXPORT void SCIPdisjointsetClear(SCIP_DISJOINTSET *djset)
Definition: misc.c:10966
SCIP_EXPORT SCIP_VAR * SCIPactivityGetVar(SCIP_RESOURCEACTIVITY *activity)
Definition: misc.c:6577
SCIP_EXPORT SCIP_RETCODE SCIPhashsetRemove(SCIP_HASHSET *hashset, void *element)
Definition: misc.c:3797
SCIP_EXPORT SCIP_RETCODE SCIPhashmapCreate(SCIP_HASHMAP **hashmap, BMS_BLKMEM *blkmem, int mapsize)
Definition: misc.c:3013
Definition: struct_misc.h:121
SCIP_EXPORT SCIP_RETCODE SCIPgetRandomSubset(void **set, int nelems, void **subset, int nsubelems, unsigned int randseed)
Definition: misc.c:10302
SCIP_EXPORT void SCIPsparseSolFree(SCIP_SPARSESOL **sparsesol)
Definition: misc.c:755
SCIP_EXPORT SCIP_RETCODE SCIPprofileDeleteCore(SCIP_PROFILE *profile, int left, int right, int height)
Definition: misc.c:6941
SCIP_EXPORT int * SCIPdigraphGetSuccessors(SCIP_DIGRAPH *digraph, int node)
Definition: misc.c:7710
SCIP_EXPORT void SCIPactivityFree(SCIP_RESOURCEACTIVITY **activity)
Definition: misc.c:6551
SCIP_EXPORT int SCIPprofileGetTime(SCIP_PROFILE *profile, int pos)
Definition: misc.c:6738
SCIP_EXPORT void SCIPbtSetRoot(SCIP_BT *tree, SCIP_BTNODE *root)
Definition: misc.c:8969
SCIP_EXPORT SCIP_Bool SCIPrealToRational(SCIP_Real val, SCIP_Real mindelta, SCIP_Real maxdelta, SCIP_Longint maxdnom, SCIP_Longint *nominator, SCIP_Longint *denominator)
Definition: misc.c:9281
SCIP_EXPORT SCIP_Bool SCIPprofileFindLeft(SCIP_PROFILE *profile, int timepoint, int *pos)
Definition: misc.c:6764
SCIP_EXPORT void SCIPmultihashFree(SCIP_MULTIHASH **multihash)
Definition: misc.c:1933
SCIP_EXPORT SCIP_RETCODE SCIPdigraphSetNSuccessors(SCIP_DIGRAPH *digraph, int node, int nsuccessors)
Definition: misc.c:7621
SCIP_EXPORT SCIP_RETCODE SCIPbtnodeCreate(SCIP_BT *tree, SCIP_BTNODE **node, void *dataptr)
Definition: misc.c:8564
SCIP_EXPORT void SCIPrandomPermuteIntArray(SCIP_RANDNUMGEN *randgen, int *array, int begin, int end)
Definition: misc.c:9986
SCIP_EXPORT SCIP_Real SCIPhashmapEntryGetImageReal(SCIP_HASHMAPENTRY *entry)
Definition: misc.c:3529
SCIP_EXPORT unsigned int SCIPqueueFirstUInt(SCIP_QUEUE *queue)
Definition: misc.c:1156
SCIP_EXPORT SCIP_Bool SCIPhashsetIsEmpty(SCIP_HASHSET *hashset)
Definition: misc.c:3923
SCIP_EXPORT SCIP_RETCODE SCIPdigraphSetSizes(SCIP_DIGRAPH *digraph, int *sizes)
Definition: misc.c:7435
SCIP_EXPORT int * SCIPprofileGetLoads(SCIP_PROFILE *profile)
Definition: misc.c:6728
SCIP_EXPORT SCIP_RETCODE SCIPhashmapRemoveAll(SCIP_HASHMAP *hashmap)
Definition: misc.c:3572
SCIP_EXPORT SCIP_Real SCIPcomputeGap(SCIP_Real eps, SCIP_Real inf, SCIP_Real primalbound, SCIP_Real dualbound)
Definition: misc.c:10916
Definition: struct_misc.h:229
SCIP_EXPORT void SCIPswapPointers(void **pointer1, void **pointer2)
Definition: misc.c:10218
SCIP_EXPORT void SCIPregressionFree(SCIP_REGRESSION **regression)
Definition: misc.c:421
SCIP_EXPORT SCIP_Real SCIPnextafter(SCIP_Real from, SCIP_Real to)
Definition: misc.c:9251
SCIP_EXPORT SCIP_VAR ** SCIPsparseSolGetVars(SCIP_SPARSESOL *sparsesol)
Definition: misc.c:769
SCIP_EXPORT SCIP_Real SCIPhashmapGetImageReal(SCIP_HASHMAP *hashmap, void *origin)
Definition: misc.c:3240
Definition: struct_misc.h:200
SCIP_EXPORT void SCIPhashmapPrintStatistics(SCIP_HASHMAP *hashmap, SCIP_MESSAGEHDLR *messagehdlr)
Definition: misc.c:3424
SCIP_EXPORT void SCIPpermuteIntArray(int *array, int begin, int end, unsigned int *randseed)
Definition: misc.c:10234
SCIP_EXPORT int SCIPprofileGetLatestFeasibleStart(SCIP_PROFILE *profile, int lb, int ub, int duration, int height, SCIP_Bool *infeasible)
Definition: misc.c:7180
methods for sorting joint arrays of various types
SCIP_EXPORT void SCIPmultihashRemoveAll(SCIP_MULTIHASH *multihash)
Definition: misc.c:2150
Definition: struct_misc.h:80
SCIP_EXPORT int SCIPdigraphGetNArcs(SCIP_DIGRAPH *digraph)
Definition: misc.c:7677
SCIP_EXPORT SCIP_RETCODE SCIPpqueueCreate(SCIP_PQUEUE **pqueue, int initsize, SCIP_Real sizefac, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_DECL_PQUEUEELEMCHGPOS((*elemchgpos)))
Definition: misc.c:1235
SCIP_EXPORT SCIP_RETCODE SCIPhashsetInsert(SCIP_HASHSET *hashset, BMS_BLKMEM *blkmem, void *element)
Definition: misc.c:3739
SCIP_EXPORT SCIP_RETCODE SCIPmultihashRemove(SCIP_MULTIHASH *multihash, void *element)
Definition: misc.c:2116
SCIP_EXPORT int * SCIPprofileGetTimepoints(SCIP_PROFILE *profile)
Definition: misc.c:6718
SCIP_EXPORT SCIP_RETCODE SCIPdigraphGetArticulationPoints(SCIP_DIGRAPH *digraph, int **articulations, int *narticulations)
Definition: misc.c:7891
SCIP_EXPORT void SCIPhashtableRemoveAll(SCIP_HASHTABLE *hashtable)
Definition: misc.c:2694
SCIP_EXPORT void SCIPbtnodeSetParent(SCIP_BTNODE *node, SCIP_BTNODE *parent)
Definition: misc.c:8806
SCIP_EXPORT int SCIPgetRandomInt(int minrandval, int maxrandval, unsigned int *seedp)
Definition: misc.c:9828
SCIP_EXPORT void SCIPgmlWriteNodeWeight(FILE *file, unsigned int id, const char *label, const char *nodetype, const char *fillcolor, const char *bordercolor, SCIP_Real weight)
Definition: misc.c:534
SCIP_EXPORT void SCIPbtnodeSetLeftchild(SCIP_BTNODE *node, SCIP_BTNODE *left)
Definition: misc.c:8820
SCIP_EXPORT int SCIPactivityGetEnergy(SCIP_RESOURCEACTIVITY *activity)
Definition: misc.c:6607
SCIP_EXPORT int SCIPsnprintf(char *t, int len, const char *s,...)
Definition: misc.c:10590
SCIP_EXPORT void SCIPhashtablePrintStatistics(SCIP_HASHTABLE *hashtable, SCIP_MESSAGEHDLR *messagehdlr)
Definition: misc.c:2743
SCIP_EXPORT void * SCIPdigraphGetNodeData(SCIP_DIGRAPH *digraph, int node)
Definition: misc.c:7647
SCIP_EXPORT void SCIPbtnodeSetRightchild(SCIP_BTNODE *node, SCIP_BTNODE *right)
Definition: misc.c:8834
SCIP_EXPORT SCIP_Real SCIPgetRandomReal(SCIP_Real minrandval, SCIP_Real maxrandval, unsigned int *seedp)
Definition: misc.c:9841
SCIP_EXPORT SCIP_Real SCIPselectSimpleValue(SCIP_Real lb, SCIP_Real ub, SCIP_Longint maxdnom)
Definition: misc.c:9705
SCIP_EXPORT void SCIPdigraphPrintGml(SCIP_DIGRAPH *digraph, FILE *file)
Definition: misc.c:8472
SCIP_EXPORT SCIP_Bool SCIPbtnodeIsRightchild(SCIP_BTNODE *node)
Definition: misc.c:8771
SCIP_EXPORT SCIP_RETCODE SCIPcomputeArraysIntersection(int *array1, int narray1, int *array2, int narray2, int *intersectarray, int *nintersectarray)
Definition: misc.c:10361
SCIP_EXPORT SCIP_RETCODE SCIPdigraphTopoSortComponents(SCIP_DIGRAPH *digraph)
Definition: misc.c:8106
SCIP_EXPORT void SCIPhashmapEntrySetImageInt(SCIP_HASHMAPENTRY *entry, int image)
Definition: misc.c:3550
type definitions for message output methods
Definition: struct_misc.h:268
SCIP_EXPORT void SCIPdigraphPrint(SCIP_DIGRAPH *digraph, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
Definition: misc.c:8437
SCIP_EXPORT void SCIPregressionAddObservation(SCIP_REGRESSION *regression, SCIP_Real x, SCIP_Real y)
Definition: misc.c:370
common defines and data types used in all packages of SCIP
SCIP_EXPORT void SCIPdigraphSetNodeData(SCIP_DIGRAPH *digraph, void *dataptr, int node)
Definition: misc.c:7663
SCIP_EXPORT SCIP_Bool SCIPstrToIntValue(const char *str, int *value, char **endptr)
Definition: misc.c:10660
SCIP_EXPORT SCIP_RETCODE SCIPhashmapSetImageReal(SCIP_HASHMAP *hashmap, void *origin, SCIP_Real image)
Definition: misc.c:3330
SCIP_EXPORT void SCIPgmlWriteNode(FILE *file, unsigned int id, const char *label, const char *nodetype, const char *fillcolor, const char *bordercolor)
Definition: misc.c:486
SCIP_EXPORT SCIP_RETCODE SCIPcalcIntegralScalar(SCIP_Real *vals, int nvals, SCIP_Real mindelta, SCIP_Real maxdelta, SCIP_Longint maxdnom, SCIP_Real maxscale, SCIP_Real *intscalar, SCIP_Bool *success)
Definition: misc.c:9444
SCIP_EXPORT int SCIPsparseSolGetNVars(SCIP_SPARSESOL *sparsesol)
Definition: misc.c:779
SCIP_EXPORT SCIP_Longint SCIPcalcSmaComMul(SCIP_Longint val1, SCIP_Longint val2)
Definition: misc.c:9260
SCIP_EXPORT SCIP_Bool SCIPhashmapIsEmpty(SCIP_HASHMAP *hashmap)
Definition: misc.c:3462
SCIP_EXPORT SCIP_RETCODE SCIPsparseSolCreate(SCIP_SPARSESOL **sparsesol, SCIP_VAR **vars, int nvars, SCIP_Bool cleared)
Definition: misc.c:703
Definition: struct_misc.h:210
SCIP_EXPORT void ** SCIPhashsetGetSlots(SCIP_HASHSET *hashset)
Definition: misc.c:3947
SCIP_EXPORT SCIP_RETCODE SCIPprofileInsertCore(SCIP_PROFILE *profile, int left, int right, int height, int *pos, SCIP_Bool *infeasible)
Definition: misc.c:6911
SCIP_EXPORT SCIP_Longint SCIPmultihashGetNElements(SCIP_MULTIHASH *multihash)
Definition: misc.c:2171
SCIP_EXPORT int SCIPmemccpy(char *dest, const char *src, char stop, unsigned int cnt)
Definition: misc.c:10474
SCIP_EXPORT SCIP_RETCODE SCIPhashmapRemove(SCIP_HASHMAP *hashmap, void *origin)
Definition: misc.c:3378
SCIP_EXPORT void SCIPhashmapEntrySetImage(SCIP_HASHMAPENTRY *entry, void *image)
Definition: misc.c:3539
SCIP_EXPORT void SCIPdigraphFreeComponents(SCIP_DIGRAPH *digraph)
Definition: misc.c:8405
SCIP_EXPORT SCIP_RETCODE SCIPprofileCreate(SCIP_PROFILE **profile, int capacity)
Definition: misc.c:6646
SCIP_EXPORT int SCIPhashsetGetNElements(SCIP_HASHSET *hashset)
Definition: misc.c:3931
SCIP_EXPORT void SCIPrandomPermuteArray(SCIP_RANDNUMGEN *randgen, void **array, int begin, int end)
Definition: misc.c:10016
SCIP_EXPORT SCIP_RETCODE SCIPhashmapSetImage(SCIP_HASHMAP *hashmap, void *origin, void *image)
Definition: misc.c:3262
SCIP_EXPORT SCIP_Real SCIPnormalGetCriticalValue(SCIP_CONFIDENCELEVEL clevel)
Definition: misc.c:172
SCIP_EXPORT SCIP_RETCODE SCIPdigraphAddArc(SCIP_DIGRAPH *digraph, int startnode, int endnode, void *data)
Definition: misc.c:7553
methods for selecting (weighted) k-medians
SCIP_EXPORT SCIP_RETCODE SCIPpqueueInsert(SCIP_PQUEUE *pqueue, void *elem)
Definition: misc.c:1334
SCIP_EXPORT SCIP_RETCODE SCIPhashmapSetImageInt(SCIP_HASHMAP *hashmap, void *origin, int image)
Definition: misc.c:3296
memory allocation routines