All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
pub_misc.h
Go to the documentation of this file. 28 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
33 /* on SunOS, the function finite(a) (for the SCIPisFinite macro below) is declared in ieeefp.h */
46 /* in optimized mode some of the function are handled via defines, for that the structs are needed */
57 * For a detailed format decription see http://docs.yworks.com/yfiles/doc/developers-guide/gml.html
186 /** constructs the first solution of sparse solution (all variables are set to their lower bound value */
194 /** constructs the next solution of the sparse solution and return whether there was one more or not */
215 /** creates a (circular) queue, best used if the size will be fixed or will not be increased that much */
324 /** returns the elements of the queue; changing the returned array may destroy the queue's ordering! */
342 /** returns a reasonable hash table size (a prime number) that is at least as large as the specified value */
368 * @note From a performance point of view you should not fill and clear a hash table too often since the clearing can
369 * be expensive. Clearing is done by looping over all buckets and removing the hash table lists one-by-one.
380 * @note A pointer to a hashtablelist returned by SCIPhashtableRetrieveNext() might get invalid when adding an element
389 /** inserts element in hash table (multiple insertion of same element is checked and results in an error)
391 * @note A pointer to a hashtablelist returned by SCIPhashtableRetrieveNext() might get invalid when adding a new
410 * @note The returned hashtablelist pointer might get invalid when adding a new element to the hash table.
415 SCIP_HASHTABLELIST** hashtablelist, /**< input: entry in hash table list from which to start searching, or NULL
437 * @note From a performance point of view you should not fill and clear a hash table too often since the clearing can
438 * be expensive. Clearing is done by looping over all buckets and removing the hash table lists one-by-one.
510 /** inserts new origin->image pair in hash map (must not be called for already existing origins!) */
525 /** sets image for given origin in the hash map, either by modifying existing origin->image pair or by appending a
745 /** returns if the given time point exists in the resource profile and stores the position of the given time point if it
755 /** insert a core into resource profile; if the core is non-empty the resource profile will be updated otherwise nothing
777 /** return the earliest possible starting point within the time interval [lb,ub] for a given core (given by its height
790 /** return the latest possible starting point within the time interval [lb,ub] for a given core (given by its height and
838 /** sets the sizes of the successor lists for the nodes in a directed graph and allocates memory for the lists */
910 /** returns the array of indices of the successor nodes; this array must not be changed from outside */
917 /** returns the array of data corresponding to the arcs originating at the given node, or NULL if no data exist; this
928 * @note For each arc, its reverse is added, so the graph does not need to be the directed representation of an
943 /** Performes an (almost) topological sort on the undirected components of the given directed graph. The undirected
946 * @note In general a topological sort is not unique. Note, that there might be directed cycles, that are randomly
954 /** returns the number of previously computed undirected components for the given directed graph */
960 /** Returns the previously computed undirected component of the given number for the given directed graph.
961 * If the components were sorted using SCIPdigraphTopoSortComponents(), the component is (almost) topologically sorted.
1087 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1099 #define SCIPbtnodeIsLeftchild(node) ((node)->parent == NULL ? FALSE : (node)->parent->left == (node) ? TRUE : FALSE)
1100 #define SCIPbtnodeIsRightchild(node) ((node)->parent == NULL ? FALSE : (node)->parent->right == (node) ? TRUE : FALSE)
1153 * @note The user pointers (object) of the search nodes are not freed. If needed, it has to be done by the user.
1181 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1219 /** sort an indexed element set in non-decreasing order, resulting in a permutation index array */
1245 /** sort of two joint arrays of pointers/pointers, sorted by first array in non-decreasing order */
1254 /** sort of two joint arrays of pointers/Reals, sorted by first array in non-decreasing order */
1263 /** sort of two joint arrays of pointers/ints, sorted by first array in non-decreasing order */
1272 /** sort of two joint arrays of pointers/Bools, sorted by first array in non-decreasing order */
1282 /** sort of three joint arrays of pointers/ints/ints, sorted by first array in non-decreasing order */
1292 /** sort of three joint arrays of pointers/Reals/ints, sorted by first array in non-decreasing order */
1302 /** sort of three joint arrays of pointers/pointers/ints, sorted by first array in non-decreasing order */
1312 /** sort of three joint arrays of pointers/pointers/Reals, sorted by first array in non-decreasing order */
1322 /** sort of four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-decreasing order */
1333 /** sort of four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-decreasing order */
1344 /** sort of four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-decreasing order */
1355 /** sort of four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-decreasing order */
1366 /** sort of five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-decreasing order */
1385 /** sort of two joint arrays of Reals/pointers, sorted by first array in non-decreasing order */
1401 /** sort of three joint arrays of Reals/Bools/Pointer, sorted by first array in non-decreasing order */
1410 /** sort of three joint arrays of Reals/ints/Longs, sorted by first array in non-decreasing order */
1419 /** sort of three joint arrays of Reals/ints/Pointer, sorted by first array in non-decreasing order */
1428 /** sort of three joint arrays of Reals/Reals/Pointer, sorted by first array in non-decreasing order */
1437 /** sort of four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-decreasing order */
1447 /** sort of five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-decreasing order */
1458 /** sort of four joint arrays of Reals/Longs/Reals/ints, sorted by first array in non-decreasing order */
1468 /** sort of four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-decreasing order */
1478 /** sort of four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-decreasing order */
1488 /** sort of four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-decreasing order */
1498 /** sort of five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-decreasing order */
1524 /** sort of two joint arrays of ints/pointers, sorted by first array in non-decreasing order */
1540 /** sort of three joint arrays of ints/ints/ints, sorted by first array in non-decreasing order */
1549 /** sort of three joint arrays of ints/ints/Longints, sorted by first array in non-decreasing order */
1558 /** sort of three joint arrays of ints/ints/pointers, sorted by first array in non-decreasing order */
1567 /** sort of three joint arrays of ints/ints/reals, sorted by first array in non-decreasing order */
1576 /** sort of three joint arrays of ints/pointers/reals, sorted by first array in non-decreasing order */
1585 /** sort of four joint arrays of ints/ints/ints/pointers, sorted by first array in non-decreasing order */
1595 /** sort of four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-decreasing order */
1612 /** sort of two joint arrays of Long/pointer, sorted by the first array in non-decreasing order */
1620 /** sort of three arrays of Long/pointer/ints, sorted by the first array in non-decreasing order */
1629 /** sort of four arrays of Long/pointer/Real/Bool, sorted by the first array in non-decreasing order */
1639 /** sort of five arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-decreasing order */
1650 /** sort of six arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-decreasing order */
1662 /** sort of four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-decreasing order */
1672 /** sort of five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-decreasing order */
1683 /** sort of five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-decreasing order */
1694 /** sort of five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order */
1706 /** sort of six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order */
1720 /** sort an indexed element set in non-increasing order, resulting in a permutation index array */
1746 /** sort of two joint arrays of pointers/pointers, sorted by first array in non-increasing order */
1755 /** sort of two joint arrays of pointers/Reals, sorted by first array in non-increasing order */
1764 /** sort of two joint arrays of pointers/ints, sorted by first array in non-increasing order */
1773 /** sort of two joint arrays of pointers/Bools, sorted by first array in non-increasing order */
1782 /** sort of three joint arrays of pointers/ints/ints, sorted by first array in non-increasing order */
1792 /** sort of three joint arrays of pointers/Reals/ints, sorted by first array in non-increasing order */
1802 /** sort of three joint arrays of pointers/pointers/ints, sorted by first array in non-increasing order */
1812 /** sort of three joint arrays of pointers/pointers/Reals, sorted by first array in non-increasing order */
1822 /** sort of four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-increasing order */
1833 /** sort of four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-increasing order */
1844 /** sort of four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-increasing order */
1855 /** sort of four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-increasing order */
1866 /** sort of five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-increasing order */
1885 /** sort of two joint arrays of Reals/pointers, sorted by first array in non-increasing order */
1901 /** sort of three joint arrays of Reals/Bools/Pointer, sorted by first array in non-increasing order */
1910 /** sort of three joint arrays of Reals/ints/Longs, sorted by first array in non-increasing order */
1919 /** sort of three joint arrays of Reals/ints/Pointer, sorted by first array in non-increasing order */
1928 /** sort of three joint arrays of Reals/Reals/Pointer, sorted by first array in non-increasing order */
1937 /** sort of four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-increasing order */
1947 /** sort of five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-increasing order */
1958 /** sort of four joint arrays of Reals/Longs/Reals/ints, sorted by first array in non-increasing order */
1968 /** sort of four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-increasing order */
1979 /** sort of four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-increasing order */
1989 /** sort of four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-increasing order */
1999 /** sort of three joint arrays of Reals/pointers, sorted by first array in non-decreasing order */
2008 /** sort of five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-increasing order */
2034 /** sort of two joint arrays of ints/pointers, sorted by first array in non-increasing order */
2050 /** sort of three joint arrays of ints/ints/ints, sorted by first array in non-increasing order */
2059 /** sort of three joint arrays of ints/ints/SCIP_Longint, sorted by first array in non-increasing order */
2068 /** sort of three joint arrays of ints/ints/pointers, sorted by first array in non-increasing order */
2077 /** sort of three joint arrays of ints/ints/Reals, sorted by first array in non-increasing order */
2086 /** sort of four joint arrays of ints/ints/ints/pointers, sorted by first array in non-increasing order */
2096 /** sort of four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-increasing order */
2113 /** sort of two joint arrays of Long/pointer, sorted by the first array in non-increasing order */
2121 /** sort of three arrays of Long/pointer/ints, sorted by the first array in non-increasing order */
2130 /** sort of four arrays of Long/pointer/Real/Bool, sorted by the first array in non-increasing order */
2140 /** sort of five arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-increasing order */
2151 /** sort of six arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-increasing order */
2163 /** sort of four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-increasing order */
2173 /** sort of five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-increasing order */
2184 /** sort of five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-increasing order */
2195 /** sort of five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-increasing order */
2207 /** sort of six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-increasing order */
2246 /** insert a new element into two joint arrays of pointers/pointers sorted by first array in non-decreasing order */
2258 /** insert a new element into two joint arrays of pointers/Reals, sorted by first array in non-decreasing order */
2270 /** insert a new element into two joint arrays of pointers/ints, sorted by first array in non-decreasing order */
2282 /** insert a new element into two joint arrays of pointers/Bools, sorted by first array in non-decreasing order */
2294 /** insert a new element into three joint arrays of pointers/ints/ints, sorted by first array in non-decreasing order */
2308 /** insert a new element into three joint arrays of pointers/Reals/ints, sorted by first array in non-decreasing order */
2322 /** insert a new element into three joint arrays of pointers/pointers/Ints, sorted by first array in non-decreasing order */
2336 /** insert a new element into three joint arrays of pointers/pointers/Reals, sorted by first array in non-decreasing order */
2350 /** insert a new element into four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-decreasing order */
2366 /** insert a new element into four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-decreasing order */
2382 /** insert a new element into four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-decreasing order */
2398 /** insert a new element into four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-decreasing order */
2414 /** insert a new element into five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-decreasing order */
2432 /** insert a new element into three joint arrays of Reals/Bools/pointers, sorted by first array in non-decreasing order */
2445 /** insert a new element into two joint arrays of Reals/pointers, sorted by first array in non-decreasing order */
2465 /** insert a new element into two joint arrays of Reals/ints, sorted by first array in non-decreasing order */
2476 /** insert a new element into three joint arrays of Reals/ints/Longs, sorted by first array in non-decreasing order */
2489 /** insert a new element into three joint arrays of Reals/ints/Pointer, sorted by first array in non-decreasing order */
2502 /** insert a new element into three joint arrays of Reals/Reals/Pointer, sorted by first array in non-decreasing order */
2515 /** insert a new element into four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-decreasing order */
2530 /** insert a new element into five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-decreasing order */
2547 /** insert a new element into four joint arrays of Reals/Long/Reals/ints, sorted by first array in non-decreasing order */
2562 /** insert a new element into four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-decreasing order */
2577 /** insert a new element into four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-decreasing order */
2592 /** insert a new element into four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-decreasing order */
2607 /** insert a new element into five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-decreasing order */
2633 /** insert a new element into two joint arrays of ints/ints, sorted by first array in non-decreasing order */
2644 /** insert a new element into two joint arrays of ints/pointers, sorted by first array in non-decreasing order */
2655 /** insert a new element into two joint arrays of ints/reals, sorted by first array in non-decreasing order */
2666 /** insert a new element into three joint arrays of ints/ints/ints, sorted by first array in non-decreasing order */
2679 /** insert a new element into three joint arrays of ints/ints/SCIP_Longint, sorted by first array in non-decreasing order */
2692 /** insert a new element into three joint arrays of ints/ints/pointers, sorted by first array in non-decreasing order */
2705 /** insert a new element into three joint arrays of ints/ints/Reals, sorted by first array in non-decreasing order */
2718 /** insert a new element into three joint arrays of ints/pointers/Reals, sorted by first array in non-decreasing order */
2731 /** insert a new element into four joint arrays of ints/ints/ints/pointers, sorted by first array in non-decreasing order */
2746 /** insert a new element into four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-decreasing order */
2770 /** insert a new element into two joint arrays of Long/pointer, sorted by the first array in non-decreasing order */
2781 /** insert a new element into three joint arrays of Long/pointer/ints, sorted by the first array in non-decreasing order */
2794 /** insert a new element into four joint arrays of Long/pointer/Real/Bool, sorted by the first array in non-decreasing order */
2809 /** insert a new element into five joint arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-decreasing order */
2826 /** insert a new element into six joint arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-decreasing order */
2845 /** insert a new element into four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-decreasing order */
2860 /** insert a new element into five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-decreasing order */
2877 /** insert a new element into five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-decreasing order */
2894 /** insert a new element into five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order */
2912 /** insert a new element into six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order */
2955 /** insert a new element into two joint arrays of pointers/pointers, sorted by first array in non-increasing order */
2967 /** insert a new element into two joint arrays of pointers/Reals, sorted by first array in non-increasing order */
2979 /** insert a new element into two joint arrays of pointers/ints, sorted by first array in non-increasing order */
2991 /** insert a new element into two joint arrays of pointers/Bools, sorted by first array in non-increasing order */
3003 /** insert a new element into three joint arrays of pointers/ints/ints, sorted by first array in non-increasing order */
3017 /** insert a new element into three joint arrays of pointers/Reals/ints, sorted by first array in non-increasing order */
3031 /** insert a new element into three joint arrays of pointers/pointers/Ints, sorted by first array in non-increasing order */
3045 /** insert a new element into three joint arrays of pointers/pointers/Reals, sorted by first array in non-increasing order */
3059 /** insert a new element into four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-increasing order */
3075 /** insert a new element into four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-increasing order */
3091 /** insert a new element into four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-increasing order */
3107 /** insert a new element into four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-increasing order */
3123 /** insert a new element into five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-increasing order */
3150 /** insert a new element into three joint arrays of Reals/Bools/pointers, sorted by first array in non-increasing order */
3163 /** insert a new element into two joint arrays of Reals/pointers, sorted by first array in non-increasing order */
3174 /** insert a new element into three joint arrays of Reals/pointers, sorted by first array in non-increasing order */
3187 /** insert a new element into two joint arrays of Reals/ints, sorted by first array in non-increasing order */
3198 /** insert a new element into three joint arrays of Reals/ints/Longs, sorted by first array in non-increasing order */
3211 /** insert a new element into three joint arrays of Reals/ints/Pointer, sorted by first array in non-increasing order */
3224 /** insert a new element into three joint arrays of Reals/Reals/Pointer, sorted by first array in non-increasing order */
3237 /** insert a new element into four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-increasing order */
3252 /** insert a new element into five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-increasing order */
3269 /** insert a new element into four joint arrays of Reals/Longs/Reals/ints, sorted by first array in non-increasing order */
3284 /** insert a new element into four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-increasing order */
3299 /** insert a new element into four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-increasing order */
3314 /** insert a new element into four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-increasing order */
3329 /** insert a new element into five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-increasing order */
3355 /** insert a new element into two joint arrays of ints/ints, sorted by first array in non-increasing order */
3366 /** insert a new element into two joint arrays of ints/reals, sorted by first array in non-increasing order */
3377 /** insert a new element into three joint arrays of ints/ints/ints, sorted by first array in non-increasing order */
3390 /** insert a new element into three joint arrays of ints/ints/SCIP_Longint, sorted by first array in non-increasing order */
3403 /** insert a new element into three joint arrays of ints/ints/pointers, sorted by first array in non-increasing order */
3416 /** insert a new element into three joint arrays of ints/ints/Reals, sorted by first array in non-increasing order */
3429 /** insert a new element into two joint arrays of ints/pointers, sorted by first array in non-increasing order */
3440 /** insert a new element into four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-increasing order */
3456 /** insert a new element into four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-increasing order */
3480 /** insert a new element into two joint arrays of Long/pointer, sorted by the first array in non-increasing order */
3491 /** insert a new element into three joint arrays of Long/pointer/ints, sorted by the first array in non-increasing order */
3504 /** insert a new element into four joint arrays of Long/pointer/Real/Bool, sorted by the first array in non-increasing order */
3519 /** insert a new element into five joint arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-increasing order */
3536 /** insert a new element into six joint arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-increasing order */
3555 /** insert a new element into four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-increasing order */
3570 /** insert a new element into five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-increasing order */
3587 /** insert a new element into five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-increasing order */
3604 /** insert a new element into five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-increasing order */
3622 /** insert a new element into six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-increased order */
3653 /** delete the element at the given position from an array of pointers in non-decreasing order */
3662 /** delete the element at the given position from two joint arrays of pointers/pointers, sorted by first array in non-decreasing order */
3672 /** delete the element at the given position from two joint arrays of pointers/Reals, sorted by first array in non-decreasing order */
3682 /** delete the element at the given position from two joint arrays of pointers/ints, sorted by first array in non-decreasing order */
3692 /** delete the element at the given position from two joint arrays of pointers/Bools, sorted by first array in non-decreasing order */
3702 /** delete the element at the given position from three joint arrays of pointers/ints/ints, sorted by first array in non-decreasing order */
3713 /** delete the element at the given position from three joint arrays of pointers/Reals/ints, sorted by first array in non-decreasing order */
3724 /** delete the element at the given position from three joint arrays of pointers/pointers/Ints, sorted by first array in non-decreasing order */
3735 /** delete the element at the given position from three joint arrays of pointers/pointers/Reals, sorted by first array in non-decreasing order */
3746 /** delete the element at the given position from four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-decreasing order */
3758 /** delete the element at the given position from four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-decreasing order */
3770 /** deletes the element at the given position from four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-decreasing order */
3782 /** deletes the element at the given position from four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-decreasing order */
3794 /** deletes the element at the given position from five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-decreasing order */
3807 /** delete the element at the given position from three joint arrays of Reals/Bools/pointers, sorted by first array in non-decreasing order */
3817 /** delete the element at the given position from two joint arrays of Reals/pointers, sorted by first array in non-decreasing order */
3826 /** delete the element at the given position from an arrays of Reals, sorted in non-decreasing order */
3834 /** delete the element at the given position from two joint arrays of Reals/ints, sorted by first array in non-decreasing order */
3843 /** delete the element at the given position from three joint arrays of Reals/ints/Longs, sorted by first array in non-decreasing order */
3853 /** delete the element at the given position from three joint arrays of Reals/ints/Pointer, sorted by first array in non-decreasing order */
3863 /** delete the element at the given position from three joint arrays of Reals/Reals/Pointer, sorted by first array in non-decreasing order */
3873 /** delete the element at the given position from four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-decreasing order */
3884 /** delete the element at the given position from five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-decreasing order */
3896 /** delete the element at the given position from four joint arrays of Reals/Long/Reals/ints, sorted by first array in non-decreasing order */
3907 /** delete the element at the given position from four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-decreasing order */
3918 /** delete the element at the given position from four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-decreasing order */
3929 /** delete the element at the given position from four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-decreasing order */
3940 /** delete the element at the given position from five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-decreasing order */
3960 /** delete the element at the given position from two joint arrays of ints/ints, sorted by first array in non-decreasing order */
3969 /** delete the element at the given position from two joint arrays of ints/reals, sorted by first array in non-decreasing order */
3978 /** delete the element at the given position from three joint arrays of ints/ints/ints, sorted by first array in non-decreasing order */
3988 /** delete the element at the given position from three joint arrays of ints/ints/SCIP_Longint, sorted by first array in non-decreasing order */
3998 /** delete the element at the given position from three joint arrays of ints/ints/pointers, sorted by first array in non-decreasing order */
4008 /** delete the element at the given position from three joint arrays of ints/ints/Reals, sorted by first array in non-decreasing order */
4018 /** delete the element at the given position from two joint arrays of ints/pointers, sorted by first array in non-decreasing order */
4027 /** delete the element at the given position from three joint arrays of ints/pointers/Reals, sorted by first array in non-decreasing order */
4037 /** delete the element at the given position from four joint arrays of ints/ints/ints/pointers, sorted by first array in non-decreasing order */
4049 /** delete the element at the given position from four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-decreasing order */
4060 /** delete the element at the given position from an array of Longints, sorted by in non-decreasing order */
4068 /** delete the element at the given position from two joint arrays of Long/pointer, sorted by the first array in non-decreasing order */
4077 /** delete the element at the given position from three joint arrays of Long/pointer/int, sorted by the first array in non-decreasing order */
4087 /** delete the element at the given position from four joint arrays of Long/pointer/Real/Bool, sorted by the first array in non-decreasing order */
4098 /** delete the element at the given position from five joint arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-decreasing order */
4110 /** delete the element at the given position from six joint arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-decreasing order */
4123 /** delete the element at the given position from four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-decreasing order */
4134 /** delete the element at the given position from five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-decreasing order */
4146 /** delete the element at the given position from five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-decreasing order */
4158 /** delete the element at the given position from five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order */
4171 /** delete the element at the given position from six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order */
4196 /** delete the element at the given position from an array of pointers in non-increasing order */
4205 /** delete the element at the given position from two joint arrays of pointers/pointers, sorted by first array in non-increasing order */
4215 /** delete the element at the given position from two joint arrays of pointers/Reals, sorted by first array in non-increasing order */
4225 /** delete the element at the given position from two joint arrays of pointers/ints, sorted by first array in non-increasing order */
4235 /** delete the element at the given position from two joint arrays of pointers/Bools, sorted by first array in non-increasing order */
4245 /** delete the element at the given position from three joint arrays of pointers/ints/ints, sorted by first array in non-increasing order */
4256 /** delete the element at the given position from three joint arrays of pointers/Reals/ints, sorted by first array in non-increasing order */
4267 /** delete the element at the given position from three joint arrays of pointers/pointers/Ints, sorted by first array in non-increasing order */
4278 /** delete the element at the given position from three joint arrays of pointers/pointers/Reals, sorted by first array in non-increasing order */
4289 /** delete the element at the given position from four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-increasing order */
4301 /** delete the element at the given position from four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-increasing order */
4313 /** deletes the element at the given position from four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-increasing order */
4325 /** deletes the element at the given position from four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-increasing order */
4337 /** deletes the element at the given position from five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-increasing order */
4350 /** delete the element at the given position from an array of Reals, sorted in non-increasing order */
4359 /** delete the element at the given position from three joint arrays of Reals/Bools/pointers, sorted by first array in non-increasing order */
4369 /** delete the element at the given position from two joint arrays of Reals/pointers, sorted by first array in non-increasing order */
4378 /** delete the element at the given position from two joint arrays of Reals/ints, sorted by first array in non-increasing order */
4387 /** delete the element at the given position from three joint arrays of Reals/ints/Longs, sorted by first array in non-increasing order */
4397 /** delete the element at the given position from three joint arrays of Reals/ints/Pointer, sorted by first array in non-increasing order */
4407 /** delete the element at the given position from three joint arrays of Reals/Reals/Pointer, sorted by first array in non-increasing order */
4417 /** delete the element at the given position from three joint arrays of Reals/Reals/Pointer, sorted by first array in non-increasing order */
4427 /** delete the element at the given position from four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-increasing order */
4438 /** delete the element at the given position from five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-increasing order */
4450 /** delete the element at the given position from four joint arrays of Reals/Long/Reals/ints, sorted by first array in non-increasing order */
4461 /** delete the element at the given position from four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-increasing order */
4472 /** delete the element at the given position from four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-increasing order */
4483 /** delete the element at the given position from four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-increasing order */
4494 /** delete the element at the given position from five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-increasing order */
4514 /** delete the element at the given position from two joint arrays of ints/ints, sorted by first array in non-increasing order */
4523 /** delete the element at the given position from two joint arrays of ints/reals, sorted by first array in non-increasing order */
4532 /** delete the element at the given position from three joint arrays of ints/ints/ints, sorted by first array in non-increasing order */
4542 /** delete the element at the given position from three joint arrays of ints/ints/SCIP_Longint, sorted by first array in non-increasing order */
4552 /** delete the element at the given position from three joint arrays of ints/ints/pointers, sorted by first array in non-increasing order */
4562 /** delete the element at the given position from three joint arrays of ints/ints/Reals, sorted by first array in non-increasing order */
4572 /** delete the element at the given position from two joint arrays of ints/pointers, sorted by first array in non-increasing order */
4582 /** delete the element at the given position from four joint arrays of ints/ints/ints/pointers, sorted by first array in non-decreasing order */
4593 /** delete the element at the given position from four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-decreasing order */
4604 /** delete the element at the given position from an array of Longints, sorted in non-increasing order */
4612 /** delete the element at the given position from three two arrays of Long/pointer, sorted by the first array in non-increasing order */
4621 /** delete the element at the given position from three joint arrays of Long/pointer/int, sorted by the first array in non-increasing order */
4631 /** delete the element at the given position from three joint arrays of Long/pointer/Real/Bool, sorted by the first array in non-increasing order */
4642 /** delete the element at the given position from five joint arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-increasing order */
4654 /** delete the element at the given position from six joint arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-increasing order */
4668 /** delete the element at the given position from four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-increasing order */
4679 /** delete the element at the given position from five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-increasing order */
4691 /** delete the element at the given position from five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-increasing order */
4703 /** delete the element at the given position from five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-increasing order */
4716 /** delete the element at the given position from six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-increasing order */
4733 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4734 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4735 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4736 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4749 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4750 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4751 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4752 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4764 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4765 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4766 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4767 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4778 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4779 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4780 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4781 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4792 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4793 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4794 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4795 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4809 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4810 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4811 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4812 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4825 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4826 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4827 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4828 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4840 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4841 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4842 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4843 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4854 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4855 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4856 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4857 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4868 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4869 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4870 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4871 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4918 /** converts a real number into a (approximate) rational representation, and returns TRUE iff the conversion was
4931 /** tries to find a value, such that all given values, if scaled with this value become integral in relative allowed
4938 SCIP_Real mindelta, /**< minimal relative allowed difference of scaled coefficient s*c and integral i */
4939 SCIP_Real maxdelta, /**< maximal relative allowed difference of scaled coefficient s*c and integral i */
4942 SCIP_Real* intscalar, /**< pointer to store scalar that would make the coefficients integral, or NULL */
4946 /** given a (usually very small) interval, tries to find a rational number with simple denominator (i.e. a small
4947 * number, probably multiplied with powers of 10) out of this interval; returns TRUE iff a valid rational
4959 /** given a (usually very small) interval, selects a value inside this interval; it is tried to select a rational number
4961 * if no valid rational number inside the interval was found, selects the central value of the interval
4975 * As last resort, we check whether x == x does not hold, but this works only for NaN's, not for infinities!
4977 #if _XOPEN_SOURCE >= 600 || defined(_ISOC99_SOURCE) || _POSIX_C_SOURCE >= 200112L || defined(__APPLE__)
5000 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
5048 /** calculates a binomial coefficient n over m, choose m elements out of n, maximal value will be 33 over 16 (because
5049 * 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
5106 * this implementation is suited for the case that nsubelems is considerably smaller then nelems
5128 /** copies characters from 'src' to 'dest', copying is stopped when either the 'stop' character is reached or after
5141 /** prints an error message containing of the given string followed by a string describing the current system error;
5142 * prefers to use the strerror_r method, which is threadsafe; on systems where this method does not exist,
5143 * NO_STRERROR_R should be defined (see INSTALL), in this case, srerror is used which is not guaranteed to be
5159 /** translates the given string into a string where symbols ", ', and spaces are escaped with a \ prefix */
5176 /** 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
5184 char** endptr /**< pointer to store the final string position if successfully parsed, otherwise @p str */
5187 /** 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
5195 char** endptr /**< pointer to store the final string position if successfully parsed, otherwise @p str */
|