Scippy

    SCIP

    Solving Constraint Integer Programs

    pub_misc_select.h
    Go to the documentation of this file.
    1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
    2/* */
    3/* This file is part of the program and library */
    4/* SCIP --- Solving Constraint Integer Programs */
    5/* */
    6/* Copyright (c) 2002-2025 Zuse Institute Berlin (ZIB) */
    7/* */
    8/* Licensed under the Apache License, Version 2.0 (the "License"); */
    9/* you may not use this file except in compliance with the License. */
    10/* You may obtain a copy of the License at */
    11/* */
    12/* http://www.apache.org/licenses/LICENSE-2.0 */
    13/* */
    14/* Unless required by applicable law or agreed to in writing, software */
    15/* distributed under the License is distributed on an "AS IS" BASIS, */
    16/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
    17/* See the License for the specific language governing permissions and */
    18/* limitations under the License. */
    19/* */
    20/* You should have received a copy of the Apache-2.0 license */
    21/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
    22/* */
    23/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
    24
    25/**@file pub_misc_select.h
    26 * @ingroup PUBLICCOREAPI
    27 * @brief methods for selecting (weighted) k-medians
    28 * @author Gregor Hendel
    29 *
    30 * This file contains headers for selecting (weighted) k-medians
    31 */
    32
    33/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
    34
    35#ifndef __SCIP_PUB_MISC_SELECT_H__
    36#define __SCIP_PUB_MISC_SELECT_H__
    37
    38#include "scip/def.h"
    39#include "scip/type_misc.h"
    40#include "scip/intervalarith.h"
    41
    42#ifdef __cplusplus
    43extern "C" {
    44#endif
    45
    46/*
    47 * Selection and weighted selection algorithms
    48 */
    49
    50/**@defgroup SelectionAlgorithms Algorithms for (Weighted) Median Selection
    51 * @ingroup MiscellaneousMethods
    52 * @brief public methods for the selection of (weighted) k-median.
    53 *
    54 * The methods in this group perform a selection of the (weighted) \f$ k \f$-median from an unsorted array of elements.
    55 * The necessary element swaps are performed in-place on the array of keys.
    56 * The necessary permutations are also performed on up to six associated arrays.
    57 *
    58 * For methods that perform complete in place sorting, see \ref SortingAlgorithms.
    59 *
    60 * For an array a containing n elements \f$ a[0], ..., a[n-1] \f$ and an integer \f$ 0 \leq k \leq n - 1 \f$ , we call an element
    61 * \f$ a[i] \f$ \f$ k \f$-median if
    62 * there exists a permutation \f$ \pi \f$ of the array indices such that \f$ \pi(i) = k \f$
    63 * and \f$ a[\pi^{-1}(j)] \leq a[i] \f$
    64 * for \f$ j = 0, \dots, k-1 \f$ and \f$ a[\pi^{-1}(j)] > a[i] \f$ for \f$ j = k + 1,\dots,n - 1 \f$.
    65 * The \f$ k \f$-median is hence an element that would appear at position \f$ k \f$ after sorting the input array.
    66 * Note that there may exist several \f$ k \f$-medians if the array elements are not unique, only its key value \f$ a[i] \f$.
    67 *
    68 * In order to determine the \f$ k \f$-median, the algorithm selects a pivot element and determines the array position for
    69 * this pivot like quicksort. In contrast to quicksort, however, one recursion can be saved during the selection process.
    70 * After a single iteration that placed the pivot at position \f$ p \f$ , the algorithm either terminates if \f$ p = k \f$,
    71 * or it continues in the left half of the array if \f$ p > k \f$, or in the right half of the array if \f$ p < k \f$.
    72 *
    73 * After the algorithm terminates, the \f$ k \f$-median can be accessed by accessing the array element at position \f$ k \f$.
    74 *
    75 * A weighted median denotes the generalization of the \f$ k \f$-median to arbitrary, nonnegative associated
    76 * weights \f$ w[0], \dots, w[n-1] \in \mathbb{R}\f$ and a capacity \f$ 0 \leq C \in \mathbb{R} \f$. An element \f$ a[i] \f$
    77 * is called weighted median if there exists a permutation that satisfies the same weak sorting as above and in addition
    78 * \f$ W:= \sum_{j = 0}^{k - 1}w[\pi^{-1}(j)] < C\f$, but \f$ W + w[i] \geq C\f$. In other words, the weighted median
    79 * is the first element in the weak sorting such that its weight together with the sum of all preceding item weights
    80 * reach or exceed the given capacity \f$ C \f$. If all weights are equal to \f$ 1 \f$ and the capacity is \f$ C = k + 0.5\f$,
    81 * the weighted median becomes the \f$ k \f$-median.
    82 *
    83 * @{
    84 */
    85
    86/** partial sort an index array in non-decreasing order around the \p k-th element,
    87 * see \ref SelectionAlgorithms for more information.
    88 */
    89SCIP_EXPORT
    91 int* indarray, /**< pointer to the index array to be sorted */
    92 SCIP_DECL_SORTINDCOMP((*indcomp)), /**< data element comparator */
    93 void* dataptr, /**< pointer to data field that is given to the external compare method */
    94 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    95 int len /**< length of arrays */
    96 );
    97
    98
    99/** partial sort an index array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    100 * see \ref SelectionAlgorithms for more information.
    101 */
    102SCIP_EXPORT
    104 int* indarray, /**< pointer to the index array to be sorted */
    105 SCIP_DECL_SORTINDCOMP((*indcomp)), /**< data element comparator */
    106 void* dataptr, /**< pointer to data field that is given to the external compare method */
    107 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    108 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    109 int len, /**< length of arrays */
    110 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    111 );
    112
    113
    114/** partial sort of an array of pointers in non-decreasing order around the \p k-th element,
    115 * see \ref SelectionAlgorithms for more information.
    116 */
    117SCIP_EXPORT
    119 void** ptrarray, /**< pointer array to be sorted */
    120 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    121 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    122 int len /**< length of arrays */
    123 );
    124
    125
    126/** partial sort of an array of pointers in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    127 * see \ref SelectionAlgorithms for more information.
    128 */
    129SCIP_EXPORT
    131 void** ptrarray, /**< pointer array to be sorted */
    132 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    133 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    134 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    135 int len, /**< length of arrays */
    136 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    137 );
    138
    139
    140/** partial sort of two joint arrays of pointers/pointers, sorted by first array in non-decreasing order around the \p k-th element,
    141 * see \ref SelectionAlgorithms for more information.
    142 */
    143SCIP_EXPORT
    145 void** ptrarray1, /**< first pointer array to be sorted */
    146 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    147 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    148 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    149 int len /**< length of arrays */
    150 );
    151
    152
    153/** partial sort of two joint arrays of pointers/pointers, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    154 * see \ref SelectionAlgorithms for more information.
    155 */
    156SCIP_EXPORT
    158 void** ptrarray1, /**< first pointer array to be sorted */
    159 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    160 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    161 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    162 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    163 int len, /**< length of arrays */
    164 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    165 );
    166
    167
    168/** partial sort of two joint arrays of pointers/Reals, sorted by first array in non-decreasing order around the \p k-th element,
    169 * see \ref SelectionAlgorithms for more information.
    170 */
    171SCIP_EXPORT
    173 void** ptrarray, /**< pointer array to be sorted */
    174 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    175 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    176 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    177 int len /**< length of arrays */
    178 );
    179
    180
    181/** partial sort of two joint arrays of pointers/Reals, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    182 * see \ref SelectionAlgorithms for more information.
    183 */
    184SCIP_EXPORT
    186 void** ptrarray, /**< pointer array to be sorted */
    187 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    188 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    189 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    190 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    191 int len, /**< length of arrays */
    192 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    193 );
    194
    195
    196/** partial sort of two joint arrays of pointers/ints, sorted by first array in non-decreasing order around the \p k-th element,
    197 * see \ref SelectionAlgorithms for more information.
    198 */
    199SCIP_EXPORT
    201 void** ptrarray, /**< pointer array to be sorted */
    202 int* intarray, /**< int array to be permuted in the same way */
    203 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    204 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    205 int len /**< length of arrays */
    206 );
    207
    208
    209/** partial sort of two joint arrays of pointers/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    210 * see \ref SelectionAlgorithms for more information.
    211 */
    212SCIP_EXPORT
    214 void** ptrarray, /**< pointer array to be sorted */
    215 int* intarray, /**< int array to be permuted in the same way */
    216 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    217 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    218 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    219 int len, /**< length of arrays */
    220 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    221 );
    222
    223
    224/** partial sort of two joint arrays of pointers/Bools, sorted by first array in non-decreasing order around the \p k-th element,
    225 * see \ref SelectionAlgorithms for more information.
    226 */
    227SCIP_EXPORT
    229 void** ptrarray, /**< pointer array to be sorted */
    230 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    231 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    232 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    233 int len /**< length of arrays */
    234 );
    235
    236
    237/** partial sort of two joint arrays of pointers/Bools, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    238 * see \ref SelectionAlgorithms for more information.
    239 */
    240SCIP_EXPORT
    242 void** ptrarray, /**< pointer array to be sorted */
    243 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    244 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    245 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    246 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    247 int len, /**< length of arrays */
    248 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    249 );
    250
    251
    252/** partial sort of three joint arrays of pointers/ints/ints, sorted by first array in non-decreasing order around the \p k-th element,
    253 * see \ref SelectionAlgorithms for more information.
    254 */
    255SCIP_EXPORT
    257 void** ptrarray, /**< pointer array to be sorted */
    258 int* intarray1, /**< first int array to be permuted in the same way */
    259 int* intarray2, /**< second int array to be permuted in the same way */
    260 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    261 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    262 int len /**< length of arrays */
    263 );
    264
    265
    266/** partial sort of three joint arrays of pointers/ints/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    267 * see \ref SelectionAlgorithms for more information.
    268 */
    269SCIP_EXPORT
    271 void** ptrarray, /**< pointer array to be sorted */
    272 int* intarray1, /**< first int array to be permuted in the same way */
    273 int* intarray2, /**< second int array to be permuted in the same way */
    274 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    275 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    276 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    277 int len, /**< length of arrays */
    278 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    279 );
    280
    281
    282/** partial sort of three joint arrays of pointers/Reals/ints, sorted by first array in non-decreasing order around the \p k-th element,
    283 * see \ref SelectionAlgorithms for more information.
    284 */
    285SCIP_EXPORT
    287 void** ptrarray, /**< pointer array to be sorted */
    288 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    289 int* intarray, /**< int array to be permuted in the same way */
    290 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    291 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    292 int len /**< length of arrays */
    293 );
    294
    295
    296/** partial sort of three joint arrays of pointers/Reals/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    297 * see \ref SelectionAlgorithms for more information.
    298 */
    299SCIP_EXPORT
    301 void** ptrarray, /**< pointer array to be sorted */
    302 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    303 int* intarray, /**< int array to be permuted in the same way */
    304 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    305 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    306 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    307 int len, /**< length of arrays */
    308 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    309 );
    310
    311
    312/** partial sort of four joint arrays of pointers/Reals/Reals/ints, sorted by first array in non-decreasing order around the \p k-th element,
    313 * see \ref SelectionAlgorithms for more information.
    314 */
    315SCIP_EXPORT
    317 void** ptrarray, /**< pointer array to be sorted */
    318 SCIP_Real* realarray1, /**< SCIP_Real array to be permuted in the same way */
    319 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    320 int* intarray, /**< int array to be permuted in the same way */
    321 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    322 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    323 int len /**< length of arrays */
    324 );
    325
    326
    327/** partial sort of four joint arrays of pointers/Reals/Reals/SCIP_Bools/SCIP_Bools, sorted by first array in non-decreasing order around the \p k-th element,
    328 * see \ref SelectionAlgorithms for more information.
    329 */
    330SCIP_EXPORT
    332 void** ptrarray, /**< pointer array to be sorted */
    333 SCIP_Real* realarray1, /**< SCIP_Real array to be permuted in the same way */
    334 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    335 SCIP_Bool* boolarray1, /**< SCIP_Bool array to be permuted in the same way */
    336 SCIP_Bool* boolarray2, /**< SCIP_Bool array to be permuted in the same way */
    337 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    338 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    339 int len /**< length of arrays */
    340 );
    341
    342
    343/** partial sort of four joint arrays of pointers/Reals/Reals/ints/SCIP_Bools, sorted by first array in non-decreasing order around the \p k-th element,
    344 * see \ref SelectionAlgorithms for more information.
    345 */
    346SCIP_EXPORT
    348 void** ptrarray, /**< pointer array to be sorted */
    349 SCIP_Real* realarray1, /**< SCIP_Real array to be permuted in the same way */
    350 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    351 int* intarray, /**< int array to be permuted in the same way */
    352 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    353 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    354 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    355 int len /**< length of arrays */
    356 );
    357
    358
    359/** partial sort of four joint arrays of pointers/Reals/Reals/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    360 * see \ref SelectionAlgorithms for more information.
    361 */
    362SCIP_EXPORT
    364 void** ptrarray, /**< pointer array to be sorted */
    365 SCIP_Real* realarray1, /**< SCIP_Real array to be permuted in the same way */
    366 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    367 int* intarray, /**< int array to be permuted in the same way */
    368 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    369 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    370 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    371 int len, /**< length of arrays */
    372 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    373 );
    374
    375
    376/** partial sort of four joint arrays of pointers/Reals/Reals/SCIP_Bools/SCIP_Bools, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    377 * see \ref SelectionAlgorithms for more information.
    378 */
    379SCIP_EXPORT
    381 void** ptrarray, /**< pointer array to be sorted */
    382 SCIP_Real* realarray1, /**< SCIP_Real array to be permuted in the same way */
    383 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    384 SCIP_Bool* boolarray1, /**< SCIP_Bool array to be permuted in the same way */
    385 SCIP_Bool* boolarray2, /**< SCIP_Bool array to be permuted in the same way */
    386 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    387 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    388 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    389 int len, /**< length of arrays */
    390 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    391 );
    392
    393
    394/** partial sort of four joint arrays of pointers/Reals/Reals/ints/SCIP_Bools, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    395 * see \ref SelectionAlgorithms for more information.
    396 */
    397SCIP_EXPORT
    399 void** ptrarray, /**< pointer array to be sorted */
    400 SCIP_Real* realarray1, /**< SCIP_Real array to be permuted in the same way */
    401 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    402 int* intarray, /**< int array to be permuted in the same way */
    403 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    404 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    405 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    406 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    407 int len, /**< length of arrays */
    408 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    409 );
    410
    411
    412/** partial sort of three joint arrays of pointers/Reals/Bools, sorted by first array in non-decreasing order around the \p k-th element,
    413 * see \ref SelectionAlgorithms for more information.
    414 */
    415SCIP_EXPORT
    417 void** ptrarray, /**< pointer array to be sorted */
    418 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    419 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    420 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    421 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    422 int len /**< length of arrays */
    423 );
    424
    425
    426/** partial sort of three joint arrays of pointers/Reals/Bools, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    427 * see \ref SelectionAlgorithms for more information.
    428 */
    429SCIP_EXPORT
    431 void** ptrarray, /**< pointer array to be sorted */
    432 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    433 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    434 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    435 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    436 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    437 int len, /**< length of arrays */
    438 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    439 );
    440
    441
    442/** partial sort of three joint arrays of pointers/pointers/ints, sorted by first array in non-decreasing order around the \p k-th element,
    443 * see \ref SelectionAlgorithms for more information.
    444 */
    445SCIP_EXPORT
    447 void** ptrarray1, /**< first pointer array to be sorted */
    448 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    449 int* intarray, /**< int array to be permuted in the same way */
    450 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    451 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    452 int len /**< length of arrays */
    453 );
    454
    455
    456/** partial sort of three joint arrays of pointers/pointers/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    457 * see \ref SelectionAlgorithms for more information.
    458 */
    459SCIP_EXPORT
    461 void** ptrarray1, /**< first pointer array to be sorted */
    462 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    463 int* intarray, /**< int array to be permuted in the same way */
    464 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    465 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    466 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    467 int len, /**< length of arrays */
    468 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    469 );
    470
    471
    472/** partial sort of three joint arrays of pointers/pointers/Reals, sorted by first array in non-decreasing order around the \p k-th element,
    473 * see \ref SelectionAlgorithms for more information.
    474 */
    475SCIP_EXPORT
    477 void** ptrarray1, /**< first pointer array to be sorted */
    478 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    479 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    480 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    481 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    482 int len /**< length of arrays */
    483 );
    484
    485
    486/** partial sort of three joint arrays of pointers/pointers/Reals, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    487 * see \ref SelectionAlgorithms for more information.
    488 */
    489SCIP_EXPORT
    491 void** ptrarray1, /**< first pointer array to be sorted */
    492 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    493 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    494 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    495 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    496 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    497 int len, /**< length of arrays */
    498 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    499 );
    500
    501
    502/** partial sort of four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-decreasing order around the \p k-th element,
    503 * see \ref SelectionAlgorithms for more information.
    504 */
    505SCIP_EXPORT
    507 void** ptrarray1, /**< first pointer array to be sorted */
    508 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    509 int* intarray1, /**< first int array to be permuted in the same way */
    510 int* intarray2, /**< second int array to be permuted in the same way */
    511 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    512 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    513 int len /**< length of arrays */
    514 );
    515
    516
    517/** partial sort of four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    518 * see \ref SelectionAlgorithms for more information.
    519 */
    520SCIP_EXPORT
    522 void** ptrarray1, /**< first pointer array to be sorted */
    523 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    524 int* intarray1, /**< first int array to be permuted in the same way */
    525 int* intarray2, /**< second int array to be permuted in the same way */
    526 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    527 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    528 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    529 int len, /**< length of arrays */
    530 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    531 );
    532
    533
    534/** partial sort of four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-decreasing order around the \p k-th element,
    535 * see \ref SelectionAlgorithms for more information.
    536 */
    537SCIP_EXPORT
    539 void** ptrarray, /**< pointer array to be sorted */
    540 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    541 int* intarray1, /**< first int array to be permuted in the same way */
    542 int* intarray2, /**< second int array to be permuted in the same way */
    543 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    544 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    545 int len /**< length of arrays */
    546 );
    547
    548
    549/** partial sort of four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    550 * see \ref SelectionAlgorithms for more information.
    551 */
    552SCIP_EXPORT
    554 void** ptrarray, /**< pointer array to be sorted */
    555 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    556 int* intarray1, /**< first int array to be permuted in the same way */
    557 int* intarray2, /**< second int array to be permuted in the same way */
    558 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    559 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    560 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    561 int len, /**< length of arrays */
    562 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    563 );
    564
    565
    566/** partial sort of four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-decreasing order around the \p k-th element,
    567 * see \ref SelectionAlgorithms for more information.
    568 */
    569SCIP_EXPORT
    571 void** ptrarray1, /**< first pointer array to be sorted */
    572 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    573 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    574 int* intarray, /**< int array to be permuted in the same way */
    575 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    576 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    577 int len /**< length of arrays */
    578 );
    579
    580
    581/** partial sort of four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    582 * see \ref SelectionAlgorithms for more information.
    583 */
    584SCIP_EXPORT
    586 void** ptrarray1, /**< first pointer array to be sorted */
    587 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    588 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    589 int* intarray, /**< int array to be permuted in the same way */
    590 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    591 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    592 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    593 int len, /**< length of arrays */
    594 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    595 );
    596
    597
    598/** partial sort of four joint arrays of pointer/pointer/Reals/Bools, sorted by first array in non-decreasing order around the \p k-th element,
    599 * see \ref SelectionAlgorithms for more information.
    600 */
    601SCIP_EXPORT
    603 void** ptrarray1, /**< first pointer array to be sorted */
    604 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    605 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    606 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    607 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    608 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    609 int len /**< length of arrays */
    610 );
    611
    612
    613/** partial sort of four joint arrays of pointer/pointer/Reals/Bools, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    614 * see \ref SelectionAlgorithms for more information.
    615 */
    616SCIP_EXPORT
    618 void** ptrarray1, /**< first pointer array to be sorted */
    619 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    620 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    621 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    622 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    623 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    624 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    625 int len, /**< length of arrays */
    626 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    627 );
    628
    629
    630/** partial sort of four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-decreasing order around the \p k-th element,
    631 * see \ref SelectionAlgorithms for more information.
    632 */
    633SCIP_EXPORT
    635 void** ptrarray1, /**< first pointer array to be sorted */
    636 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    637 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    638 int* intarray, /**< int array to be permuted in the same way */
    639 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    640 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    641 int len /**< length of arrays */
    642 );
    643
    644
    645/** partial sort of four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    646 * see \ref SelectionAlgorithms for more information.
    647 */
    648SCIP_EXPORT
    650 void** ptrarray1, /**< first pointer array to be sorted */
    651 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    652 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    653 int* intarray, /**< int array to be permuted in the same way */
    654 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    655 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    656 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    657 int len, /**< length of arrays */
    658 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    659 );
    660
    661
    662/** partial sort of five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-decreasing order around the \p k-th element,
    663 * see \ref SelectionAlgorithms for more information.
    664 */
    665SCIP_EXPORT
    667 void** ptrarray1, /**< first pointer array to be sorted */
    668 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    669 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    670 int* intarray1, /**< first int array to be permuted in the same way */
    671 int* intarray2, /**< second int array to be permuted in the same way */
    672 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    673 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    674 int len /**< length of arrays */
    675 );
    676
    677
    678/** partial sort of five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    679 * see \ref SelectionAlgorithms for more information.
    680 */
    681SCIP_EXPORT
    683 void** ptrarray1, /**< first pointer array to be sorted */
    684 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    685 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    686 int* intarray1, /**< first int array to be permuted in the same way */
    687 int* intarray2, /**< second int array to be permuted in the same way */
    688 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    689 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    690 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    691 int len, /**< length of arrays */
    692 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    693 );
    694
    695
    696/** partial sort an array of Reals in non-decreasing order around the \p k-th element,
    697 * see \ref SelectionAlgorithms for more information.
    698 */
    699SCIP_EXPORT
    701 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    702 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    703 int len /**< length of arrays */
    704 );
    705
    706
    707/** partial sort an array of Reals in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    708 * see \ref SelectionAlgorithms for more information.
    709 */
    710SCIP_EXPORT
    712 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    713 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    714 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    715 int len, /**< length of arrays */
    716 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    717 );
    718
    719
    720/** partial sort of two joint arrays of Reals/pointers, sorted by first array in non-decreasing order around the \p k-th element,
    721 * see \ref SelectionAlgorithms for more information.
    722 */
    723SCIP_EXPORT
    725 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    726 void** ptrarray, /**< pointer array to be permuted in the same way */
    727 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    728 int len /**< length of arrays */
    729 );
    730
    731
    732/** partial sort of two joint arrays of Reals/pointers, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    733 * see \ref SelectionAlgorithms for more information.
    734 */
    735SCIP_EXPORT
    737 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    738 void** ptrarray, /**< pointer array to be permuted in the same way */
    739 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    740 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    741 int len, /**< length of arrays */
    742 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    743 );
    744
    745
    746/** partial sort of two joint arrays of Reals/ints, sorted by first array in non-decreasing order around the \p k-th element,
    747 * see \ref SelectionAlgorithms for more information.
    748 */
    749SCIP_EXPORT
    751 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    752 int* intarray, /**< int array to be permuted in the same way */
    753 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    754 int len /**< length of arrays */
    755 );
    756
    757
    758/** partial sort of two joint arrays of Reals/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    759 * see \ref SelectionAlgorithms for more information.
    760 */
    761SCIP_EXPORT
    763 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    764 int* intarray, /**< int array to be permuted in the same way */
    765 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    766 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    767 int len, /**< length of arrays */
    768 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    769 );
    770
    771
    772/** partial sort of three joint arrays of Reals/ints/ints, sorted by first array in non-decreasing order around the \p k-th element,
    773 * see \ref SelectionAlgorithms for more information.
    774 */
    775SCIP_EXPORT
    777 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    778 int* intarray1, /**< int array to be permuted in the same way */
    779 int* intarray2, /**< int array to be permuted in the same way */
    780 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    781 int len /**< length of arrays */
    782 );
    783
    784
    785/** partial sort of three joint arrays of Reals/ints/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    786 * see \ref SelectionAlgorithms for more information.
    787 */
    788SCIP_EXPORT
    790 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    791 int* intarray1, /**< int array to be permuted in the same way */
    792 int* intarray2, /**< int array to be permuted in the same way */
    793 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    794 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    795 int len, /**< length of arrays */
    796 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    797 );
    798
    799
    800/** partial sort of three joint arrays of Reals/Bools/Pointer, sorted by first array in non-decreasing order around the \p k-th element,
    801 * see \ref SelectionAlgorithms for more information.
    802 */
    803SCIP_EXPORT
    805 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    806 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    807 void** ptrarray, /**< pointer array to be permuted in the same way */
    808 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    809 int len /**< length of arrays */
    810 );
    811
    812
    813/** partial sort of three joint arrays of Reals/Bools/Pointer, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    814 * see \ref SelectionAlgorithms for more information.
    815 */
    816SCIP_EXPORT
    818 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    819 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    820 void** ptrarray, /**< pointer array to be permuted in the same way */
    821 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    822 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    823 int len, /**< length of arrays */
    824 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    825 );
    826
    827
    828/** partial sort of three joint arrays of Reals/ints/Longs, sorted by first array in non-decreasing order around the \p k-th element,
    829 * see \ref SelectionAlgorithms for more information.
    830 */
    831SCIP_EXPORT
    833 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    834 int* intarray, /**< int array to be permuted in the same way */
    835 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    836 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    837 int len /**< length of arrays */
    838 );
    839
    840
    841/** partial sort of three joint arrays of Reals/ints/Longs, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    842 * see \ref SelectionAlgorithms for more information.
    843 */
    844SCIP_EXPORT
    846 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    847 int* intarray, /**< int array to be permuted in the same way */
    848 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    849 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    850 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    851 int len, /**< length of arrays */
    852 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    853 );
    854
    855
    856/** partial sort of three joint arrays of Reals/ints/Pointer, sorted by first array in non-decreasing order around the \p k-th element,
    857 * see \ref SelectionAlgorithms for more information.
    858 */
    859SCIP_EXPORT
    861 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    862 int* intarray, /**< int array to be permuted in the same way */
    863 void** ptrarray, /**< pointer array to be permuted in the same way */
    864 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    865 int len /**< length of arrays */
    866 );
    867
    868
    869/** partial sort of three joint arrays of Reals/ints/Pointer, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    870 * see \ref SelectionAlgorithms for more information.
    871 */
    872SCIP_EXPORT
    874 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    875 int* intarray, /**< int array to be permuted in the same way */
    876 void** ptrarray, /**< pointer array to be permuted in the same way */
    877 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    878 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    879 int len, /**< length of arrays */
    880 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    881 );
    882
    883
    884/** partial sort of three joint arrays of Reals/Pointer/Pointer, sorted by first array in non-decreasing order around the \p k-th element,
    885 * see \ref SelectionAlgorithms for more information.
    886 */
    887SCIP_EXPORT
    889 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    890 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    891 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    892 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    893 int len /**< length of arrays */
    894 );
    895
    896
    897/** partial sort of three joint arrays of Reals/Pointer/Pointer, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    898 * see \ref SelectionAlgorithms for more information.
    899 */
    900SCIP_EXPORT
    902 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    903 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    904 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    905 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    906 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    907 int len, /**< length of arrays */
    908 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    909 );
    910
    911
    912/** partial sort of three joint arrays of Reals/Reals/Pointer, sorted by first array in non-decreasing order around the \p k-th element,
    913 * see \ref SelectionAlgorithms for more information.
    914 */
    915SCIP_EXPORT
    917 SCIP_Real* realarray1, /**< first SCIP_Real array to be sorted */
    918 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    919 void** ptrarray, /**< pointer array to be permuted in the same way */
    920 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    921 int len /**< length of arrays */
    922 );
    923
    924
    925/** partial sort of three joint arrays of Reals/Reals/Pointer, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    926 * see \ref SelectionAlgorithms for more information.
    927 */
    928SCIP_EXPORT
    930 SCIP_Real* realarray1, /**< first SCIP_Real array to be sorted */
    931 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    932 void** ptrarray, /**< pointer array to be permuted in the same way */
    933 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    934 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    935 int len, /**< length of arrays */
    936 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    937 );
    938
    939
    940/** partial sort of four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-decreasing order around the \p k-th element,
    941 * see \ref SelectionAlgorithms for more information.
    942 */
    943SCIP_EXPORT
    945 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    946 void** ptrarray1, /**< pointer array to be permuted in the same way */
    947 void** ptrarray2, /**< pointer array to be permuted in the same way */
    948 int* intarray, /**< int array to be sorted */
    949 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    950 int len /**< length of arrays */
    951 );
    952
    953
    954/** partial sort of four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    955 * see \ref SelectionAlgorithms for more information.
    956 */
    957SCIP_EXPORT
    959 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    960 void** ptrarray1, /**< pointer array to be permuted in the same way */
    961 void** ptrarray2, /**< pointer array to be permuted in the same way */
    962 int* intarray, /**< int array to be sorted */
    963 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    964 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    965 int len, /**< length of arrays */
    966 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    967 );
    968
    969
    970/** partial sort of five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-decreasing order around the \p k-th element,
    971 * see \ref SelectionAlgorithms for more information.
    972 */
    973SCIP_EXPORT
    975 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    976 void** ptrarray1, /**< pointer array to be permuted in the same way */
    977 void** ptrarray2, /**< pointer array to be permuted in the same way */
    978 int* intarray1, /**< int array to be sorted */
    979 int* intarray2, /**< int array to be sorted */
    980 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    981 int len /**< length of arrays */
    982 );
    983
    984
    985/** partial sort of five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    986 * see \ref SelectionAlgorithms for more information.
    987 */
    988SCIP_EXPORT
    990 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    991 void** ptrarray1, /**< pointer array to be permuted in the same way */
    992 void** ptrarray2, /**< pointer array to be permuted in the same way */
    993 int* intarray1, /**< int array to be sorted */
    994 int* intarray2, /**< int array to be sorted */
    995 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    996 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    997 int len, /**< length of arrays */
    998 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    999 );
    1000
    1001
    1002/** partial sort of four joint arrays of Reals/Longs/Reals/ints, sorted by first array in non-decreasing order around the \p k-th element,
    1003 * see \ref SelectionAlgorithms for more information.
    1004 */
    1005SCIP_EXPORT
    1007 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    1008 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    1009 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    1010 int* intarray, /**< int array to be permuted in the same way */
    1011 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1012 int len /**< length of arrays */
    1013 );
    1014
    1015
    1016/** partial sort of four joint arrays of Reals/Longs/Reals/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1017 * see \ref SelectionAlgorithms for more information.
    1018 */
    1019SCIP_EXPORT
    1021 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    1022 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    1023 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    1024 int* intarray, /**< int array to be permuted in the same way */
    1025 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1026 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1027 int len, /**< length of arrays */
    1028 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1029 );
    1030
    1031
    1032/** partial sort of four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-decreasing order around the \p k-th element,
    1033 * see \ref SelectionAlgorithms for more information.
    1034 */
    1035SCIP_EXPORT
    1037 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    1038 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    1039 int* intarray1, /**< int array to be permuted in the same way */
    1040 int* intarray2, /**< int array to be permuted in the same way */
    1041 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1042 int len /**< length of arrays */
    1043 );
    1044
    1045
    1046/** partial sort of four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1047 * see \ref SelectionAlgorithms for more information.
    1048 */
    1049SCIP_EXPORT
    1051 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    1052 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    1053 int* intarray1, /**< int array to be permuted in the same way */
    1054 int* intarray2, /**< int array to be permuted in the same way */
    1055 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1056 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1057 int len, /**< length of arrays */
    1058 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1059 );
    1060
    1061
    1062/** partial sort of four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-decreasing order around the \p k-th element,
    1063 * see \ref SelectionAlgorithms for more information.
    1064 */
    1065SCIP_EXPORT
    1067 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    1068 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    1069 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    1070 int* intarray, /**< int array to be permuted in the same way */
    1071 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1072 int len /**< length of arrays */
    1073 );
    1074
    1075
    1076/** partial sort of four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1077 * see \ref SelectionAlgorithms for more information.
    1078 */
    1079SCIP_EXPORT
    1081 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    1082 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    1083 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    1084 int* intarray, /**< int array to be permuted in the same way */
    1085 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1086 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1087 int len, /**< length of arrays */
    1088 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1089 );
    1090
    1091
    1092/** partial sort of four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-decreasing order around the \p k-th element,
    1093 * see \ref SelectionAlgorithms for more information.
    1094 */
    1095SCIP_EXPORT
    1097 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    1098 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    1099 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    1100 void** ptrarray, /**< pointer array to be permuted in the same way */
    1101 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1102 int len /**< length of arrays */
    1103 );
    1104
    1105
    1106/** partial sort of four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1107 * see \ref SelectionAlgorithms for more information.
    1108 */
    1109SCIP_EXPORT
    1111 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    1112 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    1113 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    1114 void** ptrarray, /**< pointer array to be permuted in the same way */
    1115 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1116 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1117 int len, /**< length of arrays */
    1118 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1119 );
    1120
    1121
    1122/** partial sort of five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-decreasing order around the \p k-th element,
    1123 * see \ref SelectionAlgorithms for more information.
    1124 */
    1125SCIP_EXPORT
    1127 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    1128 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    1129 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    1130 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    1131 void** ptrarray, /**< pointer array to be permuted in the same way */
    1132 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1133 int len /**< length of arrays */
    1134 );
    1135
    1136
    1137/** partial sort of five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1138 * see \ref SelectionAlgorithms for more information.
    1139 */
    1140SCIP_EXPORT
    1142 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    1143 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    1144 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    1145 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    1146 void** ptrarray, /**< pointer array to be permuted in the same way */
    1147 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1148 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1149 int len, /**< length of arrays */
    1150 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1151 );
    1152
    1153
    1154/** partial sort of six joint arrays of Reals/Reals/Reals/Bools/Bools/pointers, sorted by first array in non-decreasing order around the \p k-th element,
    1155 * see \ref SelectionAlgorithms for more information.
    1156 */
    1157SCIP_EXPORT
    1159 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    1160 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    1161 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    1162 SCIP_Bool* boolarray1, /**< SCIP_Bool array to be permuted in the same way */
    1163 SCIP_Bool* boolarray2, /**< SCIP_Bool array to be permuted in the same way */
    1164 void** ptrarray, /**< pointer array to be permuted in the same way */
    1165 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1166 int len /**< length of arrays */
    1167 );
    1168
    1169
    1170/** partial sort of six joint arrays of Reals/Reals/Reals/Bools/Bools/pointers, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1171 * see \ref SelectionAlgorithms for more information.
    1172 */
    1173SCIP_EXPORT
    1175 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    1176 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    1177 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    1178 SCIP_Bool* boolarray1, /**< SCIP_Bool array to be permuted in the same way */
    1179 SCIP_Bool* boolarray2, /**< SCIP_Bool array to be permuted in the same way */
    1180 void** ptrarray, /**< pointer array to be permuted in the same way */
    1181 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1182 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1183 int len, /**< length of arrays */
    1184 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1185 );
    1186
    1187
    1188/** partial sort array of ints in non-decreasing order around the \p k-th element,
    1189 * see \ref SelectionAlgorithms for more information.
    1190 */
    1191SCIP_EXPORT
    1193 int* intarray, /**< int array to be sorted */
    1194 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1195 int len /**< length of arrays */
    1196 );
    1197
    1198
    1199/** partial sort array of ints in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1200 * see \ref SelectionAlgorithms for more information.
    1201 */
    1202SCIP_EXPORT
    1204 int* intarray, /**< int array to be sorted */
    1205 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1206 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1207 int len, /**< length of arrays */
    1208 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1209 );
    1210
    1211
    1212/** partial sort of two joint arrays of ints/ints, sorted by first array in non-decreasing order around the \p k-th element,
    1213 * see \ref SelectionAlgorithms for more information.
    1214 */
    1215SCIP_EXPORT
    1217 int* intarray1, /**< int array to be sorted */
    1218 int* intarray2, /**< second int array to be permuted in the same way */
    1219 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1220 int len /**< length of arrays */
    1221 );
    1222
    1223
    1224/** partial sort of two joint arrays of ints/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1225 * see \ref SelectionAlgorithms for more information.
    1226 */
    1227SCIP_EXPORT
    1229 int* intarray1, /**< int array to be sorted */
    1230 int* intarray2, /**< second int array to be permuted in the same way */
    1231 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1232 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1233 int len, /**< length of arrays */
    1234 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1235 );
    1236
    1237
    1238/** partial sort of two joint arrays of ints/pointers, sorted by first array in non-decreasing order around the \p k-th element,
    1239 * see \ref SelectionAlgorithms for more information.
    1240 */
    1241SCIP_EXPORT
    1243 int* intarray, /**< int array to be sorted */
    1244 void** ptrarray, /**< pointer array to be permuted in the same way */
    1245 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1246 int len /**< length of arrays */
    1247 );
    1248
    1249
    1250/** partial sort of two joint arrays of ints/pointers, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1251 * see \ref SelectionAlgorithms for more information.
    1252 */
    1253SCIP_EXPORT
    1255 int* intarray, /**< int array to be sorted */
    1256 void** ptrarray, /**< pointer array to be permuted in the same way */
    1257 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1258 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1259 int len, /**< length of arrays */
    1260 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1261 );
    1262
    1263
    1264/** partial sort of two joint arrays of ints/reals, sorted by first array in non-decreasing order around the \p k-th element,
    1265 * see \ref SelectionAlgorithms for more information.
    1266 */
    1267SCIP_EXPORT
    1269 int* intarray, /**< int array to be sorted */
    1270 SCIP_Real* realarray, /**< real array to be permuted in the same way */
    1271 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1272 int len /**< length of arrays */
    1273 );
    1274
    1275
    1276/** partial sort of two joint arrays of ints/reals, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1277 * see \ref SelectionAlgorithms for more information.
    1278 */
    1279SCIP_EXPORT
    1281 int* intarray, /**< int array to be sorted */
    1282 SCIP_Real* realarray, /**< real array to be permuted in the same way */
    1283 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1284 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1285 int len, /**< length of arrays */
    1286 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1287 );
    1288
    1289
    1290/** partial sort of three joint arrays of ints/ints/ints, sorted by first array in non-decreasing order around the \p k-th element,
    1291 * see \ref SelectionAlgorithms for more information.
    1292 */
    1293SCIP_EXPORT
    1295 int* intarray1, /**< int array to be sorted */
    1296 int* intarray2, /**< second int array to be permuted in the same way */
    1297 int* intarray3, /**< third int array to be permuted in the same way */
    1298 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1299 int len /**< length of arrays */
    1300 );
    1301
    1302
    1303/** partial sort of three joint arrays of ints/ints/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1304 * see \ref SelectionAlgorithms for more information.
    1305 */
    1306SCIP_EXPORT
    1308 int* intarray1, /**< int array to be sorted */
    1309 int* intarray2, /**< second int array to be permuted in the same way */
    1310 int* intarray3, /**< third int array to be permuted in the same way */
    1311 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1312 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1313 int len, /**< length of arrays */
    1314 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1315 );
    1316
    1317
    1318/** partial sort of three joint arrays of ints/ints/Longints, sorted by first array in non-decreasing order around the \p k-th element,
    1319 * see \ref SelectionAlgorithms for more information.
    1320 */
    1321SCIP_EXPORT
    1323 int* intarray1, /**< int array to be sorted */
    1324 int* intarray2, /**< second int array to be permuted in the same way */
    1325 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    1326 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1327 int len /**< length of arrays */
    1328 );
    1329
    1330
    1331/** partial sort of three joint arrays of ints/ints/Longints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1332 * see \ref SelectionAlgorithms for more information.
    1333 */
    1334SCIP_EXPORT
    1336 int* intarray1, /**< int array to be sorted */
    1337 int* intarray2, /**< second int array to be permuted in the same way */
    1338 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    1339 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1340 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1341 int len, /**< length of arrays */
    1342 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1343 );
    1344
    1345
    1346/** partial sort of three joint arrays of ints/ints/Longints, sorted by first array in non-decreasing order around the \p k-th element,
    1347 * see \ref SelectionAlgorithms for more information.
    1348 */
    1349SCIP_EXPORT
    1351 int* intarray, /**< int array to be sorted */
    1352 SCIP_Real* realarray, /**< real array to be permuted in the same way */
    1353 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    1354 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1355 int len /**< length of arrays */
    1356 );
    1357
    1358
    1359/** partial sort of three joint arrays of ints/ints/Longints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1360 * see \ref SelectionAlgorithms for more information.
    1361 */
    1362SCIP_EXPORT
    1364 int* intarray, /**< int array to be sorted */
    1365 SCIP_Real* realarray, /**< real array to be permuted in the same way */
    1366 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    1367 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1368 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1369 int len, /**< length of arrays */
    1370 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1371 );
    1372
    1373
    1374/** partial sort of three joint arrays of ints/ints/pointers, sorted by first array in non-decreasing order around the \p k-th element,
    1375 * see \ref SelectionAlgorithms for more information.
    1376 */
    1377SCIP_EXPORT
    1379 int* intarray1, /**< int array to be sorted */
    1380 int* intarray2, /**< second int array to be permuted in the same way */
    1381 void** ptrarray, /**< pointer array to be permuted in the same way */
    1382 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1383 int len /**< length of arrays */
    1384 );
    1385
    1386/** partial sort of four joint arrays of ints/ints/pointers/pointers, sorted by first array in non-decreasing order around the \p k-th element,
    1387 * see \ref SelectionAlgorithms for more information.
    1388 */
    1389SCIP_EXPORT
    1391 int* intarray1, /**< int array to be sorted */
    1392 int* intarray2, /**< second int array to be permuted in the same way */
    1393 void** ptrarray1, /**< pointer array to be permuted in the same way */
    1394 void** ptrarray2, /**< pointer array to be permuted in the same way */
    1395 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1396 int len /**< length of arrays */
    1397 );
    1398
    1399/** partial sort of five joint arrays of ints/ints/pointers/pointers/interval, sorted by first array in non-decreasing order around the \p k-th element,
    1400 * see \ref SelectionAlgorithms for more information.
    1401 */
    1402SCIP_EXPORT
    1404 int* intarray1, /**< int array to be sorted */
    1405 int* intarray2, /**< second int array to be permuted in the same way */
    1406 void** ptrarray1, /**< pointer array to be permuted in the same way */
    1407 void** ptrarray2, /**< pointer array to be permuted in the same way */
    1408 SCIP_INTERVAL* intervalarray, /**< interval array where an element is to be deleted */
    1409 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1410 int len /**< length of arrays */
    1411 );
    1412
    1413/** partial sort of three joint arrays of ints/ints/pointers, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1414 * see \ref SelectionAlgorithms for more information.
    1415 */
    1416SCIP_EXPORT
    1418 int* intarray1, /**< int array to be sorted */
    1419 int* intarray2, /**< second int array to be permuted in the same way */
    1420 void** ptrarray, /**< pointer array to be permuted in the same way */
    1421 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1422 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1423 int len, /**< length of arrays */
    1424 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1425 );
    1426
    1427/** partial sort of four joint arrays of ints/ints/pointers/pointers, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1428 * see \ref SelectionAlgorithms for more information.
    1429 */
    1430SCIP_EXPORT
    1432 int* intarray1, /**< int array to be sorted */
    1433 int* intarray2, /**< second int array to be permuted in the same way */
    1434 void** ptrarray1, /**< pointer array to be permuted in the same way */
    1435 void** ptrarray2, /**< pointer array to be permuted in the same way */
    1436 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1437 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1438 int len, /**< length of arrays */
    1439 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1440 );
    1441
    1442/** partial sort of five joint arrays of ints/ints/pointers/pointers/interval, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1443 * see \ref SelectionAlgorithms for more information.
    1444 */
    1445SCIP_EXPORT
    1447 int* intarray1, /**< int array to be sorted */
    1448 int* intarray2, /**< second int array to be permuted in the same way */
    1449 void** ptrarray1, /**< pointer array to be permuted in the same way */
    1450 void** ptrarray2, /**< pointer array to be permuted in the same way */
    1451 SCIP_INTERVAL* intervalarray, /**< interval array where an element is to be deleted */
    1452 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1453 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1454 int len, /**< length of arrays */
    1455 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1456 );
    1457
    1458
    1459/** partial sort of three joint arrays of ints/ints/reals, sorted by first array in non-decreasing order around the \p k-th element,
    1460 * see \ref SelectionAlgorithms for more information.
    1461 */
    1462SCIP_EXPORT
    1464 int* intarray1, /**< int array to be sorted */
    1465 int* intarray2, /**< second int array to be permuted in the same way */
    1466 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    1467 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1468 int len /**< length of arrays */
    1469 );
    1470
    1471
    1472/** partial sort of three joint arrays of ints/ints/reals, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1473 * see \ref SelectionAlgorithms for more information.
    1474 */
    1475SCIP_EXPORT
    1477 int* intarray1, /**< int array to be sorted */
    1478 int* intarray2, /**< second int array to be permuted in the same way */
    1479 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    1480 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1481 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1482 int len, /**< length of arrays */
    1483 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1484 );
    1485
    1486
    1487/** partial sort of three joint arrays of ints/pointers/reals, sorted by first array in non-decreasing order around the \p k-th element,
    1488 * see \ref SelectionAlgorithms for more information.
    1489 */
    1490SCIP_EXPORT
    1492 int* intarray, /**< int array to be sorted */
    1493 void** ptrarray, /**< pointer array to be permuted in the same way */
    1494 SCIP_Real* realarray, /**< real array to be permuted in the same way */
    1495 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1496 int len /**< length of arrays */
    1497 );
    1498
    1499
    1500/** partial sort of three joint arrays of ints/pointers/reals, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1501 * see \ref SelectionAlgorithms for more information.
    1502 */
    1503SCIP_EXPORT
    1505 int* intarray, /**< int array to be sorted */
    1506 void** ptrarray, /**< pointer array to be permuted in the same way */
    1507 SCIP_Real* realarray, /**< real array to be permuted in the same way */
    1508 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1509 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1510 int len, /**< length of arrays */
    1511 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1512 );
    1513
    1514
    1515/** partial sort of four joint arrays of ints/ints/ints/pointers, sorted by first array in non-decreasing order around the \p k-th element,
    1516 * see \ref SelectionAlgorithms for more information.
    1517 */
    1518SCIP_EXPORT
    1520 int* intarray1, /**< int array to be sorted */
    1521 int* intarray2, /**< int array to be permuted in the same way */
    1522 int* intarray3, /**< int array to be permuted in the same way */
    1523 void** ptrarray, /**< pointer array to be permuted in the same way */
    1524 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1525 int len /**< length of arrays */
    1526 );
    1527
    1528
    1529/** partial sort of four joint arrays of ints/ints/ints/pointers, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1530 * see \ref SelectionAlgorithms for more information.
    1531 */
    1532SCIP_EXPORT
    1534 int* intarray1, /**< int array to be sorted */
    1535 int* intarray2, /**< int array to be permuted in the same way */
    1536 int* intarray3, /**< int array to be permuted in the same way */
    1537 void** ptrarray, /**< pointer array to be permuted in the same way */
    1538 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1539 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1540 int len, /**< length of arrays */
    1541 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1542 );
    1543
    1544
    1545/** partial sort of four joint arrays of ints/ints/ints/reals, sorted by first array in non-decreasing order around the \p k-th element,
    1546 * see \ref SelectionAlgorithms for more information.
    1547 */
    1548SCIP_EXPORT
    1550 int* intarray1, /**< int array to be sorted */
    1551 int* intarray2, /**< int array to be permuted in the same way */
    1552 int* intarray3, /**< int array to be permuted in the same way */
    1553 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    1554 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1555 int len /**< length of arrays */
    1556 );
    1557
    1558
    1559/** partial sort of four joint arrays of ints/ints/ints/reals, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1560 * see \ref SelectionAlgorithms for more information.
    1561 */
    1562SCIP_EXPORT
    1564 int* intarray1, /**< int array to be sorted */
    1565 int* intarray2, /**< int array to be permuted in the same way */
    1566 int* intarray3, /**< int array to be permuted in the same way */
    1567 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    1568 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1569 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1570 int len, /**< length of arrays */
    1571 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1572 );
    1573
    1574
    1575/** partial sort of four joint arrays of ints/pointers/ints/reals, sorted by first array in non-decreasing order around the \p k-th element,
    1576 * see \ref SelectionAlgorithms for more information.
    1577 */
    1578SCIP_EXPORT
    1580 int* intarray1, /**< int array to be sorted */
    1581 void** ptrarray, /**< pointer array to be permuted in the same way */
    1582 int* intarray2, /**< int array to be permuted in the same way */
    1583 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    1584 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1585 int len /**< length of arrays */
    1586 );
    1587
    1588
    1589/** partial sort of four joint arrays of ints/pointers/ints/reals, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1590 * see \ref SelectionAlgorithms for more information.
    1591 */
    1592SCIP_EXPORT
    1594 int* intarray1, /**< int array to be sorted */
    1595 void** ptrarray, /**< pointer array to be permuted in the same way */
    1596 int* intarray2, /**< int array to be permuted in the same way */
    1597 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    1598 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1599 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1600 int len, /**< length of arrays */
    1601 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1602 );
    1603
    1604
    1605/** partial sort an array of Longints in non-decreasing order around the \p k-th element,
    1606 * see \ref SelectionAlgorithms for more information.
    1607 */
    1608SCIP_EXPORT
    1610 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1611 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1612 int len /**< length of arrays */
    1613 );
    1614
    1615
    1616/** partial sort an array of Longints in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1617 * see \ref SelectionAlgorithms for more information.
    1618 */
    1619SCIP_EXPORT
    1621 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1622 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1623 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1624 int len, /**< length of arrays */
    1625 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1626 );
    1627
    1628
    1629/** partial sort of two joint arrays of Long/pointer, sorted by the first array in non-decreasing order around the \p k-th element,
    1630 * see \ref SelectionAlgorithms for more information.
    1631 */
    1632SCIP_EXPORT
    1634 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1635 void** ptrarray, /**< pointer array to be permuted in the same way */
    1636 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1637 int len /**< length of arrays */
    1638 );
    1639
    1640
    1641/** partial sort of two joint arrays of Long/pointer, sorted by the first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1642 * see \ref SelectionAlgorithms for more information.
    1643 */
    1644SCIP_EXPORT
    1646 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1647 void** ptrarray, /**< pointer array to be permuted in the same way */
    1648 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1649 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1650 int len, /**< length of arrays */
    1651 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1652 );
    1653
    1654
    1655/** partial sort of three arrays of Long/pointer/ints, sorted by the first array in non-decreasing order around the \p k-th element,
    1656 * see \ref SelectionAlgorithms for more information.
    1657 */
    1658SCIP_EXPORT
    1660 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1661 void** ptrarray, /**< pointer array to be permuted in the same way */
    1662 int* intarray, /**< int array to be permuted in the same way */
    1663 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1664 int len /**< length of arrays */
    1665 );
    1666
    1667
    1668/** partial sort of three arrays of Long/pointer/ints, sorted by the first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1669 * see \ref SelectionAlgorithms for more information.
    1670 */
    1671SCIP_EXPORT
    1673 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1674 void** ptrarray, /**< pointer array to be permuted in the same way */
    1675 int* intarray, /**< int array to be permuted in the same way */
    1676 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1677 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1678 int len, /**< length of arrays */
    1679 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1680 );
    1681
    1682
    1683/** partial sort of four arrays of Long/pointer/Real/Bool, sorted by the first array in non-decreasing order around the \p k-th element,
    1684 * see \ref SelectionAlgorithms for more information.
    1685 */
    1686SCIP_EXPORT
    1688 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1689 void** ptrarray, /**< pointer array to be permuted in the same way */
    1690 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    1691 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    1692 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1693 int len /**< length of arrays */
    1694 );
    1695
    1696
    1697/** partial sort of four arrays of Long/pointer/Real/Bool, sorted by the first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1698 * see \ref SelectionAlgorithms for more information.
    1699 */
    1700SCIP_EXPORT
    1702 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1703 void** ptrarray, /**< pointer array to be permuted in the same way */
    1704 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    1705 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    1706 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1707 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1708 int len, /**< length of arrays */
    1709 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1710 );
    1711
    1712
    1713/** partial sort of five arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-decreasing order around the \p k-th element,
    1714 * see \ref SelectionAlgorithms for more information.
    1715 */
    1716SCIP_EXPORT
    1718 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1719 void** ptrarray, /**< pointer array to be permuted in the same way */
    1720 SCIP_Real* realarray, /**< first SCIP_Real array to be permuted in the same way */
    1721 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    1722 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    1723 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1724 int len /**< length of arrays */
    1725 );
    1726
    1727
    1728/** partial sort of five arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1729 * see \ref SelectionAlgorithms for more information.
    1730 */
    1731SCIP_EXPORT
    1733 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1734 void** ptrarray, /**< pointer array to be permuted in the same way */
    1735 SCIP_Real* realarray, /**< first SCIP_Real array to be permuted in the same way */
    1736 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    1737 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    1738 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1739 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1740 int len, /**< length of arrays */
    1741 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1742 );
    1743
    1744
    1745/** partial sort of six arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-decreasing order around the \p k-th element,
    1746 * see \ref SelectionAlgorithms for more information.
    1747 */
    1748SCIP_EXPORT
    1750 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1751 void** ptrarray, /**< pointer array to be permuted in the same way */
    1752 SCIP_Real* realarray, /**< first SCIP_Real array to be permuted in the same way */
    1753 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    1754 int* intarray, /**< int array to be permuted in the same way */
    1755 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    1756 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1757 int len /**< length of arrays */
    1758 );
    1759
    1760
    1761/** partial sort of six arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1762 * see \ref SelectionAlgorithms for more information.
    1763 */
    1764SCIP_EXPORT
    1766 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1767 void** ptrarray, /**< pointer array to be permuted in the same way */
    1768 SCIP_Real* realarray, /**< first SCIP_Real array to be permuted in the same way */
    1769 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    1770 int* intarray, /**< int array to be permuted in the same way */
    1771 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    1772 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1773 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1774 int len, /**< length of arrays */
    1775 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1776 );
    1777
    1778
    1779/** partial sort of four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-decreasing order around the \p k-th element,
    1780 * see \ref SelectionAlgorithms for more information.
    1781 */
    1782SCIP_EXPORT
    1784 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1785 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    1786 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    1787 int* intarray, /**< int array to be permuted in the same way */
    1788 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1789 int len /**< length of arrays */
    1790 );
    1791
    1792
    1793/** partial sort of four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1794 * see \ref SelectionAlgorithms for more information.
    1795 */
    1796SCIP_EXPORT
    1798 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1799 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    1800 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    1801 int* intarray, /**< int array to be permuted in the same way */
    1802 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1803 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1804 int len, /**< length of arrays */
    1805 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1806 );
    1807
    1808
    1809/** partial sort of five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-decreasing order around the \p k-th element,
    1810 * see \ref SelectionAlgorithms for more information.
    1811 */
    1812SCIP_EXPORT
    1814 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1815 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    1816 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    1817 int* intarray1, /**< first int array to be permuted in the same way */
    1818 int* intarray2, /**< second int array to be permuted in the same way */
    1819 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1820 int len /**< length of arrays */
    1821 );
    1822
    1823
    1824/** partial sort of five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1825 * see \ref SelectionAlgorithms for more information.
    1826 */
    1827SCIP_EXPORT
    1829 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1830 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    1831 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    1832 int* intarray1, /**< first int array to be permuted in the same way */
    1833 int* intarray2, /**< second int array to be permuted in the same way */
    1834 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1835 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1836 int len, /**< length of arrays */
    1837 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1838 );
    1839
    1840
    1841/** partial sort of five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-decreasing order around the \p k-th element,
    1842 * see \ref SelectionAlgorithms for more information.
    1843 */
    1844SCIP_EXPORT
    1846 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1847 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    1848 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    1849 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    1850 int* intarray, /**< int array to be sorted */
    1851 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1852 int len /**< length of arrays */
    1853 );
    1854
    1855
    1856/** partial sort of five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1857 * see \ref SelectionAlgorithms for more information.
    1858 */
    1859SCIP_EXPORT
    1861 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    1862 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    1863 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    1864 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    1865 int* intarray, /**< int array to be sorted */
    1866 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1867 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1868 int len, /**< length of arrays */
    1869 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1870 );
    1871
    1872
    1873/** partial sort of five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order around the \p k-th element,
    1874 * see \ref SelectionAlgorithms for more information.
    1875 */
    1876SCIP_EXPORT
    1878 void** ptrarray, /**< pointer array to be sorted */
    1879 int* intarray1, /**< first int array to be permuted in the same way */
    1880 int* intarray2, /**< second int array to be permuted in the same way */
    1881 SCIP_Bool* boolarray1, /**< first SCIP_Bool array to be permuted in the same way */
    1882 SCIP_Bool* boolarray2, /**< second SCIP_Bool array to be permuted in the same way */
    1883 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    1884 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1885 int len /**< length of arrays */
    1886 );
    1887
    1888
    1889/** partial sort of five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1890 * see \ref SelectionAlgorithms for more information.
    1891 */
    1892SCIP_EXPORT
    1894 void** ptrarray, /**< pointer array to be sorted */
    1895 int* intarray1, /**< first int array to be permuted in the same way */
    1896 int* intarray2, /**< second int array to be permuted in the same way */
    1897 SCIP_Bool* boolarray1, /**< first SCIP_Bool array to be permuted in the same way */
    1898 SCIP_Bool* boolarray2, /**< second SCIP_Bool array to be permuted in the same way */
    1899 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    1900 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1901 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1902 int len, /**< length of arrays */
    1903 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1904 );
    1905
    1906
    1907/** partial sort of six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order around the \p k-th element,
    1908 * see \ref SelectionAlgorithms for more information.
    1909 */
    1910SCIP_EXPORT
    1912 int* intarray1, /**< int array to be sorted */
    1913 void** ptrarray, /**< pointer array to be permuted in the same way */
    1914 int* intarray2, /**< second int array to be permuted in the same way */
    1915 int* intarray3, /**< thrid int array to be permuted in the same way */
    1916 SCIP_Bool* boolarray1, /**< first SCIP_Bool array to be permuted in the same way */
    1917 SCIP_Bool* boolarray2, /**< second SCIP_Bool array to be permuted in the same way */
    1918 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1919 int len /**< length of arrays */
    1920 );
    1921
    1922
    1923/** partial sort of six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    1924 * see \ref SelectionAlgorithms for more information.
    1925 */
    1926SCIP_EXPORT
    1928 int* intarray1, /**< int array to be sorted */
    1929 void** ptrarray, /**< pointer array to be permuted in the same way */
    1930 int* intarray2, /**< second int array to be permuted in the same way */
    1931 int* intarray3, /**< thrid int array to be permuted in the same way */
    1932 SCIP_Bool* boolarray1, /**< first SCIP_Bool array to be permuted in the same way */
    1933 SCIP_Bool* boolarray2, /**< second SCIP_Bool array to be permuted in the same way */
    1934 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1935 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1936 int len, /**< length of arrays */
    1937 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1938 );
    1939
    1940
    1941/** partial sort an index array in non-increasing order around the \p k-th element,
    1942 * see \ref SelectionAlgorithms for more information.
    1943 */
    1944SCIP_EXPORT
    1946 int* indarray, /**< pointer to the index array to be sorted */
    1947 SCIP_DECL_SORTINDCOMP((*indcomp)), /**< data element comparator */
    1948 void* dataptr, /**< pointer to data field that is given to the external compare method */
    1949 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1950 int len /**< length of arrays */
    1951 );
    1952
    1953
    1954/** partial sort an index array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    1955 * see \ref SelectionAlgorithms for more information.
    1956 */
    1957SCIP_EXPORT
    1959 int* indarray, /**< pointer to the index array to be sorted */
    1960 SCIP_DECL_SORTINDCOMP((*indcomp)), /**< data element comparator */
    1961 void* dataptr, /**< pointer to data field that is given to the external compare method */
    1962 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1963 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1964 int len, /**< length of arrays */
    1965 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1966 );
    1967
    1968
    1969/** partial sort of an array of pointers in non-increasing order around the \p k-th element,
    1970 * see \ref SelectionAlgorithms for more information.
    1971 */
    1972SCIP_EXPORT
    1974 void** ptrarray, /**< pointer array to be sorted */
    1975 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    1976 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    1977 int len /**< length of arrays */
    1978 );
    1979
    1980
    1981/** partial sort of an array of pointers in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    1982 * see \ref SelectionAlgorithms for more information.
    1983 */
    1984SCIP_EXPORT
    1986 void** ptrarray, /**< pointer array to be sorted */
    1987 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    1988 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    1989 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    1990 int len, /**< length of arrays */
    1991 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    1992 );
    1993
    1994
    1995/** partial sort of two joint arrays of pointers/pointers, sorted by first array in non-increasing order around the \p k-th element,
    1996 * see \ref SelectionAlgorithms for more information.
    1997 */
    1998SCIP_EXPORT
    2000 void** ptrarray1, /**< first pointer array to be sorted */
    2001 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2002 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2003 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2004 int len /**< length of arrays */
    2005 );
    2006
    2007
    2008/** partial sort of two joint arrays of pointers/pointers, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2009 * see \ref SelectionAlgorithms for more information.
    2010 */
    2011SCIP_EXPORT
    2013 void** ptrarray1, /**< first pointer array to be sorted */
    2014 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2015 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2016 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2017 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2018 int len, /**< length of arrays */
    2019 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2020 );
    2021
    2022
    2023/** partial sort of two joint arrays of pointers/Reals, sorted by first array in non-increasing order around the \p k-th element,
    2024 * see \ref SelectionAlgorithms for more information.
    2025 */
    2026SCIP_EXPORT
    2028 void** ptrarray, /**< pointer array to be sorted */
    2029 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2030 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2031 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2032 int len /**< length of arrays */
    2033 );
    2034
    2035
    2036/** partial sort of two joint arrays of pointers/Reals, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2037 * see \ref SelectionAlgorithms for more information.
    2038 */
    2039SCIP_EXPORT
    2041 void** ptrarray, /**< pointer array to be sorted */
    2042 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2043 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2044 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2045 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2046 int len, /**< length of arrays */
    2047 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2048 );
    2049
    2050
    2051/** partial sort of two joint arrays of pointers/ints, sorted by first array in non-increasing order around the \p k-th element,
    2052 * see \ref SelectionAlgorithms for more information.
    2053 */
    2054SCIP_EXPORT
    2056 void** ptrarray, /**< pointer array to be sorted */
    2057 int* intarray, /**< int array to be permuted in the same way */
    2058 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2059 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2060 int len /**< length of arrays */
    2061 );
    2062
    2063
    2064/** partial sort of two joint arrays of pointers/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2065 * see \ref SelectionAlgorithms for more information.
    2066 */
    2067SCIP_EXPORT
    2069 void** ptrarray, /**< pointer array to be sorted */
    2070 int* intarray, /**< int array to be permuted in the same way */
    2071 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2072 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2073 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2074 int len, /**< length of arrays */
    2075 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2076 );
    2077
    2078
    2079/** partial sort of two joint arrays of pointers/Bools, sorted by first array in non-increasing order around the \p k-th element,
    2080 * see \ref SelectionAlgorithms for more information.
    2081 */
    2082SCIP_EXPORT
    2084 void** ptrarray, /**< pointer array to be sorted */
    2085 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    2086 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2087 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2088 int len /**< length of arrays */
    2089 );
    2090
    2091
    2092/** partial sort of two joint arrays of pointers/Bools, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2093 * see \ref SelectionAlgorithms for more information.
    2094 */
    2095SCIP_EXPORT
    2097 void** ptrarray, /**< pointer array to be sorted */
    2098 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    2099 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2100 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2101 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2102 int len, /**< length of arrays */
    2103 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2104 );
    2105
    2106
    2107/** partial sort of three joint arrays of pointers/ints/ints, sorted by first array in non-increasing order around the \p k-th element,
    2108 * see \ref SelectionAlgorithms for more information.
    2109 */
    2110SCIP_EXPORT
    2112 void** ptrarray, /**< pointer array to be sorted */
    2113 int* intarray1, /**< first int array to be permuted in the same way */
    2114 int* intarray2, /**< second int array to be permuted in the same way */
    2115 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2116 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2117 int len /**< length of arrays */
    2118 );
    2119
    2120
    2121/** partial sort of three joint arrays of pointers/ints/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2122 * see \ref SelectionAlgorithms for more information.
    2123 */
    2124SCIP_EXPORT
    2126 void** ptrarray, /**< pointer array to be sorted */
    2127 int* intarray1, /**< first int array to be permuted in the same way */
    2128 int* intarray2, /**< second int array to be permuted in the same way */
    2129 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2130 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2131 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2132 int len, /**< length of arrays */
    2133 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2134 );
    2135
    2136
    2137/** partial sort of three joint arrays of pointers/Reals/ints, sorted by first array in non-increasing order around the \p k-th element,
    2138 * see \ref SelectionAlgorithms for more information.
    2139 */
    2140SCIP_EXPORT
    2142 void** ptrarray, /**< pointer array to be sorted */
    2143 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2144 int* intarray, /**< int array to be permuted in the same way */
    2145 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2146 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2147 int len /**< length of arrays */
    2148 );
    2149
    2150
    2151/** partial sort of three joint arrays of pointers/Reals/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2152 * see \ref SelectionAlgorithms for more information.
    2153 */
    2154SCIP_EXPORT
    2156 void** ptrarray, /**< pointer array to be sorted */
    2157 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2158 int* intarray, /**< int array to be permuted in the same way */
    2159 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2160 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2161 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2162 int len, /**< length of arrays */
    2163 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2164 );
    2165
    2166
    2167/** partial sort of three joint arrays of pointers/Reals/Bools, sorted by first array in non-increasing order around the \p k-th element,
    2168 * see \ref SelectionAlgorithms for more information.
    2169 */
    2170SCIP_EXPORT
    2172 void** ptrarray, /**< pointer array to be sorted */
    2173 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2174 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    2175 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2176 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2177 int len /**< length of arrays */
    2178 );
    2179
    2180
    2181/** partial sort of three joint arrays of pointers/Reals/Bools, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2182 * see \ref SelectionAlgorithms for more information.
    2183 */
    2184SCIP_EXPORT
    2186 void** ptrarray, /**< pointer array to be sorted */
    2187 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2188 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    2189 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2190 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2191 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2192 int len, /**< length of arrays */
    2193 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2194 );
    2195
    2196
    2197/** partial sort of three joint arrays of pointers/pointers/ints, sorted by first array in non-increasing order around the \p k-th element,
    2198 * see \ref SelectionAlgorithms for more information.
    2199 */
    2200SCIP_EXPORT
    2202 void** ptrarray1, /**< first pointer array to be sorted */
    2203 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2204 int* intarray, /**< int array to be permuted in the same way */
    2205 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2206 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2207 int len /**< length of arrays */
    2208 );
    2209
    2210
    2211/** partial sort of three joint arrays of pointers/pointers/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2212 * see \ref SelectionAlgorithms for more information.
    2213 */
    2214SCIP_EXPORT
    2216 void** ptrarray1, /**< first pointer array to be sorted */
    2217 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2218 int* intarray, /**< int array to be permuted in the same way */
    2219 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2220 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2221 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2222 int len, /**< length of arrays */
    2223 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2224 );
    2225
    2226
    2227/** partial sort of three joint arrays of pointers/pointers/Reals, sorted by first array in non-increasing order around the \p k-th element,
    2228 * see \ref SelectionAlgorithms for more information.
    2229 */
    2230SCIP_EXPORT
    2232 void** ptrarray1, /**< first pointer array to be sorted */
    2233 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2234 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2235 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2236 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2237 int len /**< length of arrays */
    2238 );
    2239
    2240
    2241/** partial sort of three joint arrays of pointers/pointers/Reals, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2242 * see \ref SelectionAlgorithms for more information.
    2243 */
    2244SCIP_EXPORT
    2246 void** ptrarray1, /**< first pointer array to be sorted */
    2247 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2248 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2249 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2250 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2251 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2252 int len, /**< length of arrays */
    2253 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2254 );
    2255
    2256
    2257/** partial sort of four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-increasing order around the \p k-th element,
    2258 * see \ref SelectionAlgorithms for more information.
    2259 */
    2260SCIP_EXPORT
    2262 void** ptrarray1, /**< first pointer array to be sorted */
    2263 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2264 int* intarray1, /**< first int array to be permuted in the same way */
    2265 int* intarray2, /**< second int array to be permuted in the same way */
    2266 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2267 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2268 int len /**< length of arrays */
    2269 );
    2270
    2271
    2272/** partial sort of four joint arrays of pointers/pointers/ints/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2273 * see \ref SelectionAlgorithms for more information.
    2274 */
    2275SCIP_EXPORT
    2277 void** ptrarray1, /**< first pointer array to be sorted */
    2278 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2279 int* intarray1, /**< first int array to be permuted in the same way */
    2280 int* intarray2, /**< second int array to be permuted in the same way */
    2281 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2282 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2283 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2284 int len, /**< length of arrays */
    2285 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2286 );
    2287
    2288
    2289/** partial sort of four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-increasing order around the \p k-th element,
    2290 * see \ref SelectionAlgorithms for more information.
    2291 */
    2292SCIP_EXPORT
    2294 void** ptrarray, /**< pointer array to be sorted */
    2295 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2296 int* intarray1, /**< first int array to be permuted in the same way */
    2297 int* intarray2, /**< second int array to be permuted in the same way */
    2298 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2299 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2300 int len /**< length of arrays */
    2301 );
    2302
    2303
    2304/** partial sort of four joint arrays of pointers/Reals/ints/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2305 * see \ref SelectionAlgorithms for more information.
    2306 */
    2307SCIP_EXPORT
    2309 void** ptrarray, /**< pointer array to be sorted */
    2310 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2311 int* intarray1, /**< first int array to be permuted in the same way */
    2312 int* intarray2, /**< second int array to be permuted in the same way */
    2313 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2314 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2315 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2316 int len, /**< length of arrays */
    2317 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2318 );
    2319
    2320
    2321/** partial sort of four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-increasing order around the \p k-th element,
    2322 * see \ref SelectionAlgorithms for more information.
    2323 */
    2324SCIP_EXPORT
    2326 void** ptrarray1, /**< first pointer array to be sorted */
    2327 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2328 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2329 int* intarray, /**< int array to be permuted in the same way */
    2330 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2331 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2332 int len /**< length of arrays */
    2333 );
    2334
    2335
    2336/** partial sort of four joint arrays of pointer/pointer/Reals/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2337 * see \ref SelectionAlgorithms for more information.
    2338 */
    2339SCIP_EXPORT
    2341 void** ptrarray1, /**< first pointer array to be sorted */
    2342 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2343 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2344 int* intarray, /**< int array to be permuted in the same way */
    2345 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2346 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2347 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2348 int len, /**< length of arrays */
    2349 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2350 );
    2351
    2352
    2353/** partial sort of four joint arrays of pointer/pointer/Reals/bools, sorted by first array in non-increasing order around the \p k-th element,
    2354 * see \ref SelectionAlgorithms for more information.
    2355 */
    2356SCIP_EXPORT
    2358 void** ptrarray1, /**< first pointer array to be sorted */
    2359 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2360 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2361 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    2362 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2363 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2364 int len /**< length of arrays */
    2365 );
    2366
    2367
    2368/** partial sort of four joint arrays of pointer/pointer/Reals/bools, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2369 * see \ref SelectionAlgorithms for more information.
    2370 */
    2371SCIP_EXPORT
    2373 void** ptrarray1, /**< first pointer array to be sorted */
    2374 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2375 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    2376 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    2377 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2378 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2379 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2380 int len, /**< length of arrays */
    2381 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2382 );
    2383
    2384
    2385/** partial sort of four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-increasing order around the \p k-th element,
    2386 * see \ref SelectionAlgorithms for more information.
    2387 */
    2388SCIP_EXPORT
    2390 void** ptrarray1, /**< first pointer array to be sorted */
    2391 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2392 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    2393 int* intarray, /**< int array to be permuted in the same way */
    2394 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2395 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2396 int len /**< length of arrays */
    2397 );
    2398
    2399
    2400/** partial sort of four joint arrays of pointer/pointer/Longs/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2401 * see \ref SelectionAlgorithms for more information.
    2402 */
    2403SCIP_EXPORT
    2405 void** ptrarray1, /**< first pointer array to be sorted */
    2406 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2407 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    2408 int* intarray, /**< int array to be permuted in the same way */
    2409 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2410 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2411 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2412 int len, /**< length of arrays */
    2413 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2414 );
    2415
    2416
    2417/** partial sort of five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-increasing order around the \p k-th element,
    2418 * see \ref SelectionAlgorithms for more information.
    2419 */
    2420SCIP_EXPORT
    2422 void** ptrarray1, /**< first pointer array to be sorted */
    2423 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2424 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    2425 int* intarray1, /**< first int array to be permuted in the same way */
    2426 int* intarray2, /**< second int array to be permuted in the same way */
    2427 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2428 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2429 int len /**< length of arrays */
    2430 );
    2431
    2432
    2433/** partial sort of five joint arrays of pointer/pointer/Longs/ints/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2434 * see \ref SelectionAlgorithms for more information.
    2435 */
    2436SCIP_EXPORT
    2438 void** ptrarray1, /**< first pointer array to be sorted */
    2439 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    2440 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    2441 int* intarray1, /**< first int array to be permuted in the same way */
    2442 int* intarray2, /**< second int array to be permuted in the same way */
    2443 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    2444 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2445 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2446 int len, /**< length of arrays */
    2447 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2448 );
    2449
    2450
    2451/** partial sort an array of Reals in non-increasing order around the \p k-th element,
    2452 * see \ref SelectionAlgorithms for more information.
    2453 */
    2454SCIP_EXPORT
    2456 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2457 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2458 int len /**< length of arrays */
    2459 );
    2460
    2461
    2462/** partial sort an array of Reals in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2463 * see \ref SelectionAlgorithms for more information.
    2464 */
    2465SCIP_EXPORT
    2467 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2468 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2469 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2470 int len, /**< length of arrays */
    2471 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2472 );
    2473
    2474
    2475/** partial sort of two joint arrays of Reals/pointers, sorted by first array in non-increasing order around the \p k-th element,
    2476 * see \ref SelectionAlgorithms for more information.
    2477 */
    2478SCIP_EXPORT
    2480 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2481 void** ptrarray, /**< pointer array to be permuted in the same way */
    2482 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2483 int len /**< length of arrays */
    2484 );
    2485
    2486
    2487/** partial sort of two joint arrays of Reals/pointers, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2488 * see \ref SelectionAlgorithms for more information.
    2489 */
    2490SCIP_EXPORT
    2492 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2493 void** ptrarray, /**< pointer array to be permuted in the same way */
    2494 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2495 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2496 int len, /**< length of arrays */
    2497 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2498 );
    2499
    2500
    2501/** partial sort of two joint arrays of Reals/ints, sorted by first array in non-increasing order around the \p k-th element,
    2502 * see \ref SelectionAlgorithms for more information.
    2503 */
    2504SCIP_EXPORT
    2506 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2507 int* intarray, /**< pointer array to be permuted in the same way */
    2508 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2509 int len /**< length of arrays */
    2510 );
    2511
    2512
    2513/** partial sort of three joint arrays of Reals/ints/ints, sorted by first array in non-increasing order around the \p k-th element,
    2514 * see \ref SelectionAlgorithms for more information.
    2515 */
    2516SCIP_EXPORT
    2518 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2519 int* intarray1, /**< first int array to be permuted in the same way */
    2520 int* intarray2, /**< second int array to be permuted in the same way */
    2521 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2522 int len /**< length of arrays */
    2523 );
    2524
    2525
    2526/** partial sort of two joint arrays of Reals/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2527 * see \ref SelectionAlgorithms for more information.
    2528 */
    2529SCIP_EXPORT
    2531 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2532 int* intarray, /**< pointer array to be permuted in the same way */
    2533 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2534 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2535 int len, /**< length of arrays */
    2536 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2537 );
    2538
    2539
    2540/** partial sort of three joint arrays of Reals/ints/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2541 * see \ref SelectionAlgorithms for more information.
    2542 */
    2543SCIP_EXPORT
    2545 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2546 int* intarray1, /**< first int array to be permuted in the same way */
    2547 int* intarray2, /**< second int array to be permuted in the same way */
    2548 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2549 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2550 int len, /**< length of arrays */
    2551 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2552 );
    2553
    2554
    2555/** partial sort of three joint arrays of Reals/Bools/Pointer, sorted by first array in non-increasing order around the \p k-th element,
    2556 * see \ref SelectionAlgorithms for more information.
    2557 */
    2558SCIP_EXPORT
    2560 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2561 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    2562 void** ptrarray, /**< pointer array to be permuted in the same way */
    2563 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2564 int len /**< length of arrays */
    2565 );
    2566
    2567
    2568/** partial sort of three joint arrays of Reals/Bools/Pointer, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2569 * see \ref SelectionAlgorithms for more information.
    2570 */
    2571SCIP_EXPORT
    2573 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2574 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    2575 void** ptrarray, /**< pointer array to be permuted in the same way */
    2576 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2577 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2578 int len, /**< length of arrays */
    2579 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2580 );
    2581
    2582
    2583/** partial sort of three joint arrays of Reals/ints/Longs, sorted by first array in non-increasing order around the \p k-th element,
    2584 * see \ref SelectionAlgorithms for more information.
    2585 */
    2586SCIP_EXPORT
    2588 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2589 int* intarray, /**< int array to be permuted in the same way */
    2590 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    2591 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2592 int len /**< length of arrays */
    2593 );
    2594
    2595
    2596/** partial sort of three joint arrays of Reals/ints/Longs, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2597 * see \ref SelectionAlgorithms for more information.
    2598 */
    2599SCIP_EXPORT
    2601 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2602 int* intarray, /**< int array to be permuted in the same way */
    2603 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    2604 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2605 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2606 int len, /**< length of arrays */
    2607 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2608 );
    2609
    2610
    2611/** partial sort of three joint arrays of Reals/ints/Pointer, sorted by first array in non-increasing order around the \p k-th element,
    2612 * see \ref SelectionAlgorithms for more information.
    2613 */
    2614SCIP_EXPORT
    2616 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2617 int* intarray, /**< int array to be permuted in the same way */
    2618 void** ptrarray, /**< pointer array to be permuted in the same way */
    2619 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2620 int len /**< length of arrays */
    2621 );
    2622
    2623
    2624/** partial sort of three joint arrays of Reals/ints/Pointer, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2625 * see \ref SelectionAlgorithms for more information.
    2626 */
    2627SCIP_EXPORT
    2629 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2630 int* intarray, /**< int array to be permuted in the same way */
    2631 void** ptrarray, /**< pointer array to be permuted in the same way */
    2632 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2633 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2634 int len, /**< length of arrays */
    2635 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2636 );
    2637
    2638
    2639/** partial sort of three joint arrays of Reals/Reals/ints, sorted by first array in non-increasing order around the \p k-th element,
    2640 * see \ref SelectionAlgorithms for more information.
    2641 */
    2642SCIP_EXPORT
    2644 SCIP_Real* realarray1, /**< first SCIP_Real array to be sorted */
    2645 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    2646 int* intarray, /**< integer array to be permuted in the same way */
    2647 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2648 int len /**< length of arrays */
    2649 );
    2650
    2651
    2652/** partial sort of three joint arrays of Reals/Reals/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2653 * see \ref SelectionAlgorithms for more information.
    2654 */
    2655SCIP_EXPORT
    2657 SCIP_Real* realarray1, /**< first SCIP_Real array to be sorted */
    2658 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    2659 int* intarray, /**< integer array to be permuted in the same way */
    2660 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2661 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2662 int len, /**< length of arrays */
    2663 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2664 );
    2665
    2666
    2667/** partial sort of three joint arrays of Reals/Reals/Pointer, sorted by first array in non-increasing order around the \p k-th element,
    2668 * see \ref SelectionAlgorithms for more information.
    2669 */
    2670SCIP_EXPORT
    2672 SCIP_Real* realarray1, /**< first SCIP_Real array to be sorted */
    2673 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    2674 void** ptrarray, /**< pointer array to be permuted in the same way */
    2675 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2676 int len /**< length of arrays */
    2677 );
    2678
    2679
    2680/** partial sort of three joint arrays of Reals/Reals/Pointer, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2681 * see \ref SelectionAlgorithms for more information.
    2682 */
    2683SCIP_EXPORT
    2685 SCIP_Real* realarray1, /**< first SCIP_Real array to be sorted */
    2686 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    2687 void** ptrarray, /**< pointer array to be permuted in the same way */
    2688 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2689 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2690 int len, /**< length of arrays */
    2691 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2692 );
    2693
    2694/** partial sort of three joint arrays of Reals/Reals/Pointer/Pointer, sorted by first array in non-increasing order around the \p k-th element */
    2695SCIP_EXPORT
    2697 SCIP_Real* realarray1, /**< first SCIP_Real array to be sorted */
    2698 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    2699 void** ptrarray1, /**< pointer array to be permuted in the same way */
    2700 void** ptrarray2, /**< pointer array to be permuted in the same way */
    2701 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2702 int len /**< length of arrays */
    2703 );
    2704
    2705/** partial sort of three joint arrays of Reals/Reals/Pointer/Pointer, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity */
    2706SCIP_EXPORT
    2708 SCIP_Real* realarray1, /**< first SCIP_Real array to be sorted */
    2709 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    2710 void** ptrarray1, /**< pointer array to be permuted in the same way */
    2711 void** ptrarray2, /**< pointer array to be permuted in the same way */
    2712 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2713 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2714 int len, /**< length of arrays */
    2715 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2716 );
    2717
    2718/** partial sort of four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-increasing order around the \p k-th element,
    2719 * see \ref SelectionAlgorithms for more information.
    2720 */
    2721SCIP_EXPORT
    2723 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2724 void** ptrarray1, /**< pointer array to be permuted in the same way */
    2725 void** ptrarray2, /**< pointer array to be permuted in the same way */
    2726 int* intarray, /**< int array to be sorted */
    2727 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2728 int len /**< length of arrays */
    2729 );
    2730
    2731
    2732/** partial sort of four joint arrays of Reals/pointers/pointers/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2733 * see \ref SelectionAlgorithms for more information.
    2734 */
    2735SCIP_EXPORT
    2737 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2738 void** ptrarray1, /**< pointer array to be permuted in the same way */
    2739 void** ptrarray2, /**< pointer array to be permuted in the same way */
    2740 int* intarray, /**< int array to be sorted */
    2741 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2742 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2743 int len, /**< length of arrays */
    2744 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2745 );
    2746
    2747
    2748/** partial sort of five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-increasing order around the \p k-th element,
    2749 * see \ref SelectionAlgorithms for more information.
    2750 */
    2751SCIP_EXPORT
    2753 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2754 void** ptrarray1, /**< pointer array to be permuted in the same way */
    2755 void** ptrarray2, /**< pointer array to be permuted in the same way */
    2756 int* intarray1, /**< int array to be sorted */
    2757 int* intarray2, /**< int array to be sorted */
    2758 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2759 int len /**< length of arrays */
    2760 );
    2761
    2762
    2763/** partial sort of five joint arrays of Reals/pointers/pointers/ints/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2764 * see \ref SelectionAlgorithms for more information.
    2765 */
    2766SCIP_EXPORT
    2768 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2769 void** ptrarray1, /**< pointer array to be permuted in the same way */
    2770 void** ptrarray2, /**< pointer array to be permuted in the same way */
    2771 int* intarray1, /**< int array to be sorted */
    2772 int* intarray2, /**< int array to be sorted */
    2773 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2774 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2775 int len, /**< length of arrays */
    2776 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2777 );
    2778
    2779
    2780/** partial sort of four joint arrays of Reals/Longs/Reals/ints, sorted by first array in non-increasing order around the \p k-th element,
    2781 * see \ref SelectionAlgorithms for more information.
    2782 */
    2783SCIP_EXPORT
    2785 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    2786 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    2787 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    2788 int* intarray, /**< int array to be permuted in the same way */
    2789 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2790 int len /**< length of arrays */
    2791 );
    2792
    2793
    2794/** partial sort of four joint arrays of Reals/Longs/Reals/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2795 * see \ref SelectionAlgorithms for more information.
    2796 */
    2797SCIP_EXPORT
    2799 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    2800 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    2801 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    2802 int* intarray, /**< int array to be permuted in the same way */
    2803 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2804 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2805 int len, /**< length of arrays */
    2806 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2807 );
    2808
    2809
    2810/** partial sort of four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-increasing order around the \p k-th element,
    2811 * see \ref SelectionAlgorithms for more information.
    2812 */
    2813SCIP_EXPORT
    2815 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    2816 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    2817 int* intarray1, /**< int array to be permuted in the same way */
    2818 int* intarray2, /**< int array to be permuted in the same way */
    2819 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2820 int len /**< length of arrays */
    2821 );
    2822
    2823
    2824/** partial sort of four joint arrays of Reals/Reals/ints/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2825 * see \ref SelectionAlgorithms for more information.
    2826 */
    2827SCIP_EXPORT
    2829 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    2830 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    2831 int* intarray1, /**< int array to be permuted in the same way */
    2832 int* intarray2, /**< int array to be permuted in the same way */
    2833 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2834 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2835 int len, /**< length of arrays */
    2836 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2837 );
    2838
    2839
    2840/** partial sort of four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-increasing order around the \p k-th element,
    2841 * see \ref SelectionAlgorithms for more information.
    2842 */
    2843SCIP_EXPORT
    2845 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    2846 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    2847 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    2848 int* intarray, /**< int array to be permuted in the same way */
    2849 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2850 int len /**< length of arrays */
    2851 );
    2852
    2853
    2854/** partial sort of four joint arrays of Reals/Reals/Reals/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2855 * see \ref SelectionAlgorithms for more information.
    2856 */
    2857SCIP_EXPORT
    2859 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    2860 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    2861 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    2862 int* intarray, /**< int array to be permuted in the same way */
    2863 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2864 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2865 int len, /**< length of arrays */
    2866 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2867 );
    2868
    2869
    2870/** partial sort of four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-increasing order around the \p k-th element,
    2871 * see \ref SelectionAlgorithms for more information.
    2872 */
    2873SCIP_EXPORT
    2875 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    2876 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    2877 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    2878 void** ptrarray, /**< pointer array to be permuted in the same way */
    2879 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2880 int len /**< length of arrays */
    2881 );
    2882
    2883
    2884/** partial sort of four joint arrays of Reals/Reals/Reals/pointers, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2885 * see \ref SelectionAlgorithms for more information.
    2886 */
    2887SCIP_EXPORT
    2889 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    2890 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    2891 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    2892 void** ptrarray, /**< pointer array to be permuted in the same way */
    2893 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2894 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2895 int len, /**< length of arrays */
    2896 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2897 );
    2898
    2899
    2900/** partial sort of three joint arrays of Reals/pointers, sorted by first array in non-decreasing order around the \p k-th element,
    2901 * see \ref SelectionAlgorithms for more information.
    2902 */
    2903SCIP_EXPORT
    2905 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2906 void** ptrarray1, /**< pointer array to be permuted in the same way */
    2907 void** ptrarray2, /**< pointer array to be permuted in the same way */
    2908 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2909 int len /**< length of arrays */
    2910 );
    2911
    2912
    2913/** partial sort of three joint arrays of Reals/pointers, sorted by first array in non-decreasing order around the weighted median w.r.t. \p weights and capacity,
    2914 * see \ref SelectionAlgorithms for more information.
    2915 */
    2916SCIP_EXPORT
    2918 SCIP_Real* realarray, /**< SCIP_Real array to be sorted */
    2919 void** ptrarray1, /**< pointer array to be permuted in the same way */
    2920 void** ptrarray2, /**< pointer array to be permuted in the same way */
    2921 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2922 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2923 int len, /**< length of arrays */
    2924 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2925 );
    2926
    2927
    2928/** partial sort of five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-increasing order around the \p k-th element,
    2929 * see \ref SelectionAlgorithms for more information.
    2930 */
    2931SCIP_EXPORT
    2933 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    2934 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    2935 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    2936 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    2937 void** ptrarray, /**< pointer array to be permuted in the same way */
    2938 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2939 int len /**< length of arrays */
    2940 );
    2941
    2942
    2943/** partial sort of five joint arrays of Reals/Reals/Reals/Bools/pointers, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2944 * see \ref SelectionAlgorithms for more information.
    2945 */
    2946SCIP_EXPORT
    2948 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    2949 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    2950 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    2951 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    2952 void** ptrarray, /**< pointer array to be permuted in the same way */
    2953 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2954 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2955 int len, /**< length of arrays */
    2956 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2957 );
    2958
    2959
    2960/** partial sort of six joint arrays of Reals/Reals/Reals/Bools/Bools/pointers, sorted by first array in non-increasing order around the \p k-th element,
    2961 * see \ref SelectionAlgorithms for more information.
    2962 */
    2963SCIP_EXPORT
    2965 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    2966 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    2967 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    2968 SCIP_Bool* boolarray1, /**< SCIP_Bool array to be permuted in the same way */
    2969 SCIP_Bool* boolarray2, /**< SCIP_Bool array to be permuted in the same way */
    2970 void** ptrarray, /**< pointer array to be permuted in the same way */
    2971 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    2972 int len /**< length of arrays */
    2973 );
    2974
    2975
    2976/** partial sort of six joint arrays of Reals/Reals/Reals/Bools/Bools/pointers, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    2977 * see \ref SelectionAlgorithms for more information.
    2978 */
    2979SCIP_EXPORT
    2981 SCIP_Real* realarray1, /**< SCIP_Real array to be sorted */
    2982 SCIP_Real* realarray2, /**< SCIP_Real array to be permuted in the same way */
    2983 SCIP_Real* realarray3, /**< SCIP_Real array to be permuted in the same way */
    2984 SCIP_Bool* boolarray1, /**< SCIP_Bool array to be permuted in the same way */
    2985 SCIP_Bool* boolarray2, /**< SCIP_Bool array to be permuted in the same way */
    2986 void** ptrarray, /**< pointer array to be permuted in the same way */
    2987 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    2988 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    2989 int len, /**< length of arrays */
    2990 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    2991 );
    2992
    2993
    2994/** partial sort array of ints in non-increasing order around the \p k-th element,
    2995 * see \ref SelectionAlgorithms for more information.
    2996 */
    2997SCIP_EXPORT
    2999 int* intarray, /**< int array to be sorted */
    3000 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3001 int len /**< length of arrays */
    3002 );
    3003
    3004
    3005/** partial sort array of ints in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3006 * see \ref SelectionAlgorithms for more information.
    3007 */
    3008SCIP_EXPORT
    3010 int* intarray, /**< int array to be sorted */
    3011 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3012 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3013 int len, /**< length of arrays */
    3014 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3015 );
    3016
    3017
    3018/** partial sort of two joint arrays of ints/ints, sorted by first array in non-increasing order around the \p k-th element,
    3019 * see \ref SelectionAlgorithms for more information.
    3020 */
    3021SCIP_EXPORT
    3023 int* intarray1, /**< int array to be sorted */
    3024 int* intarray2, /**< second int array to be permuted in the same way */
    3025 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3026 int len /**< length of arrays */
    3027 );
    3028
    3029
    3030/** partial sort of two joint arrays of ints/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3031 * see \ref SelectionAlgorithms for more information.
    3032 */
    3033SCIP_EXPORT
    3035 int* intarray1, /**< int array to be sorted */
    3036 int* intarray2, /**< second int array to be permuted in the same way */
    3037 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3038 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3039 int len, /**< length of arrays */
    3040 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3041 );
    3042
    3043
    3044/** partial sort of two joint arrays of ints/pointers, sorted by first array in non-increasing order around the \p k-th element,
    3045 * see \ref SelectionAlgorithms for more information.
    3046 */
    3047SCIP_EXPORT
    3049 int* intarray, /**< int array to be sorted */
    3050 void** ptrarray, /**< pointer array to be permuted in the same way */
    3051 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3052 int len /**< length of arrays */
    3053 );
    3054
    3055
    3056/** partial sort of two joint arrays of ints/pointers, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3057 * see \ref SelectionAlgorithms for more information.
    3058 */
    3059SCIP_EXPORT
    3061 int* intarray, /**< int array to be sorted */
    3062 void** ptrarray, /**< pointer array to be permuted in the same way */
    3063 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3064 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3065 int len, /**< length of arrays */
    3066 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3067 );
    3068
    3069
    3070/** partial sort of two joint arrays of ints/reals, sorted by first array in non-increasing order around the \p k-th element,
    3071 * see \ref SelectionAlgorithms for more information.
    3072 */
    3073SCIP_EXPORT
    3075 int* intarray, /**< int array to be sorted */
    3076 SCIP_Real* realarray, /**< real array to be permuted in the same way */
    3077 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3078 int len /**< length of arrays */
    3079 );
    3080
    3081
    3082/** partial sort of two joint arrays of ints/reals, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3083 * see \ref SelectionAlgorithms for more information.
    3084 */
    3085SCIP_EXPORT
    3087 int* intarray, /**< int array to be sorted */
    3088 SCIP_Real* realarray, /**< real array to be permuted in the same way */
    3089 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3090 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3091 int len, /**< length of arrays */
    3092 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3093 );
    3094
    3095
    3096/** partial sort of three joint arrays of ints/ints/ints, sorted by first array in non-increasing order around the \p k-th element,
    3097 * see \ref SelectionAlgorithms for more information.
    3098 */
    3099SCIP_EXPORT
    3101 int* intarray1, /**< int array to be sorted */
    3102 int* intarray2, /**< second int array to be permuted in the same way */
    3103 int* intarray3, /**< third int array to be permuted in the same way */
    3104 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3105 int len /**< length of arrays */
    3106 );
    3107
    3108
    3109/** partial sort of three joint arrays of ints/ints/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3110 * see \ref SelectionAlgorithms for more information.
    3111 */
    3112SCIP_EXPORT
    3114 int* intarray1, /**< int array to be sorted */
    3115 int* intarray2, /**< second int array to be permuted in the same way */
    3116 int* intarray3, /**< third int array to be permuted in the same way */
    3117 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3118 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3119 int len, /**< length of arrays */
    3120 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3121 );
    3122
    3123
    3124/** partial sort of three joint arrays of ints/ints/SCIP_Longint, sorted by first array in non-increasing order around the \p k-th element,
    3125 * see \ref SelectionAlgorithms for more information.
    3126 */
    3127SCIP_EXPORT
    3129 int* intarray1, /**< int array to be sorted */
    3130 int* intarray2, /**< second int array to be permuted in the same way */
    3131 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    3132 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3133 int len /**< length of arrays */
    3134 );
    3135
    3136
    3137/** partial sort of three joint arrays of ints/ints/SCIP_Longint, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3138 * see \ref SelectionAlgorithms for more information.
    3139 */
    3140SCIP_EXPORT
    3142 int* intarray1, /**< int array to be sorted */
    3143 int* intarray2, /**< second int array to be permuted in the same way */
    3144 SCIP_Longint* longarray, /**< SCIP_Longint array to be permuted in the same way */
    3145 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3146 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3147 int len, /**< length of arrays */
    3148 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3149 );
    3150
    3151
    3152/** partial sort of three joint arrays of ints/ints/pointers, sorted by first array in non-increasing order around the \p k-th element,
    3153 * see \ref SelectionAlgorithms for more information.
    3154 */
    3155SCIP_EXPORT
    3157 int* intarray1, /**< int array to be sorted */
    3158 int* intarray2, /**< second int array to be permuted in the same way */
    3159 void** ptrarray, /**< pointer array to be permuted in the same way */
    3160 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3161 int len /**< length of arrays */
    3162 );
    3163
    3164
    3165/** partial sort of three joint arrays of ints/ints/pointers, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3166 * see \ref SelectionAlgorithms for more information.
    3167 */
    3168SCIP_EXPORT
    3170 int* intarray1, /**< int array to be sorted */
    3171 int* intarray2, /**< second int array to be permuted in the same way */
    3172 void** ptrarray, /**< pointer array to be permuted in the same way */
    3173 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3174 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3175 int len, /**< length of arrays */
    3176 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3177 );
    3178
    3179
    3180/** partial sort of three joint arrays of ints/ints/Reals, sorted by first array in non-increasing order around the \p k-th element,
    3181 * see \ref SelectionAlgorithms for more information.
    3182 */
    3183SCIP_EXPORT
    3185 int* intarray1, /**< int array to be sorted */
    3186 int* intarray2, /**< second int array to be permuted in the same way */
    3187 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    3188 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3189 int len /**< length of arrays */
    3190 );
    3191
    3192
    3193/** partial sort of three joint arrays of ints/ints/Reals, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3194 * see \ref SelectionAlgorithms for more information.
    3195 */
    3196SCIP_EXPORT
    3198 int* intarray1, /**< int array to be sorted */
    3199 int* intarray2, /**< second int array to be permuted in the same way */
    3200 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    3201 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3202 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3203 int len, /**< length of arrays */
    3204 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3205 );
    3206
    3207
    3208/** partial sort of four joint arrays of ints/ints/ints/pointers, sorted by first array in non-increasing order around the \p k-th element,
    3209 * see \ref SelectionAlgorithms for more information.
    3210 */
    3211SCIP_EXPORT
    3213 int* intarray1, /**< int array to be sorted */
    3214 int* intarray2, /**< int array to be permuted in the same way */
    3215 int* intarray3, /**< int array to be permuted in the same way */
    3216 void** ptrarray, /**< pointer array to be permuted in the same way */
    3217 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3218 int len /**< length of arrays */
    3219 );
    3220
    3221
    3222/** partial sort of four joint arrays of ints/ints/ints/pointers, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3223 * see \ref SelectionAlgorithms for more information.
    3224 */
    3225SCIP_EXPORT
    3227 int* intarray1, /**< int array to be sorted */
    3228 int* intarray2, /**< int array to be permuted in the same way */
    3229 int* intarray3, /**< int array to be permuted in the same way */
    3230 void** ptrarray, /**< pointer array to be permuted in the same way */
    3231 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3232 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3233 int len, /**< length of arrays */
    3234 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3235 );
    3236
    3237
    3238/** partial sort of four joint arrays of ints/ints/ints/reals, sorted by first array in non-increasing order around the \p k-th element,
    3239 * see \ref SelectionAlgorithms for more information.
    3240 */
    3241SCIP_EXPORT
    3243 int* intarray1, /**< int array to be sorted */
    3244 int* intarray2, /**< int array to be permuted in the same way */
    3245 int* intarray3, /**< int array to be permuted in the same way */
    3246 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    3247 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3248 int len /**< length of arrays */
    3249 );
    3250
    3251
    3252/** partial sort of four joint arrays of ints/ints/ints/reals, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3253 * see \ref SelectionAlgorithms for more information.
    3254 */
    3255SCIP_EXPORT
    3257 int* intarray1, /**< int array to be sorted */
    3258 int* intarray2, /**< int array to be permuted in the same way */
    3259 int* intarray3, /**< int array to be permuted in the same way */
    3260 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    3261 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3262 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3263 int len, /**< length of arrays */
    3264 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3265 );
    3266
    3267
    3268/** partial sort of four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-increasing order around the \p k-th element,
    3269 * see \ref SelectionAlgorithms for more information.
    3270 */
    3271SCIP_EXPORT
    3273 int* intarray1, /**< int array to be sorted */
    3274 void** ptrarray, /**< pointer array to be permuted in the same way */
    3275 int* intarray2, /**< int array to be permuted in the same way */
    3276 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    3277 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3278 int len /**< length of arrays */
    3279 );
    3280
    3281
    3282/** partial sort of four joint arrays of ints/pointers/ints/Reals, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3283 * see \ref SelectionAlgorithms for more information.
    3284 */
    3285SCIP_EXPORT
    3287 int* intarray1, /**< int array to be sorted */
    3288 void** ptrarray, /**< pointer array to be permuted in the same way */
    3289 int* intarray2, /**< int array to be permuted in the same way */
    3290 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    3291 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3292 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3293 int len, /**< length of arrays */
    3294 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3295 );
    3296
    3297
    3298/** partial sort an array of Longints in non-increasing order around the \p k-th element,
    3299 * see \ref SelectionAlgorithms for more information.
    3300 */
    3301SCIP_EXPORT
    3303 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3304 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3305 int len /**< length of arrays */
    3306 );
    3307
    3308
    3309/** partial sort an array of Longints in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3310 * see \ref SelectionAlgorithms for more information.
    3311 */
    3312SCIP_EXPORT
    3314 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3315 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3316 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3317 int len, /**< length of arrays */
    3318 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3319 );
    3320
    3321
    3322/** partial sort of two joint arrays of Long/pointer, sorted by the first array in non-increasing order around the \p k-th element,
    3323 * see \ref SelectionAlgorithms for more information.
    3324 */
    3325SCIP_EXPORT
    3327 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3328 void** ptrarray, /**< pointer array to be permuted in the same way */
    3329 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3330 int len /**< length of arrays */
    3331 );
    3332
    3333
    3334/** partial sort of two joint arrays of Long/pointer, sorted by the first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3335 * see \ref SelectionAlgorithms for more information.
    3336 */
    3337SCIP_EXPORT
    3339 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3340 void** ptrarray, /**< pointer array to be permuted in the same way */
    3341 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3342 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3343 int len, /**< length of arrays */
    3344 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3345 );
    3346
    3347
    3348/** partial sort of three arrays of Long/pointer/ints, sorted by the first array in non-increasing order around the \p k-th element,
    3349 * see \ref SelectionAlgorithms for more information.
    3350 */
    3351SCIP_EXPORT
    3353 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3354 void** ptrarray, /**< pointer array to be permuted in the same way */
    3355 int* intarray, /**< int array to be permuted in the same way */
    3356 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3357 int len /**< length of arrays */
    3358 );
    3359
    3360
    3361/** partial sort of three arrays of Long/pointer/ints, sorted by the first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3362 * see \ref SelectionAlgorithms for more information.
    3363 */
    3364SCIP_EXPORT
    3366 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3367 void** ptrarray, /**< pointer array to be permuted in the same way */
    3368 int* intarray, /**< int array to be permuted in the same way */
    3369 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3370 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3371 int len, /**< length of arrays */
    3372 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3373 );
    3374
    3375
    3376/** partial sort of four arrays of Long/pointer/Real/Bool, sorted by the first array in non-increasing order around the \p k-th element,
    3377 * see \ref SelectionAlgorithms for more information.
    3378 */
    3379SCIP_EXPORT
    3381 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3382 void** ptrarray, /**< pointer array to be permuted in the same way */
    3383 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    3384 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    3385 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3386 int len /**< length of arrays */
    3387 );
    3388
    3389
    3390/** partial sort of four arrays of Long/pointer/Real/Bool, sorted by the first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3391 * see \ref SelectionAlgorithms for more information.
    3392 */
    3393SCIP_EXPORT
    3395 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3396 void** ptrarray, /**< pointer array to be permuted in the same way */
    3397 SCIP_Real* realarray, /**< SCIP_Real array to be permuted in the same way */
    3398 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    3399 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3400 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3401 int len, /**< length of arrays */
    3402 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3403 );
    3404
    3405
    3406/** partial sort of five arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-increasing order around the \p k-th element,
    3407 * see \ref SelectionAlgorithms for more information.
    3408 */
    3409SCIP_EXPORT
    3411 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3412 void** ptrarray, /**< pointer array to be permuted in the same way */
    3413 SCIP_Real* realarray, /**< first SCIP_Real array to be permuted in the same way */
    3414 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    3415 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    3416 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3417 int len /**< length of arrays */
    3418 );
    3419
    3420
    3421/** partial sort of five arrays of Long/pointer/Real/Real/Bool, sorted by the first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3422 * see \ref SelectionAlgorithms for more information.
    3423 */
    3424SCIP_EXPORT
    3426 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3427 void** ptrarray, /**< pointer array to be permuted in the same way */
    3428 SCIP_Real* realarray, /**< first SCIP_Real array to be permuted in the same way */
    3429 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    3430 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    3431 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3432 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3433 int len, /**< length of arrays */
    3434 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3435 );
    3436
    3437
    3438/** partial sort of six arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-increasing order around the \p k-th element,
    3439 * see \ref SelectionAlgorithms for more information.
    3440 */
    3441SCIP_EXPORT
    3443 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3444 void** ptrarray, /**< pointer array to be permuted in the same way */
    3445 SCIP_Real* realarray, /**< first SCIP_Real array to be permuted in the same way */
    3446 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    3447 int* intarray, /**< int array to be permuted in the same way */
    3448 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    3449 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3450 int len /**< length of arrays */
    3451 );
    3452
    3453
    3454/** partial sort of six arrays of Long/pointer/Real/Real/int/Bool, sorted by the first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3455 * see \ref SelectionAlgorithms for more information.
    3456 */
    3457SCIP_EXPORT
    3459 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3460 void** ptrarray, /**< pointer array to be permuted in the same way */
    3461 SCIP_Real* realarray, /**< first SCIP_Real array to be permuted in the same way */
    3462 SCIP_Real* realarray2, /**< second SCIP_Real array to be permuted in the same way */
    3463 int* intarray, /**< int array to be permuted in the same way */
    3464 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    3465 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3466 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3467 int len, /**< length of arrays */
    3468 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3469 );
    3470
    3471
    3472/** partial sort of four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-increasing order around the \p k-th element,
    3473 * see \ref SelectionAlgorithms for more information.
    3474 */
    3475SCIP_EXPORT
    3477 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3478 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    3479 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    3480 int* intarray, /**< int array to be permuted in the same way */
    3481 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3482 int len /**< length of arrays */
    3483 );
    3484
    3485
    3486/** partial sort of four joint arrays of Long/pointer/pointer/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3487 * see \ref SelectionAlgorithms for more information.
    3488 */
    3489SCIP_EXPORT
    3491 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3492 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    3493 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    3494 int* intarray, /**< int array to be permuted in the same way */
    3495 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3496 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3497 int len, /**< length of arrays */
    3498 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3499 );
    3500
    3501
    3502/** partial sort of five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-increasing order around the \p k-th element,
    3503 * see \ref SelectionAlgorithms for more information.
    3504 */
    3505SCIP_EXPORT
    3507 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3508 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    3509 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    3510 int* intarray1, /**< first int array to be permuted in the same way */
    3511 int* intarray2, /**< second int array to be permuted in the same way */
    3512 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3513 int len /**< length of arrays */
    3514 );
    3515
    3516
    3517/** partial sort of five joint arrays of Long/pointer/pointer/ints/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3518 * see \ref SelectionAlgorithms for more information.
    3519 */
    3520SCIP_EXPORT
    3522 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3523 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    3524 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    3525 int* intarray1, /**< first int array to be permuted in the same way */
    3526 int* intarray2, /**< second int array to be permuted in the same way */
    3527 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3528 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3529 int len, /**< length of arrays */
    3530 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3531 );
    3532
    3533
    3534/** partial sort of five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-increasing order around the \p k-th element,
    3535 * see \ref SelectionAlgorithms for more information.
    3536 */
    3537SCIP_EXPORT
    3539 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3540 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    3541 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    3542 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    3543 int* intarray, /**< int array to be sorted */
    3544 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3545 int len /**< length of arrays */
    3546 );
    3547
    3548
    3549/** partial sort of five joint arrays of Long/pointer/pointer/Bool/ints, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3550 * see \ref SelectionAlgorithms for more information.
    3551 */
    3552SCIP_EXPORT
    3554 SCIP_Longint* longarray, /**< SCIP_Longint array to be sorted */
    3555 void** ptrarray1, /**< first pointer array to be permuted in the same way */
    3556 void** ptrarray2, /**< second pointer array to be permuted in the same way */
    3557 SCIP_Bool* boolarray, /**< SCIP_Bool array to be permuted in the same way */
    3558 int* intarray, /**< int array to be sorted */
    3559 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3560 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3561 int len, /**< length of arrays */
    3562 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3563 );
    3564
    3565
    3566/** partial sort of five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-increasing order around the \p k-th element,
    3567 * see \ref SelectionAlgorithms for more information.
    3568 */
    3569SCIP_EXPORT
    3571 void** ptrarray, /**< pointer array to be sorted */
    3572 int* intarray1, /**< first int array to be permuted in the same way */
    3573 int* intarray2, /**< second int array to be permuted in the same way */
    3574 SCIP_Bool* boolarray1, /**< first SCIP_Bool array to be permuted in the same way */
    3575 SCIP_Bool* boolarray2, /**< second SCIP_Bool array to be permuted in the same way */
    3576 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    3577 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3578 int len /**< length of arrays */
    3579 );
    3580
    3581
    3582/** partial sort of five joint arrays of pointer/ints/ints/Bool/Bool, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3583 * see \ref SelectionAlgorithms for more information.
    3584 */
    3585SCIP_EXPORT
    3587 void** ptrarray, /**< pointer array to be sorted */
    3588 int* intarray1, /**< first int array to be permuted in the same way */
    3589 int* intarray2, /**< second int array to be permuted in the same way */
    3590 SCIP_Bool* boolarray1, /**< first SCIP_Bool array to be permuted in the same way */
    3591 SCIP_Bool* boolarray2, /**< second SCIP_Bool array to be permuted in the same way */
    3592 SCIP_DECL_SORTPTRCOMP((*ptrcomp)), /**< data element comparator */
    3593 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3594 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3595 int len, /**< length of arrays */
    3596 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3597 );
    3598
    3599
    3600/** partial sort of six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-increasing order around the \p k-th element,
    3601 * see \ref SelectionAlgorithms for more information.
    3602 */
    3603SCIP_EXPORT
    3605 int* intarray1, /**< int array to be sorted */
    3606 void** ptrarray, /**< pointer array to be permuted in the same way */
    3607 int* intarray2, /**< second int array to be permuted in the same way */
    3608 int* intarray3, /**< thrid int array to be permuted in the same way */
    3609 SCIP_Bool* boolarray1, /**< first SCIP_Bool array to be permuted in the same way */
    3610 SCIP_Bool* boolarray2, /**< second SCIP_Bool array to be permuted in the same way */
    3611 int k, /**< the index of the desired element, must be between 0 (search for maximum/minimum) and len - 1 */
    3612 int len /**< length of arrays */
    3613 );
    3614
    3615
    3616/** partial sort of six joint arrays of ints/pointer/ints/ints/Bool/Bool, sorted by first array in non-increasing order around the weighted median w.r.t. \p weights and capacity,
    3617 * see \ref SelectionAlgorithms for more information.
    3618 */
    3619SCIP_EXPORT
    3621 int* intarray1, /**< int array to be sorted */
    3622 void** ptrarray, /**< pointer array to be permuted in the same way */
    3623 int* intarray2, /**< second int array to be permuted in the same way */
    3624 int* intarray3, /**< thrid int array to be permuted in the same way */
    3625 SCIP_Bool* boolarray1, /**< first SCIP_Bool array to be permuted in the same way */
    3626 SCIP_Bool* boolarray2, /**< second SCIP_Bool array to be permuted in the same way */
    3627 SCIP_Real* weights, /**< (optional), nonnegative weights array for weighted median, or NULL (all weights are equal to 1) */
    3628 SCIP_Real capacity, /**< the maximum capacity that is exceeded by the median */
    3629 int len, /**< length of arrays */
    3630 int* medianpos /**< pointer to store the index of the weighted median, or NULL, if not needed */
    3631 );
    3632
    3633/**@} */
    3634
    3635#ifdef __cplusplus
    3636}
    3637#endif
    3638
    3639#endif
    common defines and data types used in all packages of SCIP
    #define SCIP_Longint
    Definition: def.h:141
    #define SCIP_Bool
    Definition: def.h:91
    #define SCIP_Real
    Definition: def.h:156
    void SCIPselectWeightedDownRealRealRealBoolBoolPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectRealIntPtr(SCIP_Real *realarray, int *intarray, void **ptrarray, int k, int len)
    void SCIPselectWeightedLong(SCIP_Longint *longarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedIntIntIntReal(int *intarray1, int *intarray2, int *intarray3, SCIP_Real *realarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownIntIntIntReal(int *intarray1, int *intarray2, int *intarray3, SCIP_Real *realarray, int k, int len)
    void SCIPselectWeightedIntIntReal(int *intarray1, int *intarray2, SCIP_Real *realarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedIntPtrReal(int *intarray, void **ptrarray, SCIP_Real *realarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownIntInt(int *intarray1, int *intarray2, int k, int len)
    void SCIPselectDownPtrIntIntBoolBool(void **ptrarray, int *intarray1, int *intarray2, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectRealInt(SCIP_Real *realarray, int *intarray, int k, int len)
    void SCIPselectWeightedDownRealRealRealBoolPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, SCIP_Bool *boolarray, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownRealIntPtr(SCIP_Real *realarray, int *intarray, void **ptrarray, int k, int len)
    void SCIPselectWeightedDownRealLongRealInt(SCIP_Real *realarray1, SCIP_Longint *longarray, SCIP_Real *realarray3, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedRealRealIntInt(SCIP_Real *realarray1, SCIP_Real *realarray2, int *intarray1, int *intarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownLongPtrRealBool(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *realarray, SCIP_Bool *boolarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectPtr(void **ptrarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedInt(int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedRealPtrPtrIntInt(SCIP_Real *realarray, void **ptrarray1, void **ptrarray2, int *intarray1, int *intarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectRealRealRealInt(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, int *intarray, int k, int len)
    void SCIPselectWeightedDownIntPtr(int *intarray, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownLongPtrPtrBoolInt(SCIP_Longint *longarray, void **ptrarray1, void **ptrarray2, SCIP_Bool *boolarray, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectIntPtr(int *intarray, void **ptrarray, int k, int len)
    void SCIPselectPtrBool(void **ptrarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectDownPtrReal(void **ptrarray, SCIP_Real *realarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectDownInt(int *intarray, int k, int len)
    void SCIPselectWeightedDownPtrInt(void **ptrarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownIntIntReal(int *intarray1, int *intarray2, SCIP_Real *realarray, int k, int len)
    void SCIPselectWeightedRealLongRealInt(SCIP_Real *realarray1, SCIP_Longint *longarray, SCIP_Real *realarray3, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownPtrPtrRealBool(void **ptrarray1, void **ptrarray2, SCIP_Real *realarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectIntIntPtrPtr(int *intarray1, int *intarray2, void **ptrarray1, void **ptrarray2, int k, int len)
    void SCIPselectWeightedDownRealInt(SCIP_Real *realarray, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedRealPtr(SCIP_Real *realarray, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownIntPtrIntIntBoolBool(int *intarray1, void **ptrarray, int *intarray2, int *intarray3, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedPtrPtrInt(void **ptrarray1, void **ptrarray2, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownPtrRealInt(void **ptrarray, SCIP_Real *realarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownRealRealPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownRealBoolPtr(SCIP_Real *realarray, SCIP_Bool *boolarray, void **ptrarray, int k, int len)
    void SCIPselectDownIntPtr(int *intarray, void **ptrarray, int k, int len)
    void SCIPselectDownRealRealInt(SCIP_Real *realarray1, SCIP_Real *realarray2, int *intarray, int k, int len)
    void SCIPselectWeightedPtrRealBool(void **ptrarray, SCIP_Real *realarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownIntIntLong(int *intarray1, int *intarray2, SCIP_Longint *longarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectIntPtrReal(int *intarray, void **ptrarray, SCIP_Real *realarray, int k, int len)
    void SCIPselectRealRealRealBoolPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, SCIP_Bool *boolarray, void **ptrarray, int k, int len)
    void SCIPselectWeightedPtrInt(void **ptrarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownIntReal(int *intarray, SCIP_Real *realarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectRealBoolPtr(SCIP_Real *realarray, SCIP_Bool *boolarray, void **ptrarray, int k, int len)
    void SCIPselectDownLongPtrRealRealBool(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *realarray, SCIP_Real *realarray2, SCIP_Bool *boolarray, int k, int len)
    void SCIPselectWeightedDownPtrRealBool(void **ptrarray, SCIP_Real *realarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectLongPtrRealRealIntBool(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *realarray, SCIP_Real *realarray2, int *intarray, SCIP_Bool *boolarray, int k, int len)
    void SCIPselectPtrInt(void **ptrarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectDownLongPtr(SCIP_Longint *longarray, void **ptrarray, int k, int len)
    void SCIPselectWeightedDownRealRealRealInt(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedIntRealLong(int *intarray, SCIP_Real *realarray, SCIP_Longint *longarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectLongPtrPtrBoolInt(SCIP_Longint *longarray, void **ptrarray1, void **ptrarray2, SCIP_Bool *boolarray, int *intarray, int k, int len)
    void SCIPselectDownPtrInt(void **ptrarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedPtrPtrIntInt(void **ptrarray1, void **ptrarray2, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedLongPtrRealBool(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *realarray, SCIP_Bool *boolarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedIntIntPtrPtrInterval(int *intarray1, int *intarray2, void **ptrarray1, void **ptrarray2, SCIP_INTERVAL *intervalarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectPtrPtrInt(void **ptrarray1, void **ptrarray2, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectIntIntLong(int *intarray1, int *intarray2, SCIP_Longint *longarray, int k, int len)
    void SCIPselectDownReal(SCIP_Real *realarray, int k, int len)
    void SCIPselectWeightedDownPtrPtrLongIntInt(void **ptrarray1, void **ptrarray2, SCIP_Longint *longarray, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownRealRealPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, void **ptrarray, int k, int len)
    void SCIPselectDownPtr(void **ptrarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectRealRealRealPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, void **ptrarray, int k, int len)
    void SCIPselectDownRealRealRealInt(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, int *intarray, int k, int len)
    void SCIPselectPtrPtrRealBool(void **ptrarray1, void **ptrarray2, SCIP_Real *realarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectIntIntInt(int *intarray1, int *intarray2, int *intarray3, int k, int len)
    void SCIPselectInd(int *indarray, SCIP_DECL_SORTINDCOMP((*indcomp)), void *dataptr, int k, int len)
    void SCIPselectWeightedDownLongPtrInt(SCIP_Longint *longarray, void **ptrarray, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedRealIntInt(SCIP_Real *realarray, int *intarray1, int *intarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedPtrReal(void **ptrarray, SCIP_Real *realarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownLong(SCIP_Longint *longarray, int k, int len)
    void SCIPselectDownLongPtrPtrIntInt(SCIP_Longint *longarray, void **ptrarray1, void **ptrarray2, int *intarray1, int *intarray2, int k, int len)
    void SCIPselectWeightedPtrRealIntInt(void **ptrarray, SCIP_Real *realarray, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownLongPtrPtrInt(SCIP_Longint *longarray, void **ptrarray1, void **ptrarray2, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownPtrPtrRealInt(void **ptrarray1, void **ptrarray2, SCIP_Real *realarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedDownIntIntInt(int *intarray1, int *intarray2, int *intarray3, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectPtrRealRealInt(void **ptrarray, SCIP_Real *realarray1, SCIP_Real *realarray2, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectRealIntLong(SCIP_Real *realarray, int *intarray, SCIP_Longint *longarray, int k, int len)
    void SCIPselectWeightedDownIntIntIntReal(int *intarray1, int *intarray2, int *intarray3, SCIP_Real *realarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownPtrIntInt(void **ptrarray, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownRealRealPtrPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, void **ptrarray1, void **ptrarray2, int k, int len)
    void SCIPselectWeightedPtrPtrLongInt(void **ptrarray1, void **ptrarray2, SCIP_Longint *longarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedIntIntLong(int *intarray1, int *intarray2, SCIP_Longint *longarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownPtrBool(void **ptrarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownLongPtrPtrBoolInt(SCIP_Longint *longarray, void **ptrarray1, void **ptrarray2, SCIP_Bool *boolarray, int *intarray, int k, int len)
    void SCIPselectWeightedRealBoolPtr(SCIP_Real *realarray, SCIP_Bool *boolarray, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownLongPtrRealBool(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *realarray, SCIP_Bool *boolarray, int k, int len)
    void SCIPselectWeightedInd(int *indarray, SCIP_DECL_SORTINDCOMP((*indcomp)), void *dataptr, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownReal(SCIP_Real *realarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownRealIntInt(SCIP_Real *realarray, int *intarray1, int *intarray2, int k, int len)
    void SCIPselectPtrRealRealBoolBool(void **ptrarray, SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedLongPtr(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownLongPtrPtrIntInt(SCIP_Longint *longarray, void **ptrarray1, void **ptrarray2, int *intarray1, int *intarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownRealPtrPtrIntInt(SCIP_Real *realarray, void **ptrarray1, void **ptrarray2, int *intarray1, int *intarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownPtrPtr(void **ptrarray1, void **ptrarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedDownRealRealInt(SCIP_Real *realarray1, SCIP_Real *realarray2, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownRealLongRealInt(SCIP_Real *realarray1, SCIP_Longint *longarray, SCIP_Real *realarray3, int *intarray, int k, int len)
    void SCIPselectPtrPtr(void **ptrarray1, void **ptrarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedDownIntInt(int *intarray1, int *intarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedLongPtrPtrBoolInt(SCIP_Longint *longarray, void **ptrarray1, void **ptrarray2, SCIP_Bool *boolarray, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownRealRealRealPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, void **ptrarray, int k, int len)
    void SCIPselectWeightedPtrRealRealBoolBool(void **ptrarray, SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownRealPtrPtr(SCIP_Real *realarray, void **ptrarray1, void **ptrarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownIntIntPtr(int *intarray1, int *intarray2, void **ptrarray, int k, int len)
    void SCIPselectWeightedDownIntIntPtr(int *intarray1, int *intarray2, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedRealPtrPtr(SCIP_Real *realarray, void **ptrarray1, void **ptrarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownPtrRealIntInt(void **ptrarray, SCIP_Real *realarray, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedDownPtrReal(void **ptrarray, SCIP_Real *realarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectIntRealLong(int *intarray, SCIP_Real *realarray, SCIP_Longint *longarray, int k, int len)
    void SCIPselectWeightedDownRealPtrPtrInt(SCIP_Real *realarray, void **ptrarray1, void **ptrarray2, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownRealIntPtr(SCIP_Real *realarray, int *intarray, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedPtrRealInt(void **ptrarray, SCIP_Real *realarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownPtrIntIntBoolBool(void **ptrarray, int *intarray1, int *intarray2, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedIntPtr(int *intarray, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownPtrPtrRealInt(void **ptrarray1, void **ptrarray2, SCIP_Real *realarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectPtrIntIntBoolBool(void **ptrarray, int *intarray1, int *intarray2, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectIntIntIntReal(int *intarray1, int *intarray2, int *intarray3, SCIP_Real *realarray, int k, int len)
    void SCIPselectDownRealInt(SCIP_Real *realarray, int *intarray, int k, int len)
    void SCIPselectWeightedPtrIntInt(void **ptrarray, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownPtrPtrIntInt(void **ptrarray1, void **ptrarray2, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedRealRealRealPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownRealIntLong(SCIP_Real *realarray, int *intarray, SCIP_Longint *longarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedRealPtrPtrInt(SCIP_Real *realarray, void **ptrarray1, void **ptrarray2, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectRealPtr(SCIP_Real *realarray, void **ptrarray, int k, int len)
    void SCIPselectWeightedDownRealBoolPtr(SCIP_Real *realarray, SCIP_Bool *boolarray, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectIntReal(int *intarray, SCIP_Real *realarray, int k, int len)
    void SCIPselectWeightedDownPtr(void **ptrarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectIntInt(int *intarray1, int *intarray2, int k, int len)
    void SCIPselectWeightedLongPtrRealRealIntBool(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *realarray, SCIP_Real *realarray2, int *intarray, SCIP_Bool *boolarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownRealRealPtrPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, void **ptrarray1, void **ptrarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownLongPtrInt(SCIP_Longint *longarray, void **ptrarray, int *intarray, int k, int len)
    void SCIPselectPtrRealBool(void **ptrarray, SCIP_Real *realarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectRealPtrPtr(SCIP_Real *realarray, void **ptrarray1, void **ptrarray2, int k, int len)
    void SCIPselectWeightedDownPtrPtrReal(void **ptrarray1, void **ptrarray2, SCIP_Real *realarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownLongPtrRealRealIntBool(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *realarray, SCIP_Real *realarray2, int *intarray, SCIP_Bool *boolarray, int k, int len)
    void SCIPselectWeightedDownInd(int *indarray, SCIP_DECL_SORTINDCOMP((*indcomp)), void *dataptr, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedPtrPtrRealBool(void **ptrarray1, void **ptrarray2, SCIP_Real *realarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectPtrPtrIntInt(void **ptrarray1, void **ptrarray2, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedIntReal(int *intarray, SCIP_Real *realarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedRealRealPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedRealInt(SCIP_Real *realarray, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedPtrPtrReal(void **ptrarray1, void **ptrarray2, SCIP_Real *realarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownIntPtrIntReal(int *intarray1, void **ptrarray, int *intarray2, SCIP_Real *realarray, int k, int len)
    void SCIPselectReal(SCIP_Real *realarray, int k, int len)
    void SCIPselectWeightedDownLongPtr(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownIntIntReal(int *intarray1, int *intarray2, SCIP_Real *realarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownPtrBool(void **ptrarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedLongPtrInt(SCIP_Longint *longarray, void **ptrarray, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownLongPtrRealRealBool(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *realarray, SCIP_Real *realarray2, SCIP_Bool *boolarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownIntIntIntPtr(int *intarray1, int *intarray2, int *intarray3, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownPtrPtrInt(void **ptrarray1, void **ptrarray2, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectDownIntReal(int *intarray, SCIP_Real *realarray, int k, int len)
    void SCIPselectWeightedPtrBool(void **ptrarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownRealRealIntInt(SCIP_Real *realarray1, SCIP_Real *realarray2, int *intarray1, int *intarray2, int k, int len)
    void SCIPselectWeightedIntInt(int *intarray1, int *intarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectLong(SCIP_Longint *longarray, int k, int len)
    void SCIPselectRealRealPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, void **ptrarray, int k, int len)
    void SCIPselectDownPtrPtrLongIntInt(void **ptrarray1, void **ptrarray2, SCIP_Longint *longarray, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectDownRealPtrPtrIntInt(SCIP_Real *realarray, void **ptrarray1, void **ptrarray2, int *intarray1, int *intarray2, int k, int len)
    void SCIPselectPtrReal(void **ptrarray, SCIP_Real *realarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedDownLong(SCIP_Longint *longarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownRealRealRealPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedPtrRealRealInt(void **ptrarray, SCIP_Real *realarray1, SCIP_Real *realarray2, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectLongPtrRealBool(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *realarray, SCIP_Bool *boolarray, int k, int len)
    void SCIPselectWeightedIntPtrIntIntBoolBool(int *intarray1, void **ptrarray, int *intarray2, int *intarray3, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownIntPtrIntIntBoolBool(int *intarray1, void **ptrarray, int *intarray2, int *intarray3, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, int k, int len)
    void SCIPselectWeightedDownPtrPtrRealBool(void **ptrarray1, void **ptrarray2, SCIP_Real *realarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownPtrPtrIntInt(void **ptrarray1, void **ptrarray2, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownPtrIntInt(void **ptrarray, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedPtrPtrLongIntInt(void **ptrarray1, void **ptrarray2, SCIP_Longint *longarray, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownIntPtrIntReal(int *intarray1, void **ptrarray, int *intarray2, SCIP_Real *realarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedRealIntPtr(SCIP_Real *realarray, int *intarray, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownRealRealRealBoolPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, SCIP_Bool *boolarray, void **ptrarray, int k, int len)
    void SCIPselectPtrRealIntInt(void **ptrarray, SCIP_Real *realarray, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectDownPtrRealBool(void **ptrarray, SCIP_Real *realarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedIntIntInt(int *intarray1, int *intarray2, int *intarray3, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownRealIntInt(SCIP_Real *realarray, int *intarray1, int *intarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownIntIntLong(int *intarray1, int *intarray2, SCIP_Longint *longarray, int k, int len)
    void SCIPselectIntPtrIntReal(int *intarray1, void **ptrarray, int *intarray2, SCIP_Real *realarray, int k, int len)
    void SCIPselectWeightedDownRealPtr(SCIP_Real *realarray, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownPtrPtrReal(void **ptrarray1, void **ptrarray2, SCIP_Real *realarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedDownPtrPtrLongInt(void **ptrarray1, void **ptrarray2, SCIP_Longint *longarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectInt(int *intarray, int k, int len)
    void SCIPselectDownPtrPtrLongInt(void **ptrarray1, void **ptrarray2, SCIP_Longint *longarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectIntIntReal(int *intarray1, int *intarray2, SCIP_Real *realarray, int k, int len)
    void SCIPselectWeightedLongPtrRealRealBool(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *realarray, SCIP_Real *realarray2, SCIP_Bool *boolarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectRealPtrPtrIntInt(SCIP_Real *realarray, void **ptrarray1, void **ptrarray2, int *intarray1, int *intarray2, int k, int len)
    void SCIPselectDownRealPtrPtrInt(SCIP_Real *realarray, void **ptrarray1, void **ptrarray2, int *intarray, int k, int len)
    void SCIPselectRealRealIntInt(SCIP_Real *realarray1, SCIP_Real *realarray2, int *intarray1, int *intarray2, int k, int len)
    void SCIPselectDownRealIntLong(SCIP_Real *realarray, int *intarray, SCIP_Longint *longarray, int k, int len)
    void SCIPselectDownPtrRealInt(void **ptrarray, SCIP_Real *realarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedDownPtrPtr(void **ptrarray1, void **ptrarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectIntIntPtr(int *intarray1, int *intarray2, void **ptrarray, int k, int len)
    void SCIPselectWeightedPtrPtr(void **ptrarray1, void **ptrarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectRealIntInt(SCIP_Real *realarray, int *intarray1, int *intarray2, int k, int len)
    void SCIPselectWeightedDownRealRealIntInt(SCIP_Real *realarray1, SCIP_Real *realarray2, int *intarray1, int *intarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedDownInt(int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedIntPtrIntReal(int *intarray1, void **ptrarray, int *intarray2, SCIP_Real *realarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectLongPtrInt(SCIP_Longint *longarray, void **ptrarray, int *intarray, int k, int len)
    void SCIPselectPtrIntInt(void **ptrarray, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedLongPtrPtrInt(SCIP_Longint *longarray, void **ptrarray1, void **ptrarray2, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedRealRealRealBoolBoolPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedPtr(void **ptrarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectPtrRealRealIntBool(void **ptrarray, SCIP_Real *realarray1, SCIP_Real *realarray2, int *intarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectDownLongPtrPtrInt(SCIP_Longint *longarray, void **ptrarray1, void **ptrarray2, int *intarray, int k, int len)
    void SCIPselectRealRealRealBoolBoolPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, void **ptrarray, int k, int len)
    void SCIPselectPtrPtrRealInt(void **ptrarray1, void **ptrarray2, SCIP_Real *realarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectRealLongRealInt(SCIP_Real *realarray1, SCIP_Longint *longarray, SCIP_Real *realarray3, int *intarray, int k, int len)
    void SCIPselectIntIntIntPtr(int *intarray1, int *intarray2, int *intarray3, void **ptrarray, int k, int len)
    void SCIPselectDownInd(int *indarray, SCIP_DECL_SORTINDCOMP((*indcomp)), void *dataptr, int k, int len)
    void SCIPselectWeightedDownPtrRealIntInt(void **ptrarray, SCIP_Real *realarray, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectLongPtrPtrIntInt(SCIP_Longint *longarray, void **ptrarray1, void **ptrarray2, int *intarray1, int *intarray2, int k, int len)
    void SCIPselectWeightedIntIntPtr(int *intarray1, int *intarray2, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedReal(SCIP_Real *realarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectLongPtrPtrInt(SCIP_Longint *longarray, void **ptrarray1, void **ptrarray2, int *intarray, int k, int len)
    void SCIPselectWeightedPtrRealRealIntBool(void **ptrarray, SCIP_Real *realarray1, SCIP_Real *realarray2, int *intarray, SCIP_Bool *boolarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectPtrPtrReal(void **ptrarray1, void **ptrarray2, SCIP_Real *realarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectDownRealPtr(SCIP_Real *realarray, void **ptrarray, int k, int len)
    void SCIPselectWeightedIntIntPtrPtr(int *intarray1, int *intarray2, void **ptrarray1, void **ptrarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownRealRealRealBoolBoolPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, void **ptrarray, int k, int len)
    void SCIPselectIntIntPtrPtrInterval(int *intarray1, int *intarray2, void **ptrarray1, void **ptrarray2, SCIP_INTERVAL *intervalarray, int k, int len)
    void SCIPselectDownIntIntIntPtr(int *intarray1, int *intarray2, int *intarray3, void **ptrarray, int k, int len)
    void SCIPselectWeightedRealIntLong(SCIP_Real *realarray, int *intarray, SCIP_Longint *longarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectLongPtr(SCIP_Longint *longarray, void **ptrarray, int k, int len)
    void SCIPselectLongPtrRealRealBool(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *realarray, SCIP_Real *realarray2, SCIP_Bool *boolarray, int k, int len)
    void SCIPselectWeightedLongPtrPtrIntInt(SCIP_Longint *longarray, void **ptrarray1, void **ptrarray2, int *intarray1, int *intarray2, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedRealRealRealBoolPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, SCIP_Bool *boolarray, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectWeightedRealRealRealInt(SCIP_Real *realarray1, SCIP_Real *realarray2, SCIP_Real *realarray3, int *intarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectPtrPtrLongIntInt(void **ptrarray1, void **ptrarray2, SCIP_Longint *longarray, int *intarray1, int *intarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedDownPtrPtrInt(void **ptrarray1, void **ptrarray2, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectPtrPtrLongInt(void **ptrarray1, void **ptrarray2, SCIP_Longint *longarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedIntIntIntPtr(int *intarray1, int *intarray2, int *intarray3, void **ptrarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectIntPtrIntIntBoolBool(int *intarray1, void **ptrarray, int *intarray2, int *intarray3, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, int k, int len)
    void SCIPselectWeightedPtrPtrRealInt(void **ptrarray1, void **ptrarray2, SCIP_Real *realarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectPtrRealInt(void **ptrarray, SCIP_Real *realarray, int *intarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int k, int len)
    void SCIPselectWeightedPtrIntIntBoolBool(void **ptrarray, int *intarray1, int *intarray2, SCIP_Bool *boolarray1, SCIP_Bool *boolarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectDownIntIntInt(int *intarray1, int *intarray2, int *intarray3, int k, int len)
    void SCIPselectWeightedDownLongPtrRealRealIntBool(SCIP_Longint *longarray, void **ptrarray, SCIP_Real *realarray, SCIP_Real *realarray2, int *intarray, SCIP_Bool *boolarray, SCIP_Real *weights, SCIP_Real capacity, int len, int *medianpos)
    void SCIPselectRealPtrPtrInt(SCIP_Real *realarray, void **ptrarray1, void **ptrarray2, int *intarray, int k, int len)
    void SCIPselectDownRealPtrPtr(SCIP_Real *realarray, void **ptrarray1, void **ptrarray2, int k, int len)
    interval arithmetics for provable bounds
    type definitions for miscellaneous datastructures
    #define SCIP_DECL_SORTPTRCOMP(x)
    Definition: type_misc.h:189
    #define SCIP_DECL_SORTINDCOMP(x)
    Definition: type_misc.h:181