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
835 /** sets the sizes of the successor lists for the nodes in a directed graph and allocates memory for the lists */
907 /** returns the array of indices of the successor nodes; this array must not be changed from outside */
914 /** returns the array of datas corresponding to the arcs originating at the given node, or NULL if no data exist; this
925 * @note For each arc, its reverse is added, so the graph does not need to be the directed representation of an
940 /** Performes an (almost) topological sort on the undirected components of the given directed graph. The undirected
943 * @note In general a topological sort is not unique. Note, that there might be directed cycles, that are randomly
951 /** returns the number of previously computed undirected components for the given directed graph */
957 /** Returns the previously computed undirected component of the given number for the given directed graph.
958 * If the components were sorted using SCIPdigraphTopoSortComponents(), the component is (almost) topologically sorted.
1084 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1096 #define SCIPbtnodeIsLeftchild(node) ((node)->parent == NULL ? FALSE : (node)->parent->left == (node) ? TRUE : FALSE)
1097 #define SCIPbtnodeIsRightchild(node) ((node)->parent == NULL ? FALSE : (node)->parent->right == (node) ? TRUE : FALSE)
1150 * @note The user pointers (object) of the search nodes are not freed. If needed, it has to be done by the user.
1178 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1216 /** sort an indexed element set in non-decreasing order, resulting in a permutation index array */
1242 /** sort of two joint arrays of pointers/pointers, sorted by first array in non-decreasing order */
1251 /** sort of two joint arrays of pointers/Reals, sorted by first array in non-decreasing order */
1260 /** sort of two joint arrays of pointers/ints, sorted by first array in non-decreasing order */
1269 /** sort of two joint arrays of pointers/Bools, sorted by first array in non-decreasing order */
1279 /** sort of three joint arrays of pointers/ints/ints, sorted by first array in non-decreasing order */
1289 /** sort of three joint arrays of pointers/Reals/ints, sorted by first array in non-decreasing order */
1299 /** sort of three joint arrays of pointers/pointers/ints, sorted by first array in non-decreasing order */
1309 /** sort of three joint arrays of pointers/pointers/Reals, sorted by first array in non-decreasing order */
1319 /** sort of four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-decreasing order */
1330 /** sort of four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-decreasing order */
1341 /** sort of four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-decreasing order */
1352 /** sort of four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-decreasing order */
1363 /** sort of five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-decreasing order */
1382 /** sort of two joint arrays of Reals/pointers, sorted by first array in non-decreasing order */
1398 /** sort of three joint arrays of Reals/Bools/Pointer, sorted by first array in non-decreasing order */
1407 /** sort of three joint arrays of Reals/ints/Longs, sorted by first array in non-decreasing order */
1416 /** sort of three joint arrays of Reals/ints/Pointer, sorted by first array in non-decreasing order */
1425 /** sort of three joint arrays of Reals/Reals/Pointer, sorted by first array in non-decreasing order */
1434 /** sort of four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-decreasing order */
1444 /** sort of five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-decreasing order */
1455 /** sort of four joint arrays of Reals/Longs/Reals/ints, sorted by first array in non-decreasing order */
1465 /** sort of four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-decreasing order */
1475 /** sort of four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-decreasing order */
1485 /** sort of four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-decreasing order */
1495 /** sort of five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-decreasing order */
1521 /** sort of two joint arrays of ints/pointers, sorted by first array in non-decreasing order */
1537 /** sort of three joint arrays of ints/ints/ints, sorted by first array in non-decreasing order */
1546 /** sort of three joint arrays of ints/ints/Longints, sorted by first array in non-decreasing order */
1555 /** sort of three joint arrays of ints/ints/pointers, sorted by first array in non-decreasing order */
1564 /** sort of three joint arrays of ints/ints/reals, sorted by first array in non-decreasing order */
1573 /** sort of three joint arrays of ints/pointers/reals, sorted by first array in non-decreasing order */
1582 /** sort of four joint arrays of ints/ints/ints/pointers, sorted by first array in non-decreasing order */
1592 /** sort of four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-decreasing order */
1609 /** sort of two joint arrays of Long/pointer, sorted by the first array in non-decreasing order */
1617 /** sort of three arrays of Long/pointer/ints, sorted by the first array in non-decreasing order */
1626 /** sort of four arrays of Long/pointer/Real/Bool, sorted by the first array in non-decreasing order */
1636 /** sort of five arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-decreasing order */
1647 /** sort of six arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-decreasing order */
1659 /** sort of four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-decreasing order */
1669 /** sort of five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-decreasing order */
1680 /** sort of five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-decreasing order */
1691 /** sort of five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order */
1703 /** sort of six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order */
1717 /** sort an indexed element set in non-increasing order, resulting in a permutation index array */
1743 /** sort of two joint arrays of pointers/pointers, sorted by first array in non-increasing order */
1752 /** sort of two joint arrays of pointers/Reals, sorted by first array in non-increasing order */
1761 /** sort of two joint arrays of pointers/ints, sorted by first array in non-increasing order */
1770 /** sort of two joint arrays of pointers/Bools, sorted by first array in non-increasing order */
1779 /** sort of three joint arrays of pointers/ints/ints, sorted by first array in non-increasing order */
1789 /** sort of three joint arrays of pointers/Reals/ints, sorted by first array in non-increasing order */
1799 /** sort of three joint arrays of pointers/pointers/ints, sorted by first array in non-increasing order */
1809 /** sort of three joint arrays of pointers/pointers/Reals, sorted by first array in non-increasing order */
1819 /** sort of four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-increasing order */
1830 /** sort of four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-increasing order */
1841 /** sort of four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-increasing order */
1852 /** sort of four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-increasing order */
1863 /** sort of five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-increasing order */
1882 /** sort of two joint arrays of Reals/pointers, sorted by first array in non-increasing order */
1898 /** sort of three joint arrays of Reals/Bools/Pointer, sorted by first array in non-increasing order */
1907 /** sort of three joint arrays of Reals/ints/Longs, sorted by first array in non-increasing order */
1916 /** sort of three joint arrays of Reals/ints/Pointer, sorted by first array in non-increasing order */
1925 /** sort of three joint arrays of Reals/Reals/Pointer, sorted by first array in non-increasing order */
1934 /** sort of four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-increasing order */
1944 /** sort of five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-increasing order */
1955 /** sort of four joint arrays of Reals/Longs/Reals/ints, sorted by first array in non-increasing order */
1965 /** sort of four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-increasing order */
1976 /** sort of four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-increasing order */
1986 /** sort of four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-increasing order */
1996 /** sort of three joint arrays of Reals/pointers, sorted by first array in non-decreasing order */
2005 /** sort of five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-increasing order */
2031 /** sort of two joint arrays of ints/pointers, sorted by first array in non-increasing order */
2047 /** sort of three joint arrays of ints/ints/ints, sorted by first array in non-increasing order */
2056 /** sort of three joint arrays of ints/ints/SCIP_Longint, sorted by first array in non-increasing order */
2065 /** sort of three joint arrays of ints/ints/pointers, sorted by first array in non-increasing order */
2074 /** sort of three joint arrays of ints/ints/Reals, sorted by first array in non-increasing order */
2083 /** sort of four joint arrays of ints/ints/ints/pointers, sorted by first array in non-increasing order */
2093 /** sort of four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-increasing order */
2110 /** sort of two joint arrays of Long/pointer, sorted by the first array in non-increasing order */
2118 /** sort of three arrays of Long/pointer/ints, sorted by the first array in non-increasing order */
2127 /** sort of four arrays of Long/pointer/Real/Bool, sorted by the first array in non-increasing order */
2137 /** sort of five arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-increasing order */
2148 /** sort of six arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-increasing order */
2160 /** sort of four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-increasing order */
2170 /** sort of five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-increasing order */
2181 /** sort of five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-increasing order */
2192 /** sort of five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-increasing order */
2204 /** sort of six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-increasing order */
2243 /** insert a new element into two joint arrays of pointers/pointers sorted by first array in non-decreasing order */
2255 /** insert a new element into two joint arrays of pointers/Reals, sorted by first array in non-decreasing order */
2267 /** insert a new element into two joint arrays of pointers/ints, sorted by first array in non-decreasing order */
2279 /** insert a new element into two joint arrays of pointers/Bools, sorted by first array in non-decreasing order */
2291 /** insert a new element into three joint arrays of pointers/ints/ints, sorted by first array in non-decreasing order */
2305 /** insert a new element into three joint arrays of pointers/Reals/ints, sorted by first array in non-decreasing order */
2319 /** insert a new element into three joint arrays of pointers/pointers/Ints, sorted by first array in non-decreasing order */
2333 /** insert a new element into three joint arrays of pointers/pointers/Reals, sorted by first array in non-decreasing order */
2347 /** insert a new element into four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-decreasing order */
2363 /** insert a new element into four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-decreasing order */
2379 /** insert a new element into four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-decreasing order */
2395 /** insert a new element into four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-decreasing order */
2411 /** insert a new element into five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-decreasing order */
2429 /** insert a new element into three joint arrays of Reals/Bools/pointers, sorted by first array in non-decreasing order */
2442 /** insert a new element into two joint arrays of Reals/pointers, sorted by first array in non-decreasing order */
2462 /** insert a new element into two joint arrays of Reals/ints, sorted by first array in non-decreasing order */
2473 /** insert a new element into three joint arrays of Reals/ints/Longs, sorted by first array in non-decreasing order */
2486 /** insert a new element into three joint arrays of Reals/ints/Pointer, sorted by first array in non-decreasing order */
2499 /** insert a new element into three joint arrays of Reals/Reals/Pointer, sorted by first array in non-decreasing order */
2512 /** insert a new element into four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-decreasing order */
2527 /** insert a new element into five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-decreasing order */
2544 /** insert a new element into four joint arrays of Reals/Long/Reals/ints, sorted by first array in non-decreasing order */
2559 /** insert a new element into four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-decreasing order */
2574 /** insert a new element into four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-decreasing order */
2589 /** insert a new element into four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-decreasing order */
2604 /** insert a new element into five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-decreasing order */
2630 /** insert a new element into two joint arrays of ints/ints, sorted by first array in non-decreasing order */
2641 /** insert a new element into two joint arrays of ints/pointers, sorted by first array in non-decreasing order */
2652 /** insert a new element into two joint arrays of ints/reals, sorted by first array in non-decreasing order */
2663 /** insert a new element into three joint arrays of ints/ints/ints, sorted by first array in non-decreasing order */
2676 /** insert a new element into three joint arrays of ints/ints/SCIP_Longint, sorted by first array in non-decreasing order */
2689 /** insert a new element into three joint arrays of ints/ints/pointers, sorted by first array in non-decreasing order */
2702 /** insert a new element into three joint arrays of ints/ints/Reals, sorted by first array in non-decreasing order */
2715 /** insert a new element into three joint arrays of ints/pointers/Reals, sorted by first array in non-decreasing order */
2728 /** insert a new element into four joint arrays of ints/ints/ints/pointers, sorted by first array in non-decreasing order */
2743 /** insert a new element into four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-decreasing order */
2767 /** insert a new element into two joint arrays of Long/pointer, sorted by the first array in non-decreasing order */
2778 /** insert a new element into three joint arrays of Long/pointer/ints, sorted by the first array in non-decreasing order */
2791 /** insert a new element into four joint arrays of Long/pointer/Real/Bool, sorted by the first array in non-decreasing order */
2806 /** insert a new element into five joint arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-decreasing order */
2823 /** insert a new element into six joint arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-decreasing order */
2842 /** insert a new element into four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-decreasing order */
2857 /** insert a new element into five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-decreasing order */
2874 /** insert a new element into five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-decreasing order */
2891 /** insert a new element into five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order */
2909 /** insert a new element into six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order */
2952 /** insert a new element into two joint arrays of pointers/pointers, sorted by first array in non-increasing order */
2964 /** insert a new element into two joint arrays of pointers/Reals, sorted by first array in non-increasing order */
2976 /** insert a new element into two joint arrays of pointers/ints, sorted by first array in non-increasing order */
2988 /** insert a new element into two joint arrays of pointers/Bools, sorted by first array in non-increasing order */
3000 /** insert a new element into three joint arrays of pointers/ints/ints, sorted by first array in non-increasing order */
3014 /** insert a new element into three joint arrays of pointers/Reals/ints, sorted by first array in non-increasing order */
3028 /** insert a new element into three joint arrays of pointers/pointers/Ints, sorted by first array in non-increasing order */
3042 /** insert a new element into three joint arrays of pointers/pointers/Reals, sorted by first array in non-increasing order */
3056 /** insert a new element into four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-increasing order */
3072 /** insert a new element into four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-increasing order */
3088 /** insert a new element into four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-increasing order */
3104 /** insert a new element into four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-increasing order */
3120 /** insert a new element into five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-increasing order */
3147 /** insert a new element into three joint arrays of Reals/Bools/pointers, sorted by first array in non-increasing order */
3160 /** insert a new element into two joint arrays of Reals/pointers, sorted by first array in non-increasing order */
3171 /** insert a new element into three joint arrays of Reals/pointers, sorted by first array in non-increasing order */
3184 /** insert a new element into two joint arrays of Reals/ints, sorted by first array in non-increasing order */
3195 /** insert a new element into three joint arrays of Reals/ints/Longs, sorted by first array in non-increasing order */
3208 /** insert a new element into three joint arrays of Reals/ints/Pointer, sorted by first array in non-increasing order */
3221 /** insert a new element into three joint arrays of Reals/Reals/Pointer, sorted by first array in non-increasing order */
3234 /** insert a new element into four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-increasing order */
3249 /** insert a new element into five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-increasing order */
3266 /** insert a new element into four joint arrays of Reals/Longs/Reals/ints, sorted by first array in non-increasing order */
3281 /** insert a new element into four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-increasing order */
3296 /** insert a new element into four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-increasing order */
3311 /** insert a new element into four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-increasing order */
3326 /** insert a new element into five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-increasing order */
3352 /** insert a new element into two joint arrays of ints/ints, sorted by first array in non-increasing order */
3363 /** insert a new element into two joint arrays of ints/reals, sorted by first array in non-increasing order */
3374 /** insert a new element into three joint arrays of ints/ints/ints, sorted by first array in non-increasing order */
3387 /** insert a new element into three joint arrays of ints/ints/SCIP_Longint, sorted by first array in non-increasing order */
3400 /** insert a new element into three joint arrays of ints/ints/pointers, sorted by first array in non-increasing order */
3413 /** insert a new element into three joint arrays of ints/ints/Reals, sorted by first array in non-increasing order */
3426 /** insert a new element into two joint arrays of ints/pointers, sorted by first array in non-increasing order */
3437 /** insert a new element into four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-increasing order */
3453 /** insert a new element into four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-increasing order */
3477 /** insert a new element into two joint arrays of Long/pointer, sorted by the first array in non-increasing order */
3488 /** insert a new element into three joint arrays of Long/pointer/ints, sorted by the first array in non-increasing order */
3501 /** insert a new element into four joint arrays of Long/pointer/Real/Bool, sorted by the first array in non-increasing order */
3516 /** insert a new element into five joint arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-increasing order */
3533 /** insert a new element into six joint arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-increasing order */
3552 /** insert a new element into four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-increasing order */
3567 /** insert a new element into five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-increasing order */
3584 /** insert a new element into five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-increasing order */
3601 /** insert a new element into five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-increasing order */
3619 /** insert a new element into six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-increased order */
3650 /** delete the element at the given position from an array of pointers in non-decreasing order */
3659 /** delete the element at the given position from two joint arrays of pointers/pointers, sorted by first array in non-decreasing order */
3669 /** delete the element at the given position from two joint arrays of pointers/Reals, sorted by first array in non-decreasing order */
3679 /** delete the element at the given position from two joint arrays of pointers/ints, sorted by first array in non-decreasing order */
3689 /** delete the element at the given position from two joint arrays of pointers/Bools, sorted by first array in non-decreasing order */
3699 /** delete the element at the given position from three joint arrays of pointers/ints/ints, sorted by first array in non-decreasing order */
3710 /** delete the element at the given position from three joint arrays of pointers/Reals/ints, sorted by first array in non-decreasing order */
3721 /** delete the element at the given position from three joint arrays of pointers/pointers/Ints, sorted by first array in non-decreasing order */
3732 /** delete the element at the given position from three joint arrays of pointers/pointers/Reals, sorted by first array in non-decreasing order */
3743 /** delete the element at the given position from four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-decreasing order */
3755 /** delete the element at the given position from four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-decreasing order */
3767 /** deletes the element at the given position from four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-decreasing order */
3779 /** deletes the element at the given position from four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-decreasing order */
3791 /** 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 */
3804 /** delete the element at the given position from three joint arrays of Reals/Bools/pointers, sorted by first array in non-decreasing order */
3814 /** delete the element at the given position from two joint arrays of Reals/pointers, sorted by first array in non-decreasing order */
3823 /** delete the element at the given position from an arrays of Reals, sorted in non-decreasing order */
3831 /** delete the element at the given position from two joint arrays of Reals/ints, sorted by first array in non-decreasing order */
3840 /** delete the element at the given position from three joint arrays of Reals/ints/Longs, sorted by first array in non-decreasing order */
3850 /** delete the element at the given position from three joint arrays of Reals/ints/Pointer, sorted by first array in non-decreasing order */
3860 /** delete the element at the given position from three joint arrays of Reals/Reals/Pointer, sorted by first array in non-decreasing order */
3870 /** delete the element at the given position from four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-decreasing order */
3881 /** 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 */
3893 /** delete the element at the given position from four joint arrays of Reals/Long/Reals/ints, sorted by first array in non-decreasing order */
3904 /** delete the element at the given position from four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-decreasing order */
3915 /** delete the element at the given position from four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-decreasing order */
3926 /** delete the element at the given position from four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-decreasing order */
3937 /** 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 */
3957 /** delete the element at the given position from two joint arrays of ints/ints, sorted by first array in non-decreasing order */
3966 /** delete the element at the given position from two joint arrays of ints/reals, sorted by first array in non-decreasing order */
3975 /** delete the element at the given position from three joint arrays of ints/ints/ints, sorted by first array in non-decreasing order */
3985 /** delete the element at the given position from three joint arrays of ints/ints/SCIP_Longint, sorted by first array in non-decreasing order */
3995 /** delete the element at the given position from three joint arrays of ints/ints/pointers, sorted by first array in non-decreasing order */
4005 /** delete the element at the given position from three joint arrays of ints/ints/Reals, sorted by first array in non-decreasing order */
4015 /** delete the element at the given position from two joint arrays of ints/pointers, sorted by first array in non-decreasing order */
4024 /** delete the element at the given position from three joint arrays of ints/pointers/Reals, sorted by first array in non-decreasing order */
4034 /** delete the element at the given position from four joint arrays of ints/ints/ints/pointers, sorted by first array in non-decreasing order */
4046 /** delete the element at the given position from four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-decreasing order */
4057 /** delete the element at the given position from an array of Longints, sorted by in non-decreasing order */
4065 /** delete the element at the given position from two joint arrays of Long/pointer, sorted by the first array in non-decreasing order */
4074 /** delete the element at the given position from three joint arrays of Long/pointer/int, sorted by the first array in non-decreasing order */
4084 /** 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 */
4095 /** 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 */
4107 /** 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 */
4120 /** delete the element at the given position from four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-decreasing order */
4131 /** 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 */
4143 /** 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 */
4155 /** 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 */
4168 /** 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 */
4193 /** delete the element at the given position from an array of pointers in non-increasing order */
4202 /** delete the element at the given position from two joint arrays of pointers/pointers, sorted by first array in non-increasing order */
4212 /** delete the element at the given position from two joint arrays of pointers/Reals, sorted by first array in non-increasing order */
4222 /** delete the element at the given position from two joint arrays of pointers/ints, sorted by first array in non-increasing order */
4232 /** delete the element at the given position from two joint arrays of pointers/Bools, sorted by first array in non-increasing order */
4242 /** delete the element at the given position from three joint arrays of pointers/ints/ints, sorted by first array in non-increasing order */
4253 /** delete the element at the given position from three joint arrays of pointers/Reals/ints, sorted by first array in non-increasing order */
4264 /** delete the element at the given position from three joint arrays of pointers/pointers/Ints, sorted by first array in non-increasing order */
4275 /** delete the element at the given position from three joint arrays of pointers/pointers/Reals, sorted by first array in non-increasing order */
4286 /** delete the element at the given position from four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-increasing order */
4298 /** delete the element at the given position from four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-increasing order */
4310 /** deletes the element at the given position from four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-increasing order */
4322 /** deletes the element at the given position from four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-increasing order */
4334 /** 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 */
4347 /** delete the element at the given position from an array of Reals, sorted in non-increasing order */
4356 /** delete the element at the given position from three joint arrays of Reals/Bools/pointers, sorted by first array in non-increasing order */
4366 /** delete the element at the given position from two joint arrays of Reals/pointers, sorted by first array in non-increasing order */
4375 /** delete the element at the given position from two joint arrays of Reals/ints, sorted by first array in non-increasing order */
4384 /** delete the element at the given position from three joint arrays of Reals/ints/Longs, sorted by first array in non-increasing order */
4394 /** delete the element at the given position from three joint arrays of Reals/ints/Pointer, sorted by first array in non-increasing order */
4404 /** delete the element at the given position from three joint arrays of Reals/Reals/Pointer, sorted by first array in non-increasing order */
4414 /** delete the element at the given position from three joint arrays of Reals/Reals/Pointer, sorted by first array in non-increasing order */
4424 /** delete the element at the given position from four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-increasing order */
4435 /** 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 */
4447 /** delete the element at the given position from four joint arrays of Reals/Long/Reals/ints, sorted by first array in non-increasing order */
4458 /** delete the element at the given position from four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-increasing order */
4469 /** delete the element at the given position from four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-increasing order */
4480 /** delete the element at the given position from four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-increasing order */
4491 /** 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 */
4511 /** delete the element at the given position from two joint arrays of ints/ints, sorted by first array in non-increasing order */
4520 /** delete the element at the given position from two joint arrays of ints/reals, sorted by first array in non-increasing order */
4529 /** delete the element at the given position from three joint arrays of ints/ints/ints, sorted by first array in non-increasing order */
4539 /** delete the element at the given position from three joint arrays of ints/ints/SCIP_Longint, sorted by first array in non-increasing order */
4549 /** delete the element at the given position from three joint arrays of ints/ints/pointers, sorted by first array in non-increasing order */
4559 /** delete the element at the given position from three joint arrays of ints/ints/Reals, sorted by first array in non-increasing order */
4569 /** delete the element at the given position from two joint arrays of ints/pointers, sorted by first array in non-increasing order */
4579 /** delete the element at the given position from four joint arrays of ints/ints/ints/pointers, sorted by first array in non-decreasing order */
4590 /** delete the element at the given position from four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-decreasing order */
4601 /** delete the element at the given position from an array of Longints, sorted in non-increasing order */
4609 /** delete the element at the given position from three two arrays of Long/pointer, sorted by the first array in non-increasing order */
4618 /** delete the element at the given position from three joint arrays of Long/pointer/int, sorted by the first array in non-increasing order */
4628 /** 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 */
4639 /** 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 */
4651 /** 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 */
4665 /** delete the element at the given position from four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-increasing order */
4676 /** 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 */
4688 /** 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 */
4700 /** 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 */
4713 /** 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 */
4730 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4731 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4732 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4733 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4746 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4747 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4748 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4749 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4761 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4762 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4763 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4764 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4775 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4776 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4777 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4778 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4789 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4790 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4791 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4792 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4806 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4807 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4808 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4809 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4822 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4823 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4824 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4825 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4837 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4838 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4839 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4840 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4851 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4852 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4853 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4854 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4865 * If the element exists, the method returns TRUE and stores the position of the element in '*pos'.
4866 * If the element does not exist, the method returns FALSE and stores the position of the element that follows
4867 * 'val' in the ordering in '*pos', i.e., '*pos' is the position at which 'val' would be inserted.
4868 * Note that if the element is not found, '*pos' may be equal to len if all existing elements are smaller than 'val'.
4915 /** converts a real number into a (approximate) rational representation, and returns TRUE iff the conversion was
4928 /** tries to find a value, such that all given values, if scaled with this value become integral in relative allowed
4935 SCIP_Real mindelta, /**< minimal relative allowed difference of scaled coefficient s*c and integral i */
4936 SCIP_Real maxdelta, /**< maximal relative allowed difference of scaled coefficient s*c and integral i */
4939 SCIP_Real* intscalar, /**< pointer to store scalar that would make the coefficients integral, or NULL */
4943 /** given a (usually very small) interval, tries to find a rational number with simple denominator (i.e. a small
4944 * number, probably multiplied with powers of 10) out of this interval; returns TRUE iff a valid rational
4956 /** given a (usually very small) interval, selects a value inside this interval; it is tried to select a rational number
4958 * if no valid rational number inside the interval was found, selects the central value of the interval
4972 * As last resort, we check whether x == x does not hold, but this works only for NaN's, not for infinities!
4974 #if _XOPEN_SOURCE >= 600 || defined(_ISOC99_SOURCE) || _POSIX_C_SOURCE >= 200112L || defined(__APPLE__)
4997 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
5045 /** calculates a binomial coefficient n over m, choose m elements out of n, maximal value will be 33 over 16 (because
5046 * 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
5103 * this implementation is suited for the case that nsubelems is considerably smaller then nelems
5125 /** copies characters from 'src' to 'dest', copying is stopped when either the 'stop' character is reached or after
5138 /** prints an error message containing of the given string followed by a string describing the current system error;
5139 * prefers to use the strerror_r method, which is threadsafe; on systems where this method does not exist,
5140 * NO_STRERROR_R should be defined (see INSTALL), in this case, srerror is used which is not guaranteed to be
5156 /** translates the given string into a string where symbols ", ', and spaces are escaped with a \ prefix */
5173 /** 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
5181 char** endptr /**< pointer to store the final string position if successfully parsed, otherwise @p str */
5184 /** 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
5192 char** endptr /**< pointer to store the final string position if successfully parsed, otherwise @p str */
5195 /** copies the first size characters between a start and end character of str into token, if no error occured endptr
|