38#define _USE_MATH_DEFINES
78 1.000, 2.414, 3.078, 6.314, 12.706,
79 0.816, 1.604, 1.886, 2.920, 4.303,
80 0.765, 1.423, 1.638, 2.353, 3.182,
81 0.741, 1.344, 1.533, 2.132, 2.776,
82 0.727, 1.301, 1.476, 2.015, 2.571,
83 0.718, 1.273, 1.440, 1.943, 2.447,
84 0.711, 1.254, 1.415, 1.895, 2.365,
85 0.706, 1.240, 1.397, 1.860, 2.306,
86 0.703, 1.230, 1.383, 1.833, 2.262,
87 0.700, 1.221, 1.372, 1.812, 2.228,
88 0.697, 1.214, 1.363, 1.796, 2.201,
89 0.695, 1.209, 1.356, 1.782, 2.179,
90 0.694, 1.204, 1.350, 1.771, 2.160,
91 0.692, 1.200, 1.345, 1.761, 2.145,
92 0.691, 1.197, 1.341, 1.753, 2.131
99 0.674, 1.150, 1.282, 1.645, 1.960
160#if defined(_WIN32) || defined(_WIN64)
171 sign = (
x >= 0) ? 1 : -1;
215 if( value <
mean + 1
e-9 )
270 return regression->
slope;
299 regression->
slope = 0.0;
407 regression->
meanx = 0;
409 regression->
sumxy = 0;
410 regression->
meany = 0;
487#define GMLNODEWIDTH 120.0
488#define GMLNODEHEIGTH 30.0
489#define GMLFONTSIZE 13
490#define GMLNODETYPE "rectangle"
491#define GMLNODEFILLCOLOR "#ff0000"
492#define GMLEDGECOLOR "black"
493#define GMLNODEBORDERCOLOR "#000000"
501 const char* nodetype,
518 if( nodetype !=
NULL )
519 fprintf(file,
" type \"%s\"\n", nodetype);
534 fprintf(file,
" LabelGraphics\n");
538 fprintf(file,
" fontName \"Dialog\"\n");
539 fprintf(file,
" anchor \"c\"\n");
549 const char* nodetype,
562 fprintf(file,
" weight %g\n", weight);
568 if( nodetype !=
NULL )
569 fprintf(file,
" type \"%s\"\n", nodetype);
584 fprintf(file,
" LabelGraphics\n");
588 fprintf(file,
" fontName \"Dialog\"\n");
589 fprintf(file,
" anchor \"c\"\n");
626 fprintf(file,
" LabelGraphics\n");
630 fprintf(file,
" fontName \"Dialog\"\n");
631 fprintf(file,
" anchor \"c\"\n");
665 fprintf(file,
" targetArrow \"standard\"\n");
670 fprintf(file,
" LabelGraphics\n");
674 fprintf(file,
" fontName \"Dialog\"\n");
675 fprintf(file,
" anchor \"c\"\n");
692 fprintf(file,
" hierarchic 1\n");
695 fprintf(file,
" directed 1\n");
717 fprintf(file,
"digraph G {\n");
725 const char* nodetype,
732 fprintf(file,
"\t%d [shape=\"%s\", label=\"%s\", style=\"filled\", fillcolor=\"%s\", color=\"%s\"];\n", node, nodetype,
label,
fillcolor,
bordercolor);
786 for( v =
nvars - 1; v >= 0; --v )
809 (*sparsesol)->nvars =
nvars;
875 SCIP_Longint* lbvalues;
886 for( v = 0; v <
nvars; ++v )
887 sol[v] = lbvalues[v];
898 SCIP_Longint* lbvalues;
899 SCIP_Longint* ubvalues;
923 for( v = 0; v <
nvars; ++v )
1002 sizefac =
MAX(1.0, sizefac);
1005 (*queue)->firstfree = 0;
1006 (*queue)->firstused = -1;
1008 (*queue)->sizefac = sizefac;
1009 (*queue)->slots =
NULL;
1271#define PQ_PARENT(q) (((q)+1)/2-1)
1272#define PQ_LEFTCHILD(p) (2*(p)+1)
1273#define PQ_RIGHTCHILD(p) (2*(p)+2)
1307 sizefac =
MAX(1.0, sizefac);
1311 (*pqueue)->size = 0;
1312 (*pqueue)->sizefac = sizefac;
1313 (*pqueue)->slots =
NULL;
1354 if( pqueue->elemchgpos !=
NULL )
1360#ifdef SCIP_MORE_DEBUG
1424#ifdef SCIP_MORE_DEBUG
1450 if( pos == pqueue->
len )
1458 while( pos > 0 && (*pqueue->ptrcomp)(last, pqueue->
slots[
PQ_PARENT(pos)]) < 0 )
1473 if( (*pqueue->ptrcomp)(last, pqueue->
slots[
childpos]) <= 0 )
1487#ifdef SCIP_MORE_DEBUG
1502 if( pqueue->
len == 0 )
1505 root = pqueue->
slots[0];
1520 if( pqueue->
len == 0 )
1523 return pqueue->
slots[0];
1545 return pqueue->
slots;
1633 return ( (uint32_t) ((
UINT64_C(0x9e3779b97f4a7c15) *
input)>>32) ) | 1u;
1762 SCIPerrorMessage(
"WARNING: hashkey with same value exists multiple times (e.g. duplicate constraint/variable names), so the return value is maybe not correct\n");
1838#define SCIP_MULTIHASH_MAXSIZE 33554431
1839#define SCIP_MULTIHASH_RESIZE_PERCENTAGE 65
1840#define SCIP_MULTIHASH_GROW_FACTOR 1.31
1850 SCIP_Longint nelements;
1904 while( next !=
NULL )
1938#ifdef SCIP_MORE_DEBUG
1981 (*multihash)->blkmem = blkmem;
1986 (*multihash)->userptr = userptr;
1987 (*multihash)->nelements = 0;
2005 table = (*multihash);
2006 blkmem =
table->blkmem;
2007 lists =
table->lists;
2010 for(
i =
table->nlists - 1;
i >= 0; --
i )
2325 (*hashtable)->shift = 32;
2329 nslots = 1u << (32 - (*hashtable)->shift);
2332 (*hashtable)->mask =
nslots - 1;
2335 (*hashtable)->blkmem = blkmem;
2339 (*hashtable)->userptr = userptr;
2340 (*hashtable)->nelements = 0;
2356 nslots = (*hashtable)->mask + 1;
2367 if(
table->hashes[
i] != 0 )
2376 (
unsigned int)
table->nelements, (
unsigned int)
table->nelements, (
unsigned int)
nslots,
2377 100.0*(SCIP_Real)
table->nelements/(SCIP_Real)(
nslots));
2378 if(
table->nelements > 0 )
2406#define ELEM_DISTANCE(pos) (((pos) + hashtable->mask + 1 - (hashtable->hashes[(pos)]>>(hashtable->shift))) & hashtable->mask)
2440 if( hashtable->
hashes[pos] == 0 )
2442 hashtable->
slots[pos] = element;
2449 hashtable->hashgetkey(hashtable->
userptr, hashtable->
slots[pos]), key) )
2456 hashtable->
slots[pos] = element;
2478 key = hashtable->hashgetkey(hashtable->
userptr, element);
2487 pos = (pos + 1) & hashtable->
mask;
2502 if( ((((uint64_t)hashtable->
nelements)<<10)>>(32-hashtable->
shift) > 921) )
2530 if( hashes[
i] != 0 )
2568 key = hashtable->hashgetkey(hashtable->
userptr, element);
2600 key = hashtable->hashgetkey(hashtable->
userptr, element);
2639 if( hashtable->
hashes[pos] == 0 )
2650 hashtable->hashgetkey(hashtable->
userptr, hashtable->
slots[pos]), key) )
2651 return hashtable->
slots[pos];
2653 pos = (pos + 1) & hashtable->
mask;
2699 key = hashtable->hashgetkey(hashtable->
userptr, element);
2708 if( hashtable->
hashes[pos] == 0 )
2718 hashtable->hashgetkey(hashtable->
userptr, hashtable->
slots[pos]), key) )
2724 pos = (pos + 1) & hashtable->
mask;
2729 hashtable->
hashes[pos] = 0;
2733 uint32_t nextpos = (pos + 1) & hashtable->
mask;
2736 if( hashtable->
hashes[nextpos] == 0 )
2740 if( (hashtable->
hashes[nextpos]>>(hashtable->
shift)) == nextpos )
2744 hashtable->
slots[pos] = hashtable->
slots[nextpos];
2746 hashtable->
hashes[nextpos] = 0;
2781 return (
int) hashtable->
mask + 1;
2800 return ((SCIP_Real)(hashtable->
nelements) / (hashtable->
mask + 1) * 100.0);
2821 if( hashtable->
hashes[
i] != 0 )
2844 const char*
string1 = (
const char*)key1;
2845 const char*
string2 = (
const char*)key2;
2856 str = (
const char*)key;
2858 while( *
str !=
'\0' )
2879 return (key1 == key2);
2886 return (uint64_t) (uintptr_t) key;
2898#define ELEM_DISTANCE(pos) (((pos) + hashmap->mask + 1 - (hashmap->hashes[(pos)]>>(hashmap->shift))) & hashmap->mask)
2926 if( hashmap->
hashes[pos] == 0 )
2969 pos = (pos + 1) & hashmap->
mask;
3004 if( hashmap->
hashes[*pos] == 0 )
3016 *pos = (*pos + 1) & hashmap->
mask;
3031 if( ((((uint64_t)hashmap->
nelements)<<10)>>(32-hashmap->
shift) > 921) )
3059 if( hashes[
i] != 0 )
3093 (*hashmap)->shift = 32;
3095 nslots = 1u << (32 - (*hashmap)->shift);
3096 (*hashmap)->mask =
nslots - 1;
3097 (*hashmap)->blkmem = blkmem;
3098 (*hashmap)->nelements = 0;
3117 nslots = (*hashmap)->mask + 1;
3128 if( (*hashmap)->hashes[
i] != 0 )
3130 uint32_t
probelen = ((
i + (*hashmap)->mask + 1 - ((*hashmap)->hashes[
i]>>((*hashmap)->shift))) & (*hashmap)->mask) + 1;
3137 (
unsigned int)(*hashmap)->nelements, (
unsigned int)(*hashmap)->nelements, (
unsigned int)
nslots,
3138 100.0*(SCIP_Real)(*hashmap)->nelements/(SCIP_Real)(
nslots));
3139 if( (*hashmap)->nelements > 0 )
3140 SCIPdebugPrintf(
", avg. probe length is %.1f, max. probe length is %u",
3218 img.integer = image;
3382 img.integer = image;
3455 hashmap->
hashes[pos] = 0;
3461 uint32_t nextpos = (pos + 1) & hashmap->
mask;
3464 if( hashmap->
hashes[nextpos] == 0 )
3468 if( (hashmap->
hashes[nextpos]>>(hashmap->
shift)) == nextpos )
3475 hashmap->
hashes[nextpos] = 0;
3545 return (
int) hashmap->
mask + 1;
3566 return entry->origin;
3576 return entry->image.ptr;
3586 return entry->image.integer;
3596 return entry->image.real;
3607 entry->image.ptr = image;
3618 entry->image.integer = image;
3629 entry->image.real = image;
3654#define ELEM_DISTANCE(pos) (((pos) + nslots - hashSetDesiredPos(hashset, hashset->slots[(pos)])) & mask)
3663 return (uint32_t)((
UINT64_C(0x9e3779b97f4a7c15) * (uintptr_t)element)>>(
hashset->shift));
3693 hashset->slots[pos] = element;
3698 if(
hashset->slots[pos] == element )
3711 pos = (pos + 1) & mask;
3727 if( ((((uint64_t)
hashset->nelements)<<10)>>(64-
hashset->shift) > 921) )
3748 if( slots[
i] !=
NULL )
3779 (*hashset)->shift = 64;
3780 (*hashset)->shift -= (
unsigned int)
ceil(
log(
MAX(8.0, size / 0.9)) /
log(2.0));
3782 (*hashset)->nelements = 0;
3840 if(
hashset->slots[pos] == element )
3852 pos = (pos + 1) & mask;
3882 if(
hashset->slots[pos] == element )
3894 pos = (pos + 1) & mask;
3907 uint32_t nextpos = (pos + 1) & mask;
3962 (
unsigned int)
hashset->nelements, (
unsigned int)
hashset->nelements,
3978#undef SCIPhashsetIsEmpty
3979#undef SCIPhashsetGetNElements
3980#undef SCIPhashsetGetNSlots
3981#undef SCIPhashsetGetSlots
3988 return hashset->nelements == 0;
3996 return (
int)
hashset->nelements;
4004 return (
int) (1u << (64 -
hashset->shift));
4039 (*realarray)->blkmem = blkmem;
4040 (*realarray)->vals =
NULL;
4041 (*realarray)->valssize = 0;
4042 (*realarray)->firstidx = -1;
4043 (*realarray)->minusedidx =
INT_MAX;
4044 (*realarray)->maxusedidx =
INT_MIN;
4091 SCIP_Real arraygrowfac,
4107 assert(minidx <= maxidx);
4112 assert(minidx <= maxidx);
4114 SCIPdebugMessage(
"extending realarray %p (firstidx=%d, size=%d, range=[%d,%d]) to range [%d,%d]\n",
4118 nused = maxidx - minidx + 1;
4199 for(
i = 0;
i < shift; ++
i )
4230 for(
i = 0;
i < shift; ++
i )
4249 SCIPdebugMessage(
"clearing realarray %p (firstidx=%d, size=%d, range=[%d,%d])\n",
4298 SCIP_Real arraygrowfac,
4306 SCIPdebugMessage(
"setting realarray %p (firstidx=%d, size=%d, range=[%d,%d]) index %d to %g\n",
4367 SCIP_Real arraygrowfac,
4411 (*intarray)->blkmem = blkmem;
4412 (*intarray)->vals =
NULL;
4413 (*intarray)->valssize = 0;
4414 (*intarray)->firstidx = -1;
4415 (*intarray)->minusedidx =
INT_MAX;
4416 (*intarray)->maxusedidx =
INT_MIN;
4462 SCIP_Real arraygrowfac,
4478 assert(minidx <= maxidx);
4483 assert(minidx <= maxidx);
4485 SCIPdebugMessage(
"extending intarray %p (firstidx=%d, size=%d, range=[%d,%d]) to range [%d,%d]\n",
4489 nused = maxidx - minidx + 1;
4531 else if(
intarray->firstidx == -1 )
4570 for(
i = 0;
i < shift; ++
i )
4601 for(
i = 0;
i < shift; ++
i )
4620 SCIPdebugMessage(
"clearing intarray %p (firstidx=%d, size=%d, range=[%d,%d])\n",
4669 SCIP_Real arraygrowfac,
4677 SCIPdebugMessage(
"setting intarray %p (firstidx=%d, size=%d, range=[%d,%d]) index %d to %d\n",
4716 else if( idx ==
intarray->maxusedidx )
4737 SCIP_Real arraygrowfac,
4776 (*boolarray)->blkmem = blkmem;
4777 (*boolarray)->vals =
NULL;
4778 (*boolarray)->valssize = 0;
4779 (*boolarray)->firstidx = -1;
4780 (*boolarray)->minusedidx =
INT_MAX;
4781 (*boolarray)->maxusedidx =
INT_MIN;
4828 SCIP_Real arraygrowfac,
4844 assert(minidx <= maxidx);
4849 assert(minidx <= maxidx);
4851 SCIPdebugMessage(
"extending boolarray %p (firstidx=%d, size=%d, range=[%d,%d]) to range [%d,%d]\n",
4855 nused = maxidx - minidx + 1;
4936 for(
i = 0;
i < shift; ++
i )
4969 for(
i = 0;
i < shift; ++
i )
4988 SCIPdebugMessage(
"clearing boolarray %p (firstidx=%d, size=%d, range=[%d,%d])\n",
5037 SCIP_Real arraygrowfac,
5045 SCIPdebugMessage(
"setting boolarray %p (firstidx=%d, size=%d, range=[%d,%d]) index %d to %u\n",
5132 (*ptrarray)->blkmem = blkmem;
5133 (*ptrarray)->vals =
NULL;
5134 (*ptrarray)->valssize = 0;
5135 (*ptrarray)->firstidx = -1;
5136 (*ptrarray)->minusedidx =
INT_MAX;
5137 (*ptrarray)->maxusedidx =
INT_MIN;
5183 SCIP_Real arraygrowfac,
5199 assert(minidx <= maxidx);
5204 assert(minidx <= maxidx);
5206 SCIPdebugMessage(
"extending ptrarray %p (firstidx=%d, size=%d, range=[%d,%d]) to range [%d,%d]\n",
5210 nused = maxidx - minidx + 1;
5252 else if(
ptrarray->firstidx == -1 )
5291 for(
i = 0;
i < shift; ++
i )
5322 for(
i = 0;
i < shift; ++
i )
5341 SCIPdebugMessage(
"clearing ptrarray %p (firstidx=%d, size=%d, range=[%d,%d])\n",
5390 SCIP_Real arraygrowfac,
5398 SCIPdebugMessage(
"setting ptrarray %p (firstidx=%d, size=%d, range=[%d,%d]) index %d to %p\n",
5437 else if( idx ==
ptrarray->maxusedidx )
5504 args = (
int*) dataptr;
5523 args = (
void*) dataptr;
5551 for( pos = 0; pos < len; ++pos )
5558#define SORTTPL_NAMEEXT Ind
5559#define SORTTPL_KEYTYPE int
5560#define SORTTPL_INDCOMP
5565#define SORTTPL_NAMEEXT Ptr
5566#define SORTTPL_KEYTYPE void*
5567#define SORTTPL_PTRCOMP
5572#define SORTTPL_NAMEEXT PtrPtr
5573#define SORTTPL_KEYTYPE void*
5574#define SORTTPL_FIELD1TYPE void*
5575#define SORTTPL_PTRCOMP
5580#define SORTTPL_NAMEEXT PtrReal
5581#define SORTTPL_KEYTYPE void*
5582#define SORTTPL_FIELD1TYPE SCIP_Real
5583#define SORTTPL_PTRCOMP
5588#define SORTTPL_NAMEEXT PtrInt
5589#define SORTTPL_KEYTYPE void*
5590#define SORTTPL_FIELD1TYPE int
5591#define SORTTPL_PTRCOMP
5596#define SORTTPL_NAMEEXT PtrBool
5597#define SORTTPL_KEYTYPE void*
5598#define SORTTPL_FIELD1TYPE SCIP_Bool
5599#define SORTTPL_PTRCOMP
5604#define SORTTPL_NAMEEXT PtrIntInt
5605#define SORTTPL_KEYTYPE void*
5606#define SORTTPL_FIELD1TYPE int
5607#define SORTTPL_FIELD2TYPE int
5608#define SORTTPL_PTRCOMP
5613#define SORTTPL_NAMEEXT PtrRealInt
5614#define SORTTPL_KEYTYPE void*
5615#define SORTTPL_FIELD1TYPE SCIP_Real
5616#define SORTTPL_FIELD2TYPE int
5617#define SORTTPL_PTRCOMP
5621#define SORTTPL_NAMEEXT PtrRealRealInt
5622#define SORTTPL_KEYTYPE void*
5623#define SORTTPL_FIELD1TYPE SCIP_Real
5624#define SORTTPL_FIELD2TYPE SCIP_Real
5625#define SORTTPL_FIELD3TYPE int
5626#define SORTTPL_PTRCOMP
5630#define SORTTPL_NAMEEXT PtrRealRealBoolBool
5631#define SORTTPL_KEYTYPE void*
5632#define SORTTPL_FIELD1TYPE SCIP_Real
5633#define SORTTPL_FIELD2TYPE SCIP_Real
5634#define SORTTPL_FIELD3TYPE SCIP_Bool
5635#define SORTTPL_FIELD4TYPE SCIP_Bool
5636#define SORTTPL_PTRCOMP
5640#define SORTTPL_NAMEEXT PtrRealRealIntBool
5641#define SORTTPL_KEYTYPE void*
5642#define SORTTPL_FIELD1TYPE SCIP_Real
5643#define SORTTPL_FIELD2TYPE SCIP_Real
5644#define SORTTPL_FIELD3TYPE int
5645#define SORTTPL_FIELD4TYPE SCIP_Bool
5646#define SORTTPL_PTRCOMP
5650#define SORTTPL_NAMEEXT PtrRealBool
5651#define SORTTPL_KEYTYPE void*
5652#define SORTTPL_FIELD1TYPE SCIP_Real
5653#define SORTTPL_FIELD2TYPE SCIP_Bool
5654#define SORTTPL_PTRCOMP
5659#define SORTTPL_NAMEEXT PtrPtrInt
5660#define SORTTPL_KEYTYPE void*
5661#define SORTTPL_FIELD1TYPE void*
5662#define SORTTPL_FIELD2TYPE int
5663#define SORTTPL_PTRCOMP
5668#define SORTTPL_NAMEEXT PtrPtrReal
5669#define SORTTPL_KEYTYPE void*
5670#define SORTTPL_FIELD1TYPE void*
5671#define SORTTPL_FIELD2TYPE SCIP_Real
5672#define SORTTPL_PTRCOMP
5677#define SORTTPL_NAMEEXT PtrRealIntInt
5678#define SORTTPL_KEYTYPE void*
5679#define SORTTPL_FIELD1TYPE SCIP_Real
5680#define SORTTPL_FIELD2TYPE int
5681#define SORTTPL_FIELD3TYPE int
5682#define SORTTPL_PTRCOMP
5687#define SORTTPL_NAMEEXT PtrPtrIntInt
5688#define SORTTPL_KEYTYPE void*
5689#define SORTTPL_FIELD1TYPE void*
5690#define SORTTPL_FIELD2TYPE int
5691#define SORTTPL_FIELD3TYPE int
5692#define SORTTPL_PTRCOMP
5697#define SORTTPL_NAMEEXT PtrPtrRealInt
5698#define SORTTPL_KEYTYPE void*
5699#define SORTTPL_FIELD1TYPE void*
5700#define SORTTPL_FIELD2TYPE SCIP_Real
5701#define SORTTPL_FIELD3TYPE int
5702#define SORTTPL_PTRCOMP
5707#define SORTTPL_NAMEEXT PtrPtrRealBool
5708#define SORTTPL_KEYTYPE void*
5709#define SORTTPL_FIELD1TYPE void*
5710#define SORTTPL_FIELD2TYPE SCIP_Real
5711#define SORTTPL_FIELD3TYPE SCIP_Bool
5712#define SORTTPL_PTRCOMP
5717#define SORTTPL_NAMEEXT PtrPtrLongInt
5718#define SORTTPL_KEYTYPE void*
5719#define SORTTPL_FIELD1TYPE void*
5720#define SORTTPL_FIELD2TYPE SCIP_Longint
5721#define SORTTPL_FIELD3TYPE int
5722#define SORTTPL_PTRCOMP
5727#define SORTTPL_NAMEEXT PtrPtrLongIntInt
5728#define SORTTPL_KEYTYPE void*
5729#define SORTTPL_FIELD1TYPE void*
5730#define SORTTPL_FIELD2TYPE SCIP_Longint
5731#define SORTTPL_FIELD3TYPE int
5732#define SORTTPL_FIELD4TYPE int
5733#define SORTTPL_PTRCOMP
5738#define SORTTPL_NAMEEXT Real
5739#define SORTTPL_KEYTYPE SCIP_Real
5744#define SORTTPL_NAMEEXT RealBoolPtr
5745#define SORTTPL_KEYTYPE SCIP_Real
5746#define SORTTPL_FIELD1TYPE SCIP_Bool
5747#define SORTTPL_FIELD2TYPE void*
5752#define SORTTPL_NAMEEXT RealPtr
5753#define SORTTPL_KEYTYPE SCIP_Real
5754#define SORTTPL_FIELD1TYPE void*
5759#define SORTTPL_NAMEEXT RealInt
5760#define SORTTPL_KEYTYPE SCIP_Real
5761#define SORTTPL_FIELD1TYPE int
5766#define SORTTPL_NAMEEXT RealIntInt
5767#define SORTTPL_KEYTYPE SCIP_Real
5768#define SORTTPL_FIELD1TYPE int
5769#define SORTTPL_FIELD2TYPE int
5774#define SORTTPL_NAMEEXT RealIntLong
5775#define SORTTPL_KEYTYPE SCIP_Real
5776#define SORTTPL_FIELD1TYPE int
5777#define SORTTPL_FIELD2TYPE SCIP_Longint
5782#define SORTTPL_NAMEEXT RealIntPtr
5783#define SORTTPL_KEYTYPE SCIP_Real
5784#define SORTTPL_FIELD1TYPE int
5785#define SORTTPL_FIELD2TYPE void*
5790#define SORTTPL_NAMEEXT RealRealPtr
5791#define SORTTPL_KEYTYPE SCIP_Real
5792#define SORTTPL_FIELD1TYPE SCIP_Real
5793#define SORTTPL_FIELD2TYPE void*
5798#define SORTTPL_NAMEEXT RealLongRealInt
5799#define SORTTPL_KEYTYPE SCIP_Real
5800#define SORTTPL_FIELD1TYPE SCIP_Longint
5801#define SORTTPL_FIELD2TYPE SCIP_Real
5802#define SORTTPL_FIELD3TYPE int
5806#define SORTTPL_NAMEEXT RealRealIntInt
5807#define SORTTPL_KEYTYPE SCIP_Real
5808#define SORTTPL_FIELD1TYPE SCIP_Real
5809#define SORTTPL_FIELD2TYPE int
5810#define SORTTPL_FIELD3TYPE int
5815#define SORTTPL_NAMEEXT RealRealRealInt
5816#define SORTTPL_KEYTYPE SCIP_Real
5817#define SORTTPL_FIELD1TYPE SCIP_Real
5818#define SORTTPL_FIELD2TYPE SCIP_Real
5819#define SORTTPL_FIELD3TYPE int
5824#define SORTTPL_NAMEEXT RealRealRealPtr
5825#define SORTTPL_KEYTYPE SCIP_Real
5826#define SORTTPL_FIELD1TYPE SCIP_Real
5827#define SORTTPL_FIELD2TYPE SCIP_Real
5828#define SORTTPL_FIELD3TYPE void*
5833#define SORTTPL_NAMEEXT RealPtrPtrInt
5834#define SORTTPL_KEYTYPE SCIP_Real
5835#define SORTTPL_FIELD1TYPE void*
5836#define SORTTPL_FIELD2TYPE void*
5837#define SORTTPL_FIELD3TYPE int
5842#define SORTTPL_NAMEEXT RealPtrPtrIntInt
5843#define SORTTPL_KEYTYPE SCIP_Real
5844#define SORTTPL_FIELD1TYPE void*
5845#define SORTTPL_FIELD2TYPE void*
5846#define SORTTPL_FIELD3TYPE int
5847#define SORTTPL_FIELD4TYPE int
5852#define SORTTPL_NAMEEXT RealRealRealBoolPtr
5853#define SORTTPL_KEYTYPE SCIP_Real
5854#define SORTTPL_FIELD1TYPE SCIP_Real
5855#define SORTTPL_FIELD2TYPE SCIP_Real
5856#define SORTTPL_FIELD3TYPE SCIP_Bool
5857#define SORTTPL_FIELD4TYPE void*
5862#define SORTTPL_NAMEEXT RealRealRealBoolBoolPtr
5863#define SORTTPL_KEYTYPE SCIP_Real
5864#define SORTTPL_FIELD1TYPE SCIP_Real
5865#define SORTTPL_FIELD2TYPE SCIP_Real
5866#define SORTTPL_FIELD3TYPE SCIP_Bool
5867#define SORTTPL_FIELD4TYPE SCIP_Bool
5868#define SORTTPL_FIELD5TYPE void*
5873#define SORTTPL_NAMEEXT Int
5874#define SORTTPL_KEYTYPE int
5879#define SORTTPL_NAMEEXT IntInt
5880#define SORTTPL_KEYTYPE int
5881#define SORTTPL_FIELD1TYPE int
5886#define SORTTPL_NAMEEXT IntReal
5887#define SORTTPL_KEYTYPE int
5888#define SORTTPL_FIELD1TYPE SCIP_Real
5893#define SORTTPL_NAMEEXT IntPtr
5894#define SORTTPL_KEYTYPE int
5895#define SORTTPL_FIELD1TYPE void*
5900#define SORTTPL_NAMEEXT IntIntInt
5901#define SORTTPL_KEYTYPE int
5902#define SORTTPL_FIELD1TYPE int
5903#define SORTTPL_FIELD2TYPE int
5908#define SORTTPL_NAMEEXT IntIntLong
5909#define SORTTPL_KEYTYPE int
5910#define SORTTPL_FIELD1TYPE int
5911#define SORTTPL_FIELD2TYPE SCIP_Longint
5915#define SORTTPL_NAMEEXT IntRealLong
5916#define SORTTPL_KEYTYPE int
5917#define SORTTPL_FIELD1TYPE SCIP_Real
5918#define SORTTPL_FIELD2TYPE SCIP_Longint
5923#define SORTTPL_NAMEEXT IntIntPtr
5924#define SORTTPL_KEYTYPE int
5925#define SORTTPL_FIELD1TYPE int
5926#define SORTTPL_FIELD2TYPE void*
5931#define SORTTPL_NAMEEXT IntIntReal
5932#define SORTTPL_KEYTYPE int
5933#define SORTTPL_FIELD1TYPE int
5934#define SORTTPL_FIELD2TYPE SCIP_Real
5939#define SORTTPL_NAMEEXT IntPtrReal
5940#define SORTTPL_KEYTYPE int
5941#define SORTTPL_FIELD1TYPE void*
5942#define SORTTPL_FIELD2TYPE SCIP_Real
5947#define SORTTPL_NAMEEXT IntIntIntPtr
5948#define SORTTPL_KEYTYPE int
5949#define SORTTPL_FIELD1TYPE int
5950#define SORTTPL_FIELD2TYPE int
5951#define SORTTPL_FIELD3TYPE void*
5955#define SORTTPL_NAMEEXT IntIntIntReal
5956#define SORTTPL_KEYTYPE int
5957#define SORTTPL_FIELD1TYPE int
5958#define SORTTPL_FIELD2TYPE int
5959#define SORTTPL_FIELD3TYPE SCIP_Real
5963#define SORTTPL_NAMEEXT IntPtrIntReal
5964#define SORTTPL_KEYTYPE int
5965#define SORTTPL_FIELD1TYPE void*
5966#define SORTTPL_FIELD2TYPE int
5967#define SORTTPL_FIELD3TYPE SCIP_Real
5972#define SORTTPL_NAMEEXT Long
5973#define SORTTPL_KEYTYPE SCIP_Longint
5978#define SORTTPL_NAMEEXT LongPtr
5979#define SORTTPL_KEYTYPE SCIP_Longint
5980#define SORTTPL_FIELD1TYPE void*
5985#define SORTTPL_NAMEEXT LongPtrInt
5986#define SORTTPL_KEYTYPE SCIP_Longint
5987#define SORTTPL_FIELD1TYPE void*
5988#define SORTTPL_FIELD2TYPE int
5993#define SORTTPL_NAMEEXT LongPtrRealBool
5994#define SORTTPL_KEYTYPE SCIP_Longint
5995#define SORTTPL_FIELD1TYPE void*
5996#define SORTTPL_FIELD2TYPE SCIP_Real
5997#define SORTTPL_FIELD3TYPE SCIP_Bool
6002#define SORTTPL_NAMEEXT LongPtrRealRealBool
6003#define SORTTPL_KEYTYPE SCIP_Longint
6004#define SORTTPL_FIELD1TYPE void*
6005#define SORTTPL_FIELD2TYPE SCIP_Real
6006#define SORTTPL_FIELD3TYPE SCIP_Real
6007#define SORTTPL_FIELD4TYPE SCIP_Bool
6012#define SORTTPL_NAMEEXT LongPtrRealRealIntBool
6013#define SORTTPL_KEYTYPE SCIP_Longint
6014#define SORTTPL_FIELD1TYPE void*
6015#define SORTTPL_FIELD2TYPE SCIP_Real
6016#define SORTTPL_FIELD3TYPE SCIP_Real
6017#define SORTTPL_FIELD4TYPE int
6018#define SORTTPL_FIELD5TYPE SCIP_Bool
6023#define SORTTPL_NAMEEXT LongPtrPtrInt
6024#define SORTTPL_KEYTYPE SCIP_Longint
6025#define SORTTPL_FIELD1TYPE void*
6026#define SORTTPL_FIELD2TYPE void*
6027#define SORTTPL_FIELD3TYPE int
6032#define SORTTPL_NAMEEXT LongPtrPtrIntInt
6033#define SORTTPL_KEYTYPE SCIP_Longint
6034#define SORTTPL_FIELD1TYPE void*
6035#define SORTTPL_FIELD2TYPE void*
6036#define SORTTPL_FIELD3TYPE int
6037#define SORTTPL_FIELD4TYPE int
6042#define SORTTPL_NAMEEXT LongPtrPtrBoolInt
6043#define SORTTPL_KEYTYPE SCIP_Longint
6044#define SORTTPL_FIELD1TYPE void*
6045#define SORTTPL_FIELD2TYPE void*
6046#define SORTTPL_FIELD3TYPE SCIP_Bool
6047#define SORTTPL_FIELD4TYPE int
6052#define SORTTPL_NAMEEXT PtrIntIntBoolBool
6053#define SORTTPL_KEYTYPE void*
6054#define SORTTPL_FIELD1TYPE int
6055#define SORTTPL_FIELD2TYPE int
6056#define SORTTPL_FIELD3TYPE SCIP_Bool
6057#define SORTTPL_FIELD4TYPE SCIP_Bool
6058#define SORTTPL_PTRCOMP
6063#define SORTTPL_NAMEEXT IntPtrIntIntBoolBool
6064#define SORTTPL_KEYTYPE int
6065#define SORTTPL_FIELD1TYPE void*
6066#define SORTTPL_FIELD2TYPE int
6067#define SORTTPL_FIELD3TYPE int
6068#define SORTTPL_FIELD4TYPE SCIP_Bool
6069#define SORTTPL_FIELD5TYPE SCIP_Bool
6090 for( pos = 0; pos < len; ++pos )
6098#define SORTTPL_NAMEEXT DownInd
6099#define SORTTPL_KEYTYPE int
6100#define SORTTPL_INDCOMP
6101#define SORTTPL_BACKWARDS
6106#define SORTTPL_NAMEEXT DownPtr
6107#define SORTTPL_KEYTYPE void*
6108#define SORTTPL_PTRCOMP
6109#define SORTTPL_BACKWARDS
6114#define SORTTPL_NAMEEXT DownPtrPtr
6115#define SORTTPL_KEYTYPE void*
6116#define SORTTPL_FIELD1TYPE void*
6117#define SORTTPL_PTRCOMP
6118#define SORTTPL_BACKWARDS
6123#define SORTTPL_NAMEEXT DownPtrReal
6124#define SORTTPL_KEYTYPE void*
6125#define SORTTPL_FIELD1TYPE SCIP_Real
6126#define SORTTPL_PTRCOMP
6127#define SORTTPL_BACKWARDS
6132#define SORTTPL_NAMEEXT DownPtrInt
6133#define SORTTPL_KEYTYPE void*
6134#define SORTTPL_FIELD1TYPE int
6135#define SORTTPL_PTRCOMP
6136#define SORTTPL_BACKWARDS
6140#define SORTTPL_NAMEEXT DownPtrBool
6141#define SORTTPL_KEYTYPE void*
6142#define SORTTPL_FIELD1TYPE SCIP_Bool
6143#define SORTTPL_PTRCOMP
6144#define SORTTPL_BACKWARDS
6148#define SORTTPL_NAMEEXT DownPtrIntInt
6149#define SORTTPL_KEYTYPE void*
6150#define SORTTPL_FIELD1TYPE int
6151#define SORTTPL_FIELD2TYPE int
6152#define SORTTPL_PTRCOMP
6153#define SORTTPL_BACKWARDS
6158#define SORTTPL_NAMEEXT DownPtrRealInt
6159#define SORTTPL_KEYTYPE void*
6160#define SORTTPL_FIELD1TYPE SCIP_Real
6161#define SORTTPL_FIELD2TYPE int
6162#define SORTTPL_PTRCOMP
6163#define SORTTPL_BACKWARDS
6168#define SORTTPL_NAMEEXT DownPtrRealBool
6169#define SORTTPL_KEYTYPE void*
6170#define SORTTPL_FIELD1TYPE SCIP_Real
6171#define SORTTPL_FIELD2TYPE SCIP_Bool
6172#define SORTTPL_PTRCOMP
6173#define SORTTPL_BACKWARDS
6178#define SORTTPL_NAMEEXT DownPtrPtrInt
6179#define SORTTPL_KEYTYPE void*
6180#define SORTTPL_FIELD1TYPE void*
6181#define SORTTPL_FIELD2TYPE int
6182#define SORTTPL_PTRCOMP
6183#define SORTTPL_BACKWARDS
6188#define SORTTPL_NAMEEXT DownPtrPtrReal
6189#define SORTTPL_KEYTYPE void*
6190#define SORTTPL_FIELD1TYPE void*
6191#define SORTTPL_FIELD2TYPE SCIP_Real
6192#define SORTTPL_PTRCOMP
6193#define SORTTPL_BACKWARDS
6198#define SORTTPL_NAMEEXT DownPtrRealIntInt
6199#define SORTTPL_KEYTYPE void*
6200#define SORTTPL_FIELD1TYPE SCIP_Real
6201#define SORTTPL_FIELD2TYPE int
6202#define SORTTPL_FIELD3TYPE int
6203#define SORTTPL_PTRCOMP
6204#define SORTTPL_BACKWARDS
6209#define SORTTPL_NAMEEXT DownPtrPtrIntInt
6210#define SORTTPL_KEYTYPE void*
6211#define SORTTPL_FIELD1TYPE void*
6212#define SORTTPL_FIELD2TYPE int
6213#define SORTTPL_FIELD3TYPE int
6214#define SORTTPL_PTRCOMP
6215#define SORTTPL_BACKWARDS
6220#define SORTTPL_NAMEEXT DownPtrPtrRealInt
6221#define SORTTPL_KEYTYPE void*
6222#define SORTTPL_FIELD1TYPE void*
6223#define SORTTPL_FIELD2TYPE SCIP_Real
6224#define SORTTPL_FIELD3TYPE int
6225#define SORTTPL_PTRCOMP
6226#define SORTTPL_BACKWARDS
6231#define SORTTPL_NAMEEXT DownPtrPtrRealBool
6232#define SORTTPL_KEYTYPE void*
6233#define SORTTPL_FIELD1TYPE void*
6234#define SORTTPL_FIELD2TYPE SCIP_Real
6235#define SORTTPL_FIELD3TYPE SCIP_Bool
6236#define SORTTPL_PTRCOMP
6237#define SORTTPL_BACKWARDS
6242#define SORTTPL_NAMEEXT DownPtrPtrLongInt
6243#define SORTTPL_KEYTYPE void*
6244#define SORTTPL_FIELD1TYPE void*
6245#define SORTTPL_FIELD2TYPE SCIP_Longint
6246#define SORTTPL_FIELD3TYPE int
6247#define SORTTPL_PTRCOMP
6248#define SORTTPL_BACKWARDS
6253#define SORTTPL_NAMEEXT DownPtrPtrLongIntInt
6254#define SORTTPL_KEYTYPE void*
6255#define SORTTPL_FIELD1TYPE void*
6256#define SORTTPL_FIELD2TYPE SCIP_Longint
6257#define SORTTPL_FIELD3TYPE int
6258#define SORTTPL_FIELD4TYPE int
6259#define SORTTPL_PTRCOMP
6260#define SORTTPL_BACKWARDS
6265#define SORTTPL_NAMEEXT DownReal
6266#define SORTTPL_KEYTYPE SCIP_Real
6267#define SORTTPL_BACKWARDS
6272#define SORTTPL_NAMEEXT DownRealBoolPtr
6273#define SORTTPL_KEYTYPE SCIP_Real
6274#define SORTTPL_FIELD1TYPE SCIP_Bool
6275#define SORTTPL_FIELD2TYPE void*
6276#define SORTTPL_BACKWARDS
6281#define SORTTPL_NAMEEXT DownRealPtr
6282#define SORTTPL_KEYTYPE SCIP_Real
6283#define SORTTPL_FIELD1TYPE void*
6284#define SORTTPL_BACKWARDS
6289#define SORTTPL_NAMEEXT DownRealInt
6290#define SORTTPL_KEYTYPE SCIP_Real
6291#define SORTTPL_FIELD1TYPE int
6292#define SORTTPL_BACKWARDS
6296#define SORTTPL_NAMEEXT DownRealIntInt
6297#define SORTTPL_KEYTYPE SCIP_Real
6298#define SORTTPL_FIELD1TYPE int
6299#define SORTTPL_FIELD2TYPE int
6300#define SORTTPL_BACKWARDS
6304#define SORTTPL_NAMEEXT DownRealIntLong
6305#define SORTTPL_KEYTYPE SCIP_Real
6306#define SORTTPL_FIELD1TYPE int
6307#define SORTTPL_FIELD2TYPE SCIP_Longint
6308#define SORTTPL_BACKWARDS
6313#define SORTTPL_NAMEEXT DownRealIntPtr
6314#define SORTTPL_KEYTYPE SCIP_Real
6315#define SORTTPL_FIELD1TYPE int
6316#define SORTTPL_FIELD2TYPE void*
6317#define SORTTPL_BACKWARDS
6322#define SORTTPL_NAMEEXT DownRealPtrPtr
6323#define SORTTPL_KEYTYPE SCIP_Real
6324#define SORTTPL_FIELD1TYPE void*
6325#define SORTTPL_FIELD2TYPE void*
6326#define SORTTPL_BACKWARDS
6330#define SORTTPL_NAMEEXT DownRealRealInt
6331#define SORTTPL_KEYTYPE SCIP_Real
6332#define SORTTPL_FIELD1TYPE SCIP_Real
6333#define SORTTPL_FIELD2TYPE int
6334#define SORTTPL_BACKWARDS
6338#define SORTTPL_NAMEEXT DownRealRealPtr
6339#define SORTTPL_KEYTYPE SCIP_Real
6340#define SORTTPL_FIELD1TYPE SCIP_Real
6341#define SORTTPL_FIELD2TYPE void*
6342#define SORTTPL_BACKWARDS
6346#define SORTTPL_NAMEEXT DownRealRealPtrPtr
6347#define SORTTPL_KEYTYPE SCIP_Real
6348#define SORTTPL_FIELD1TYPE SCIP_Real
6349#define SORTTPL_FIELD2TYPE void*
6350#define SORTTPL_FIELD3TYPE void*
6351#define SORTTPL_BACKWARDS
6356#define SORTTPL_NAMEEXT DownRealLongRealInt
6357#define SORTTPL_KEYTYPE SCIP_Real
6358#define SORTTPL_FIELD1TYPE SCIP_Longint
6359#define SORTTPL_FIELD2TYPE SCIP_Real
6360#define SORTTPL_FIELD3TYPE int
6361#define SORTTPL_BACKWARDS
6366#define SORTTPL_NAMEEXT DownRealRealIntInt
6367#define SORTTPL_KEYTYPE SCIP_Real
6368#define SORTTPL_FIELD1TYPE SCIP_Real
6369#define SORTTPL_FIELD2TYPE int
6370#define SORTTPL_FIELD3TYPE int
6371#define SORTTPL_BACKWARDS
6376#define SORTTPL_NAMEEXT DownRealRealRealInt
6377#define SORTTPL_KEYTYPE SCIP_Real
6378#define SORTTPL_FIELD1TYPE SCIP_Real
6379#define SORTTPL_FIELD2TYPE SCIP_Real
6380#define SORTTPL_FIELD3TYPE int
6381#define SORTTPL_BACKWARDS
6386#define SORTTPL_NAMEEXT DownRealRealRealPtr
6387#define SORTTPL_KEYTYPE SCIP_Real
6388#define SORTTPL_FIELD1TYPE SCIP_Real
6389#define SORTTPL_FIELD2TYPE SCIP_Real
6390#define SORTTPL_FIELD3TYPE void*
6391#define SORTTPL_BACKWARDS
6396#define SORTTPL_NAMEEXT DownRealPtrPtrInt
6397#define SORTTPL_KEYTYPE SCIP_Real
6398#define SORTTPL_FIELD1TYPE void*
6399#define SORTTPL_FIELD2TYPE void*
6400#define SORTTPL_FIELD3TYPE int
6401#define SORTTPL_BACKWARDS
6405#define SORTTPL_NAMEEXT DownRealPtrPtrIntInt
6406#define SORTTPL_KEYTYPE SCIP_Real
6407#define SORTTPL_FIELD1TYPE void*
6408#define SORTTPL_FIELD2TYPE void*
6409#define SORTTPL_FIELD3TYPE int
6410#define SORTTPL_FIELD4TYPE int
6411#define SORTTPL_BACKWARDS
6416#define SORTTPL_NAMEEXT DownRealRealRealBoolPtr
6417#define SORTTPL_KEYTYPE SCIP_Real
6418#define SORTTPL_FIELD1TYPE SCIP_Real
6419#define SORTTPL_FIELD2TYPE SCIP_Real
6420#define SORTTPL_FIELD3TYPE SCIP_Bool
6421#define SORTTPL_FIELD4TYPE void*
6422#define SORTTPL_BACKWARDS
6427#define SORTTPL_NAMEEXT DownRealRealRealBoolBoolPtr
6428#define SORTTPL_KEYTYPE SCIP_Real
6429#define SORTTPL_FIELD1TYPE SCIP_Real
6430#define SORTTPL_FIELD2TYPE SCIP_Real
6431#define SORTTPL_FIELD3TYPE SCIP_Bool
6432#define SORTTPL_FIELD4TYPE SCIP_Bool
6433#define SORTTPL_FIELD5TYPE void*
6438#define SORTTPL_NAMEEXT DownInt
6439#define SORTTPL_KEYTYPE int
6440#define SORTTPL_BACKWARDS
6445#define SORTTPL_NAMEEXT DownIntInt
6446#define SORTTPL_KEYTYPE int
6447#define SORTTPL_FIELD1TYPE int
6448#define SORTTPL_BACKWARDS
6453#define SORTTPL_NAMEEXT DownIntIntReal
6454#define SORTTPL_KEYTYPE int
6455#define SORTTPL_FIELD1TYPE int
6456#define SORTTPL_FIELD2TYPE SCIP_Real
6457#define SORTTPL_BACKWARDS
6462#define SORTTPL_NAMEEXT DownIntReal
6463#define SORTTPL_KEYTYPE int
6464#define SORTTPL_FIELD1TYPE SCIP_Real
6465#define SORTTPL_BACKWARDS
6470#define SORTTPL_NAMEEXT DownIntPtr
6471#define SORTTPL_KEYTYPE int
6472#define SORTTPL_FIELD1TYPE void*
6473#define SORTTPL_BACKWARDS
6478#define SORTTPL_NAMEEXT DownIntIntInt
6479#define SORTTPL_KEYTYPE int
6480#define SORTTPL_FIELD1TYPE int
6481#define SORTTPL_FIELD2TYPE int
6482#define SORTTPL_BACKWARDS
6487#define SORTTPL_NAMEEXT DownIntIntLong
6488#define SORTTPL_KEYTYPE int
6489#define SORTTPL_FIELD1TYPE int
6490#define SORTTPL_FIELD2TYPE SCIP_Longint
6491#define SORTTPL_BACKWARDS
6496#define SORTTPL_NAMEEXT DownIntIntPtr
6497#define SORTTPL_KEYTYPE int
6498#define SORTTPL_FIELD1TYPE int
6499#define SORTTPL_FIELD2TYPE void*
6500#define SORTTPL_BACKWARDS
6505#define SORTTPL_NAMEEXT DownIntIntIntPtr
6506#define SORTTPL_KEYTYPE int
6507#define SORTTPL_FIELD1TYPE int
6508#define SORTTPL_FIELD2TYPE int
6509#define SORTTPL_FIELD3TYPE void*
6510#define SORTTPL_BACKWARDS
6515#define SORTTPL_NAMEEXT DownIntPtrIntReal
6516#define SORTTPL_KEYTYPE int
6517#define SORTTPL_FIELD1TYPE void*
6518#define SORTTPL_FIELD2TYPE int
6519#define SORTTPL_FIELD3TYPE SCIP_Real
6520#define SORTTPL_BACKWARDS
6525#define SORTTPL_NAMEEXT DownLong
6526#define SORTTPL_KEYTYPE SCIP_Longint
6527#define SORTTPL_BACKWARDS
6532#define SORTTPL_NAMEEXT DownLongPtr
6533#define SORTTPL_KEYTYPE SCIP_Longint
6534#define SORTTPL_FIELD1TYPE void*
6535#define SORTTPL_BACKWARDS
6540#define SORTTPL_NAMEEXT DownLongPtrInt
6541#define SORTTPL_KEYTYPE SCIP_Longint
6542#define SORTTPL_FIELD1TYPE void*
6543#define SORTTPL_FIELD2TYPE int
6544#define SORTTPL_BACKWARDS
6549#define SORTTPL_NAMEEXT DownLongPtrRealBool
6550#define SORTTPL_KEYTYPE SCIP_Longint
6551#define SORTTPL_FIELD1TYPE void*
6552#define SORTTPL_FIELD2TYPE SCIP_Real
6553#define SORTTPL_FIELD3TYPE SCIP_Bool
6554#define SORTTPL_BACKWARDS
6559#define SORTTPL_NAMEEXT DownLongPtrRealRealBool
6560#define SORTTPL_KEYTYPE SCIP_Longint
6561#define SORTTPL_FIELD1TYPE void*
6562#define SORTTPL_FIELD2TYPE SCIP_Real
6563#define SORTTPL_FIELD3TYPE SCIP_Real
6564#define SORTTPL_FIELD4TYPE SCIP_Bool
6565#define SORTTPL_BACKWARDS
6570#define SORTTPL_NAMEEXT DownLongPtrRealRealIntBool
6571#define SORTTPL_KEYTYPE SCIP_Longint
6572#define SORTTPL_FIELD1TYPE void*
6573#define SORTTPL_FIELD2TYPE SCIP_Real
6574#define SORTTPL_FIELD3TYPE SCIP_Real
6575#define SORTTPL_FIELD4TYPE int
6576#define SORTTPL_FIELD5TYPE SCIP_Bool
6577#define SORTTPL_BACKWARDS
6582#define SORTTPL_NAMEEXT DownLongPtrPtrInt
6583#define SORTTPL_KEYTYPE SCIP_Longint
6584#define SORTTPL_FIELD1TYPE void*
6585#define SORTTPL_FIELD2TYPE void*
6586#define SORTTPL_FIELD3TYPE int
6587#define SORTTPL_BACKWARDS
6592#define SORTTPL_NAMEEXT DownLongPtrPtrIntInt
6593#define SORTTPL_KEYTYPE SCIP_Longint
6594#define SORTTPL_FIELD1TYPE void*
6595#define SORTTPL_FIELD2TYPE void*
6596#define SORTTPL_FIELD3TYPE int
6597#define SORTTPL_FIELD4TYPE int
6598#define SORTTPL_BACKWARDS
6603#define SORTTPL_NAMEEXT DownLongPtrPtrBoolInt
6604#define SORTTPL_KEYTYPE SCIP_Longint
6605#define SORTTPL_FIELD1TYPE void*
6606#define SORTTPL_FIELD2TYPE void*
6607#define SORTTPL_FIELD3TYPE SCIP_Bool
6608#define SORTTPL_FIELD4TYPE int
6609#define SORTTPL_BACKWARDS
6614#define SORTTPL_NAMEEXT DownPtrIntIntBoolBool
6615#define SORTTPL_KEYTYPE void*
6616#define SORTTPL_FIELD1TYPE int
6617#define SORTTPL_FIELD2TYPE int
6618#define SORTTPL_FIELD3TYPE SCIP_Bool
6619#define SORTTPL_FIELD4TYPE SCIP_Bool
6620#define SORTTPL_PTRCOMP
6621#define SORTTPL_BACKWARDS
6626#define SORTTPL_NAMEEXT DownIntPtrIntIntBoolBool
6627#define SORTTPL_KEYTYPE int
6628#define SORTTPL_FIELD1TYPE void*
6629#define SORTTPL_FIELD2TYPE int
6630#define SORTTPL_FIELD3TYPE int
6631#define SORTTPL_FIELD4TYPE SCIP_Bool
6632#define SORTTPL_FIELD5TYPE SCIP_Bool
6633#define SORTTPL_BACKWARDS
6652 (*activity)->var =
var;
6653 (*activity)->duration = duration;
6654 (*activity)->demand = demand;
6680#undef SCIPactivityGetVar
6681#undef SCIPactivityGetDuration
6682#undef SCIPactivityGetDemand
6683#undef SCIPactivityGetEnergy
6692 return activity->
var;
6741 (*profile)->arraysize = 10;
6746 (*profile)->ntimepoints = 1;
6747 (*profile)->timepoints[0] = 0;
6748 (*profile)->loads[0] = 0;
6749 (*profile)->capacity = capacity;
6776 if( *profile !=
NULL )
6843 return profile->
loads;
6867 return profile->
loads[pos];
6966 SCIP_Bool* infeasible
6979 (*infeasible) =
FALSE;
6996 profile->
loads[
i] += demand;
7003 (*infeasible) =
TRUE;
7008 profile->
loads[
i] -= demand;
7026 SCIP_Bool* infeasible
7034 (*infeasible) =
FALSE;
7038 SCIPdebugMessage(
"insert core [%d,%d] with demand %d\n", left, right, demand);
7057 SCIP_Bool infeasible;
7072 SCIPdebugMessage(
"delete core [%d,%d] with demand %d\n", left, right, demand);
7088 SCIP_Bool* infeasible
7103 (*infeasible) =
FALSE;
7107 (*infeasible) =
TRUE;
7115 SCIPdebugMessage(
"profile <%p>: core does not fit at time point %d (pos %d)\n", (
void*)profile, profile->
timepoints[pos], pos);
7121 (*infeasible) =
TRUE;
7146 SCIP_Bool* infeasible
7161 SCIPdebugMessage(
"profile <%p>: find earliest start time (demad %d, duration %d) [%d,%d]\n", (
void*)profile, demand, duration, est,
lst);
7163 if( duration == 0 || demand == 0 )
7165 *infeasible =
FALSE;
7170 SCIPdebugMessage(
"profile <%p>: earliest start time does %s exist as time point (pos %d)\n", (
void*)profile, found ?
"" :
"not", pos);
7175 (*infeasible) =
FALSE;
7211 (*infeasible) =
FALSE;
7215 SCIPdebugMessage(
"remaining duration can%s be processed\n", *infeasible ?
"not" :
"");
7238 SCIP_Bool* infeasible
7254 (*infeasible) =
TRUE;
7263 SCIPdebugMessage(
"profile <%p>: core does not fit at time point %d (pos %d)\n", (
void*)profile, profile->
timepoints[pos-1], pos-1);
7268 if( profile->timepoints[
endpos] <
ect - duration )
7276 *infeasible =
FALSE;
7295 SCIP_Bool* infeasible
7312 if( duration == 0 || demand == 0 )
7314 *infeasible =
FALSE;
7318 ect = est + duration;
7319 lct =
lst + duration;
7322 SCIPdebugMessage(
"profile <%p>: latest completion time %d does %s exist as time point (pos %d)\n", (
void*)profile, lct, found ?
"" :
"not", pos);
7354 (*infeasible) =
FALSE;
7369 return lct - duration;
7396 (*digraph)->nnodes =
nnodes;
7399 (*digraph)->blkmem = blkmem;
7400 (*digraph)->ncomponents = 0;
7401 (*digraph)->componentstartsize = 0;
7402 (*digraph)->components =
NULL;
7403 (*digraph)->componentstarts =
NULL;
7406 (*digraph)->narticulations = -1;
7407 (*digraph)->articulations =
NULL;
7408 (*digraph)->articulationscheck =
FALSE;
7440 digraph->successorssize[n] = 0;
7464 SCIP_Bool articulationscheck;
7480 (*targetdigraph)->nnodes =
nnodes;
7481 (*targetdigraph)->ncomponents = ncomponents;
7511 if( ncomponents > 0 )
7517 (*targetdigraph)->componentstartsize = ncomponents + 1;
7521 (*targetdigraph)->components =
NULL;
7522 (*targetdigraph)->componentstarts =
NULL;
7523 (*targetdigraph)->componentstartsize = 0;
7527 if( articulationscheck )
7530 (*targetdigraph)->narticulations =
sourcedigraph->narticulations;
7531 (*targetdigraph)->articulationscheck =
TRUE;
7535 (*targetdigraph)->narticulations = -1;
7536 (*targetdigraph)->articulations =
NULL;
7537 (*targetdigraph)->articulationscheck =
FALSE;
7580 blkmem = (*digraph)->blkmem;
7611#define STARTSUCCESSORSSIZE 5
7712 for(
i = 0;
i < nsuccessors; ++
i )
7740 digraph->nsuccessors[node] = nsuccessors;
7765 return digraph->nodedata[node];
7782 digraph->nodedata[node] = dataptr;
7815 return digraph->nsuccessors[node];
7831 return digraph->successors[node];
7849 return digraph->arcdata[node];
7907 dfsnodes[(*ndfsnodes)++] = currnode;
7968 for( n = 0; n <
nsucc; ++n)
7979 if( parent[
startnode] == -1 && nchildren > 1 )
8002 int** articulations,
8021 if( !
digraph->articulationscheck )
8032 if(
digraph->narticulations >= 0 )
8038 for( n = 0; n <
digraph->nnodes; ++n )
8046 for( n = 0; n <
digraph->nnodes; ++n )
8055 for( n = 0; n <
digraph->nnodes; ++n )
8065 if( articulations !=
NULL )
8066 (*articulations) =
digraph->articulations;
8067 if( narticulations !=
NULL )
8068 (*narticulations) =
digraph->narticulations;
8120 if(
digraph->ncomponents > 0 )
8126 digraph->componentstartsize = 10;
8138 digraph->componentstarts[0] = 0;
8152 for( v = 0; v <
digraph->nnodes; ++v )
8181 if( components !=
NULL )
8196 if( ncomponents !=
NULL )
8197 (*ncomponents) =
digraph->ncomponents;
8364 stack[*stacksize] = v;
8371 for(
i = 0;
i <
digraph->nsuccessors[v]; ++
i )
8380 tarjan(
digraph,
w,
lowlink,
dfsidx, stack, stacksize,
unprocessed,
nodeinstack,
maxdfs,
strongcomponents,
8412 w = stack[*stacksize - 1];
8530 if(
digraph->componentstartsize > 0 )
8537 digraph->componentstartsize = 0;
8558 for( n = 0; n <
digraph->nnodes; ++n )
8564 nsuccessors =
digraph->nsuccessors[n];
8565 successors =
digraph->successors[n];
8569 for( m = 0; m < nsuccessors ; ++m )
8596 for( n = 0; n <
digraph->nnodes; ++n )
8605 for( n = 0; n <
digraph->nnodes; ++n )
8611 nsuccessors =
digraph->nsuccessors[n];
8612 successors =
digraph->successors[n];
8614 for( m = 0; m < nsuccessors; ++m )
8668 (*node)->parent =
NULL;
8669 (*node)->left =
NULL;
8670 (*node)->right =
NULL;
8671 (*node)->dataptr =
NULL;
8693 (*node)->dataptr = dataptr;
8714 if( (*node)->parent !=
NULL )
8718 assert((*node)->parent->left == *node || ((*node)->parent->right == *node));
8720 if( (*node)->parent->left == *node )
8722 (*node)->parent->left =
NULL;
8726 assert((*node)->parent->right == *node);
8727 (*node)->parent->right =
NULL;
8750 if( (*node)->left !=
NULL )
8756 if( (*node)->right !=
NULL )
8774#undef SCIPbtnodeGetData
8775#undef SCIPbtnodeGetKey
8776#undef SCIPbtnodeGetParent
8777#undef SCIPbtnodeGetLeftchild
8778#undef SCIPbtnodeGetRightchild
8779#undef SCIPbtnodeGetSibling
8780#undef SCIPbtnodeIsRoot
8781#undef SCIPbtnodeIsLeaf
8782#undef SCIPbtnodeIsLeftchild
8783#undef SCIPbtnodeIsRightchild
8834 if( parent ==
NULL )
8954 node->
right = right;
8967 (*tree)->blkmem = blkmem;
8968 (*tree)->root =
NULL;
8983 if( (*tree)->root !=
NULL )
9133 while( !(
val1 & 1) )
9147 while( !(
val1 & 1) )
9155 while( !(
val2 & 1) )
9168 while( !(
val1 & 1) )
9176 while( !(
val2 & 1) )
9202 while( !(
val1 & 1) )
9223 while( !(
val2 & 1) )
9233#if defined(_MSC_VER) && !defined(NO_NEXTAFTER)
9234#define nextafter(x,y) _nextafter(x,y)
9251#define __HI(x) *(1+(int*)&x)
9252#define __LO(x) *(int*)&x
9253#define __HIp(x) *(1+(int*)x)
9254#define __LOp(x) *(int*)x
9277 if( ((
ix>=0x7ff00000) && ((
ix-0x7ff00000)|
lx) != 0 ) ||
9278 ( (
iy>=0x7ff00000) && ((
iy-0x7ff00000)|
ly) != 0 ))
9337 if(
hy >= 0x7ff00000 )
9339 if(
hy < 0x00100000 )
9388static const SCIP_Real
simplednoms[] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0,
9389 17.0, 18.0, 19.0, 25.0, -1.0};
9543 sval = val * scalar;
9551static const SCIP_Real
scalars[] = {3.0, 5.0, 7.0, 9.0, 11.0, 13.0, 15.0, 17.0, 19.0};
9590 SCIPdebugMessage(
"trying to find rational representation for given values\n");
9598 for(
c = 0;
c < nvals; ++
c )
9622 for(
i = 0;
i < 2; ++
i )
9628 scaleval = 1.0/minval;
9656 SCIPdebugMessage(
" -> val=%g, scaleval=%g, val*scaleval=%g, scalable=%u\n",
9657 val, scaleval, val*scaleval,
scalable);
9668 SCIPdebugMessage(
" -> integrality could be achieved by scaling with %g\n", scaleval);
9728 SCIPdebugMessage(
" -> failed to convert %g into a rational representation\n", val);
9761#if defined(__INTEL_COMPILER) || defined(_MSC_VER)
9762#pragma fenv_access (on)
9763#elif defined(__GNUC__) && !defined(__clang__)
9764#pragma STDC FENV_ACCESS ON
9766#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
9767#if defined(__clang__)
9802 delta = 0.5*(ub-lb);
9808 delta = 0.5*(ub-lb);
9814#if defined(__INTEL_COMPILER) || defined(_MSC_VER)
9815#pragma fenv_access (off)
9816#elif defined(__GNUC__) && !defined(__clang__)
9817#pragma STDC FENV_ACCESS OFF
9849 SCIPdebugPrintf(
" value is out of interval bounds by %g -> failed\n",
MAX(lb-val, val-ub));
9887 SCIP_Real
deriv = derivative(
result, params, nparams);
9913#if defined(NO_RAND_R) || defined(_WIN32) || defined(_WIN64)
9915#define SCIP_RAND_MAX 32767
9934#define SCIP_RAND_MAX RAND_MAX
10007 unsigned int*
seedp
10015#define DEFAULT_SEED UINT32_C(123456789)
10016#define DEFAULT_XOR UINT32_C(362436000)
10017#define DEFAULT_MWC UINT32_C(521288629)
10018#define DEFAULT_CST UINT32_C(7654321)
10024 unsigned int initseed
10069 randnumgen->
cst_seed = (uint32_t) (t >> 32);
10070 randnumgen->
mwc_seed = (uint32_t) t;
10079 unsigned int initialseed
10237 for(
j = 0;
j <
i;
j++ )
10251 for(
j = 0;
j <
i;
j++ )
10277 if( m == 0 || m >= n )
10295 return ((SCIP_Longint)n*(n-1)/2);
10301 if( m > 16 || n > 33 )
10306 return (n*(n-1)*(n-2)/6);
10314 static const SCIP_Longint
binoms[182] = {
10315 1166803110, 601080390, 1037158320, 565722720, 300540195, 155117520, 818809200, 471435600, 265182525, 145422675,
10316 77558760, 40116600, 573166440, 347373600, 206253075, 119759850, 67863915, 37442160, 20058300, 10400600,
10317 354817320, 225792840, 141120525, 86493225, 51895935, 30421755, 17383860, 9657700, 5200300, 2704156, 193536720,
10318 129024480, 84672315, 54627300, 34597290, 21474180, 13037895, 7726160, 4457400, 2496144, 1352078, 705432,
10319 92561040, 64512240, 44352165, 30045015, 20030010, 13123110, 8436285, 5311735, 3268760, 1961256, 1144066,
10320 646646, 352716, 184756, 38567100, 28048800, 20160075, 14307150, 10015005, 6906900, 4686825, 3124550, 2042975,
10321 1307504, 817190, 497420, 293930, 167960, 92378, 48620, 13884156, 10518300, 7888725, 5852925, 4292145, 3108105,
10322 2220075, 1562275, 1081575, 735471, 490314, 319770, 203490, 125970, 75582, 43758, 24310, 12870, 4272048, 3365856,
10323 2629575, 2035800, 1560780, 1184040, 888030, 657800, 480700, 346104, 245157, 170544, 116280, 77520, 50388, 31824,
10324 19448, 11440, 6435, 3432, 1107568, 906192, 736281, 593775, 475020, 376740, 296010, 230230, 177100, 134596,
10325 100947, 74613, 54264, 38760, 27132, 18564, 12376, 8008, 5005, 3003, 1716, 924, 237336, 201376, 169911, 142506,
10326 118755, 98280, 80730, 65780, 53130, 42504, 33649, 26334, 20349, 15504, 11628, 8568, 6188, 4368, 3003, 2002,
10327 1287, 792, 462, 252, 40920, 35960, 31465, 27405, 23751, 20475, 17550, 14950, 12650, 10626, 8855, 7315, 5985,
10328 4845, 3876, 3060, 2380, 1820, 1365, 1001, 715, 495, 330, 210, 126, 70};
10331 const int t = 16-m;
10336 assert(t*(t+1)+(33-n) < 182);
10338 return binoms[t*(t+1)+(33-n)];
10344#if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ * 10 >= 490 && !defined(__INTEL_COMPILER)
10352 return ((
unsigned long long)(v * 2654435769)) %
UINT_MAX;
10353 return ((
unsigned long long)(-v * 683565275)) %
UINT_MAX;
10506 for(
j = 0;
j <
i;
j++ )
10520 for(
j = 0;
j <
i;
j++ )
10773#ifdef NO_STRERROR_R
10778#if defined(_WIN32) || defined(_WIN64)
10783#elif (_POSIX_C_SOURCE >= 200112L || __DARWIN_C_LEVEL > 200112L || _XOPEN_SOURCE >= 600) && ! defined(_GNU_SOURCE)
10824#ifdef SCIP_NO_STRTOK_R
10854 else if( s[
i] ==
' ' || s[
i] ==
'\"' || s[
i] ==
'\'' )
10871 *s += **s ==
'\\' ? 2 : 1;
10892#if defined(_WIN32) || defined(_WIN64)
10932 for( n = 0; n < size && *s !=
'\0'; n++ )
11055 if(
nchars == (size-1) )
11080 const char* filename
11085 f =
fopen(filename,
"r");
11113 if( extension !=
NULL )
11127#ifdef SCIP_WITH_ZLIB
11165 if( extension !=
NULL )
11206 SCIP_Real dualbound
11239 assert(ncomponents > 0);
11243 (*djset)->size = ncomponents;
11275 int root = element;
11276 int* parents = djset->
parents;
11279 while( root != parents[root] )
11281 root = parents[root];
11285 while( element != root )
11288 parents[element] = root;
11321 sizes = djset->
sizes;
11327 sizes[
idp] += sizes[
idq];
11331 if( sizes[
idp] < sizes[
idq] )
11334 sizes[
idq] += sizes[
idp];
11339 sizes[
idp] += sizes[
idq];
11382 return djset->
size;
common defines and data types used in all packages of SCIP
#define SCIP_SPACECONTROL
#define SCIP_DEFAULT_EPSILON
#define SCIP_ALLOC_TERMINATE(retcode, x, TERM)
#define SCIP_CALL_ABORT(x)
#define SCIP_CALL_TERMINATE(retcode, x, TERM)
#define SCIP_LONGINT_FORMAT
#define SCIP_CALL_FINALLY(x, y)
void SCIPcomputeArraysIntersectionPtr(void **array1, int narray1, void **array2, int narray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), void **intersectarray, int *nintersectarray)
void SCIPcomputeArraysSetminusInt(int *array1, int narray1, int *array2, int narray2, int *setminusarray, int *nsetminusarray)
SCIP_RETCODE SCIPcomputeArraysIntersection(int *array1, int narray1, int *array2, int narray2, int *intersectarray, int *nintersectarray)
SCIP_RETCODE SCIPcomputeArraysSetminus(int *array1, int narray1, int *array2, int narray2, int *setminusarray, int *nsetminusarray)
void SCIPcomputeArraysIntersectionInt(int *array1, int narray1, int *array2, int narray2, int *intersectarray, int *nintersectarray)
void SCIPbtnodeSetRightchild(SCIP_BTNODE *node, SCIP_BTNODE *right)
SCIP_BTNODE * SCIPbtnodeGetRightchild(SCIP_BTNODE *node)
SCIP_Bool SCIPbtIsEmpty(SCIP_BT *tree)
SCIP_RETCODE SCIPbtCreate(SCIP_BT **tree, BMS_BLKMEM *blkmem)
void SCIPbtnodeFree(SCIP_BT *tree, SCIP_BTNODE **node)
SCIP_Bool SCIPbtnodeIsLeaf(SCIP_BTNODE *node)
void SCIPbtnodeSetData(SCIP_BTNODE *node, void *dataptr)
void * SCIPbtnodeGetData(SCIP_BTNODE *node)
SCIP_RETCODE SCIPbtnodeCreate(SCIP_BT *tree, SCIP_BTNODE **node, void *dataptr)
SCIP_Bool SCIPbtnodeIsRightchild(SCIP_BTNODE *node)
void SCIPbtnodeSetParent(SCIP_BTNODE *node, SCIP_BTNODE *parent)
SCIP_BTNODE * SCIPbtnodeGetSibling(SCIP_BTNODE *node)
SCIP_Bool SCIPbtnodeIsLeftchild(SCIP_BTNODE *node)
void SCIPbtnodeSetLeftchild(SCIP_BTNODE *node, SCIP_BTNODE *left)
SCIP_BTNODE * SCIPbtnodeGetParent(SCIP_BTNODE *node)
void SCIPbtFree(SCIP_BT **tree)
SCIP_BTNODE * SCIPbtnodeGetLeftchild(SCIP_BTNODE *node)
void SCIPbtSetRoot(SCIP_BT *tree, SCIP_BTNODE *root)
SCIP_Bool SCIPbtnodeIsRoot(SCIP_BTNODE *node)
SCIP_BTNODE * SCIPbtGetRoot(SCIP_BT *tree)
void SCIPbtPrintGml(SCIP_BT *tree, FILE *file)
void SCIPdigraphPrintComponents(SCIP_DIGRAPH *digraph, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
void ** SCIPdigraphGetSuccessorsData(SCIP_DIGRAPH *digraph, int node)
void SCIPdigraphFreeComponents(SCIP_DIGRAPH *digraph)
int SCIPdigraphGetNSuccessors(SCIP_DIGRAPH *digraph, int node)
SCIP_RETCODE SCIPdigraphComputeUndirectedComponents(SCIP_DIGRAPH *digraph, int minsize, int *components, int *ncomponents)
int SCIPdigraphGetNNodes(SCIP_DIGRAPH *digraph)
void SCIPdigraphPrintGml(SCIP_DIGRAPH *digraph, FILE *file)
void SCIPdigraphGetComponent(SCIP_DIGRAPH *digraph, int compidx, int **nodes, int *nnodes)
SCIP_RETCODE SCIPdigraphAddArc(SCIP_DIGRAPH *digraph, int startnode, int endnode, void *data)
SCIP_RETCODE SCIPdigraphTopoSortComponents(SCIP_DIGRAPH *digraph)
SCIP_RETCODE SCIPdigraphSetSizes(SCIP_DIGRAPH *digraph, int *sizes)
SCIP_RETCODE SCIPdigraphComputeDirectedComponents(SCIP_DIGRAPH *digraph, int compidx, int *strongcomponents, int *strongcompstartidx, int *nstrongcomponents)
SCIP_RETCODE SCIPdigraphAddArcSafe(SCIP_DIGRAPH *digraph, int startnode, int endnode, void *data)
void SCIPdigraphFree(SCIP_DIGRAPH **digraph)
int SCIPdigraphGetNArcs(SCIP_DIGRAPH *digraph)
void SCIPdigraphPrint(SCIP_DIGRAPH *digraph, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
void * SCIPdigraphGetNodeData(SCIP_DIGRAPH *digraph, int node)
void SCIPdigraphSetNodeData(SCIP_DIGRAPH *digraph, void *dataptr, int node)
SCIP_RETCODE SCIPdigraphSetNSuccessors(SCIP_DIGRAPH *digraph, int node, int nsuccessors)
int * SCIPdigraphGetSuccessors(SCIP_DIGRAPH *digraph, int node)
int SCIPdigraphGetNComponents(SCIP_DIGRAPH *digraph)
SCIP_RETCODE SCIPdigraphResize(SCIP_DIGRAPH *digraph, int nnodes)
SCIP_RETCODE SCIPdigraphGetArticulationPoints(SCIP_DIGRAPH *digraph, int **articulations, int *narticulations)
int SCIPdisjointsetGetSize(SCIP_DISJOINTSET *djset)
void SCIPdisjointsetClear(SCIP_DISJOINTSET *djset)
int SCIPdisjointsetGetComponentCount(SCIP_DISJOINTSET *djset)
int SCIPdisjointsetFind(SCIP_DISJOINTSET *djset, int element)
void SCIPdisjointsetUnion(SCIP_DISJOINTSET *djset, int p, int q, SCIP_Bool forcerepofp)
SCIP_Bool SCIPfileExists(const char *filename)
void SCIPsplitFilename(char *filename, char **path, char **name, char **extension, char **compression)
void SCIPdotWriteOpening(FILE *file)
void SCIPdotWriteClosing(FILE *file)
void SCIPdotWriteArc(FILE *file, int source, int target, const char *color)
void SCIPgmlWriteNodeWeight(FILE *file, unsigned int id, const char *label, const char *nodetype, const char *fillcolor, const char *bordercolor, SCIP_Real weight)
void SCIPgmlWriteNode(FILE *file, unsigned int id, const char *label, const char *nodetype, const char *fillcolor, const char *bordercolor)
void SCIPgmlWriteClosing(FILE *file)
void SCIPdotWriteNode(FILE *file, int node, const char *label, const char *nodetype, const char *fillcolor, const char *bordercolor)
void SCIPgmlWriteOpening(FILE *file, SCIP_Bool directed)
void SCIPgmlWriteEdge(FILE *file, unsigned int source, unsigned int target, const char *label, const char *color)
void SCIPgmlWriteArc(FILE *file, unsigned int source, unsigned int target, const char *label, const char *color)
void SCIPhashmapFree(SCIP_HASHMAP **hashmap)
void * SCIPhashmapEntryGetImage(SCIP_HASHMAPENTRY *entry)
SCIP_Real SCIPhashmapGetImageReal(SCIP_HASHMAP *hashmap, void *origin)
SCIP_RETCODE SCIPhashmapInsertReal(SCIP_HASHMAP *hashmap, void *origin, SCIP_Real image)
void SCIPhashmapPrintStatistics(SCIP_HASHMAP *hashmap, SCIP_MESSAGEHDLR *messagehdlr)
int SCIPhashmapGetImageInt(SCIP_HASHMAP *hashmap, void *origin)
void * SCIPhashmapGetImage(SCIP_HASHMAP *hashmap, void *origin)
SCIP_RETCODE SCIPhashmapSetImageReal(SCIP_HASHMAP *hashmap, void *origin, SCIP_Real image)
void SCIPhashmapEntrySetImageInt(SCIP_HASHMAPENTRY *entry, int image)
SCIP_RETCODE SCIPhashmapInsert(SCIP_HASHMAP *hashmap, void *origin, void *image)
SCIP_RETCODE SCIPhashmapSetImage(SCIP_HASHMAP *hashmap, void *origin, void *image)
int SCIPhashmapGetNElements(SCIP_HASHMAP *hashmap)
int SCIPhashmapEntryGetImageInt(SCIP_HASHMAPENTRY *entry)
void SCIPhashmapEntrySetImageReal(SCIP_HASHMAPENTRY *entry, SCIP_Real image)
int SCIPhashmapGetNEntries(SCIP_HASHMAP *hashmap)
SCIP_HASHMAPENTRY * SCIPhashmapGetEntry(SCIP_HASHMAP *hashmap, int entryidx)
void SCIPhashmapEntrySetImage(SCIP_HASHMAPENTRY *entry, void *image)
SCIP_RETCODE SCIPhashmapCreate(SCIP_HASHMAP **hashmap, BMS_BLKMEM *blkmem, int mapsize)
void * SCIPhashmapEntryGetOrigin(SCIP_HASHMAPENTRY *entry)
SCIP_Bool SCIPhashmapExists(SCIP_HASHMAP *hashmap, void *origin)
SCIP_RETCODE SCIPhashmapInsertInt(SCIP_HASHMAP *hashmap, void *origin, int image)
SCIP_Bool SCIPhashmapIsEmpty(SCIP_HASHMAP *hashmap)
SCIP_RETCODE SCIPhashmapRemoveAll(SCIP_HASHMAP *hashmap)
SCIP_Real SCIPhashmapEntryGetImageReal(SCIP_HASHMAPENTRY *entry)
SCIP_RETCODE SCIPhashmapRemove(SCIP_HASHMAP *hashmap, void *origin)
SCIP_RETCODE SCIPhashmapSetImageInt(SCIP_HASHMAP *hashmap, void *origin, int image)
void SCIPhashsetFree(SCIP_HASHSET **hashset, BMS_BLKMEM *blkmem)
void SCIPhashsetPrintStatistics(SCIP_HASHSET *hashset, SCIP_MESSAGEHDLR *messagehdlr)
SCIP_Bool SCIPhashsetExists(SCIP_HASHSET *hashset, void *element)
void ** SCIPhashsetGetSlots(SCIP_HASHSET *hashset)
int SCIPhashsetGetNElements(SCIP_HASHSET *hashset)
int SCIPhashsetGetNSlots(SCIP_HASHSET *hashset)
void SCIPhashsetRemoveAll(SCIP_HASHSET *hashset)
SCIP_Bool SCIPhashsetIsEmpty(SCIP_HASHSET *hashset)
SCIP_RETCODE SCIPhashsetInsert(SCIP_HASHSET *hashset, BMS_BLKMEM *blkmem, void *element)
SCIP_RETCODE SCIPhashsetCreate(SCIP_HASHSET **hashset, BMS_BLKMEM *blkmem, int size)
SCIP_RETCODE SCIPhashsetRemove(SCIP_HASHSET *hashset, void *element)
void SCIPhashtableFree(SCIP_HASHTABLE **hashtable)
SCIP_Bool SCIPhashtableExists(SCIP_HASHTABLE *hashtable, void *element)
#define SCIPhashTwo(a, b)
int SCIPhashtableGetNEntries(SCIP_HASHTABLE *hashtable)
void SCIPhashtableClear(SCIP_HASHTABLE *hashtable)
SCIP_RETCODE SCIPhashtableSafeInsert(SCIP_HASHTABLE *hashtable, void *element)
void * SCIPhashtableGetEntry(SCIP_HASHTABLE *hashtable, int entryidx)
SCIP_RETCODE SCIPhashtableCreate(SCIP_HASHTABLE **hashtable, BMS_BLKMEM *blkmem, int tablesize, SCIP_DECL_HASHGETKEY((*hashgetkey)), SCIP_DECL_HASHKEYEQ((*hashkeyeq)), SCIP_DECL_HASHKEYVAL((*hashkeyval)), void *userptr)
void * SCIPhashtableRetrieve(SCIP_HASHTABLE *hashtable, void *key)
void SCIPhashtableRemoveAll(SCIP_HASHTABLE *hashtable)
SCIP_Real SCIPhashtableGetLoad(SCIP_HASHTABLE *hashtable)
void SCIPhashtablePrintStatistics(SCIP_HASHTABLE *hashtable, SCIP_MESSAGEHDLR *messagehdlr)
SCIP_RETCODE SCIPhashtableRemove(SCIP_HASHTABLE *hashtable, void *element)
SCIP_RETCODE SCIPhashtableInsert(SCIP_HASHTABLE *hashtable, void *element)
SCIP_Longint SCIPhashtableGetNElements(SCIP_HASHTABLE *hashtable)
SCIP_Longint SCIPmultihashGetNElements(SCIP_MULTIHASH *multihash)
void SCIPmultihashFree(SCIP_MULTIHASH **multihash)
SCIP_RETCODE SCIPmultihashInsert(SCIP_MULTIHASH *multihash, void *element)
SCIP_RETCODE SCIPmultihashRemove(SCIP_MULTIHASH *multihash, void *element)
void SCIPmultihashRemoveAll(SCIP_MULTIHASH *multihash)
SCIP_RETCODE SCIPmultihashSafeInsert(SCIP_MULTIHASH *multihash, void *element)
int SCIPcalcMultihashSize(int minsize)
SCIP_Real SCIPmultihashGetLoad(SCIP_MULTIHASH *multihash)
SCIP_RETCODE SCIPmultihashCreate(SCIP_MULTIHASH **multihash, BMS_BLKMEM *blkmem, int tablesize, SCIP_DECL_HASHGETKEY((*hashgetkey)), SCIP_DECL_HASHKEYEQ((*hashkeyeq)), SCIP_DECL_HASHKEYVAL((*hashkeyval)), void *userptr)
void * SCIPmultihashRetrieve(SCIP_MULTIHASH *multihash, void *key)
void * SCIPmultihashRetrieveNext(SCIP_MULTIHASH *multihash, SCIP_MULTIHASHLIST **multihashlist, void *key)
SCIP_Bool SCIPmultihashExists(SCIP_MULTIHASH *multihash, void *element)
void SCIPmultihashPrintStatistics(SCIP_MULTIHASH *multihash, SCIP_MESSAGEHDLR *messagehdlr)
SCIP_Longint SCIPcalcGreComDiv(SCIP_Longint val1, SCIP_Longint val2)
SCIP_Longint SCIPcalcBinomCoef(int n, int m)
SCIP_Longint SCIPcalcSmaComMul(SCIP_Longint val1, SCIP_Longint val2)
SCIP_Bool SCIPrealToRational(SCIP_Real val, SCIP_Real mindelta, SCIP_Real maxdelta, SCIP_Longint maxdnom, SCIP_Longint *nominator, SCIP_Longint *denominator)
SCIP_Real SCIPselectSimpleValue(SCIP_Real lb, SCIP_Real ub, SCIP_Longint maxdnom)
SCIP_Real SCIPcomputeGap(SCIP_Real eps, SCIP_Real inf, SCIP_Real primalbound, SCIP_Real dualbound)
SCIP_Real SCIPcalcRootNewton(SCIP_DECL_NEWTONEVAL((*function)), SCIP_DECL_NEWTONEVAL((*derivative)), SCIP_Real *params, int nparams, SCIP_Real x, SCIP_Real eps, int k)
SCIP_Real SCIPnextafter(SCIP_Real from, SCIP_Real to)
SCIP_Real SCIPcalcMachineEpsilon(void)
unsigned int SCIPcalcFibHash(SCIP_Real v)
SCIP_RETCODE SCIPcalcIntegralScalar(SCIP_Real *vals, int nvals, SCIP_Real mindelta, SCIP_Real maxdelta, SCIP_Longint maxdnom, SCIP_Real maxscale, SCIP_Real *intscalar, SCIP_Bool *success)
SCIP_Real SCIPrelDiff(SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPfindSimpleRational(SCIP_Real lb, SCIP_Real ub, SCIP_Longint maxdnom, SCIP_Longint *nominator, SCIP_Longint *denominator)
void SCIPswapInts(int *value1, int *value2)
void SCIPswapPointers(void **pointer1, void **pointer2)
void SCIPpermuteArray(void **array, int begin, int end, unsigned int *randseed)
void SCIPswapReals(SCIP_Real *value1, SCIP_Real *value2)
void SCIPrandomPermuteIntArray(SCIP_RANDNUMGEN *randnumgen, int *array, int begin, int end)
void SCIPrandomPermuteArray(SCIP_RANDNUMGEN *randnumgen, void **array, int begin, int end)
void SCIPpermuteIntArray(int *array, int begin, int end, unsigned int *randseed)
void ** SCIPpqueueElems(SCIP_PQUEUE *pqueue)
void SCIPpqueueDelPos(SCIP_PQUEUE *pqueue, int pos)
void SCIPpqueueClear(SCIP_PQUEUE *pqueue)
int SCIPpqueueFind(SCIP_PQUEUE *pqueue, void *elem)
SCIP_RETCODE SCIPpqueueCreate(SCIP_PQUEUE **pqueue, int initsize, SCIP_Real sizefac, SCIP_DECL_SORTPTRCOMP((*ptrcomp)),)
void SCIPpqueueFree(SCIP_PQUEUE **pqueue)
SCIP_RETCODE SCIPpqueueInsert(SCIP_PQUEUE *pqueue, void *elem)
int SCIPpqueueNElems(SCIP_PQUEUE *pqueue)
void * SCIPpqueueRemove(SCIP_PQUEUE *pqueue)
void * SCIPpqueueFirst(SCIP_PQUEUE *pqueue)
void SCIPintervalSetRoundingModeDownwards(void)
SCIP_ROUNDMODE SCIPintervalGetRoundingMode(void)
void SCIPintervalSetRoundingMode(SCIP_ROUNDMODE roundmode)
SCIP_Bool SCIPintervalHasRoundingControl(void)
int SCIPqueueNElems(SCIP_QUEUE *queue)
unsigned int SCIPqueueRemoveUInt(SCIP_QUEUE *queue)
void SCIPqueueFree(SCIP_QUEUE **queue)
SCIP_RETCODE SCIPqueueInsertUInt(SCIP_QUEUE *queue, unsigned int elem)
SCIP_RETCODE SCIPqueueCreate(SCIP_QUEUE **queue, int initsize, SCIP_Real sizefac)
void SCIPqueueClear(SCIP_QUEUE *queue)
SCIP_RETCODE SCIPqueueInsert(SCIP_QUEUE *queue, void *elem)
SCIP_Bool SCIPqueueIsEmpty(SCIP_QUEUE *queue)
void * SCIPqueueRemove(SCIP_QUEUE *queue)
void * SCIPqueueFirst(SCIP_QUEUE *queue)
unsigned int SCIPqueueFirstUInt(SCIP_QUEUE *queue)
SCIP_RETCODE SCIPgetRandomSubset(void **set, int nelems, void **subset, int nsubelems, unsigned int randseed)
SCIP_RETCODE SCIPrandomGetSubset(SCIP_RANDNUMGEN *randnumgen, void **set, int nelems, void **subset, int nsubelems)
SCIP_Real SCIPrandomGetReal(SCIP_RANDNUMGEN *randnumgen, SCIP_Real minrandval, SCIP_Real maxrandval)
int SCIPrandomGetInt(SCIP_RANDNUMGEN *randnumgen, int minrandval, int maxrandval)
int SCIPgetRandomInt(int minrandval, int maxrandval, unsigned int *seedp)
SCIP_Real SCIPgetRandomReal(SCIP_Real minrandval, SCIP_Real maxrandval, unsigned int *seedp)
void SCIPregressionRemoveObservation(SCIP_REGRESSION *regression, SCIP_Real x, SCIP_Real y)
void SCIPregressionAddObservation(SCIP_REGRESSION *regression, SCIP_Real x, SCIP_Real y)
SCIP_Real SCIPregressionGetIntercept(SCIP_REGRESSION *regression)
int SCIPregressionGetNObservations(SCIP_REGRESSION *regression)
void SCIPregressionFree(SCIP_REGRESSION **regression)
SCIP_RETCODE SCIPregressionCreate(SCIP_REGRESSION **regression)
void SCIPregressionReset(SCIP_REGRESSION *regression)
SCIP_Real SCIPregressionGetSlope(SCIP_REGRESSION *regression)
SCIP_RETCODE SCIPactivityCreate(SCIP_RESOURCEACTIVITY **activity, SCIP_VAR *var, int duration, int demand)
int SCIPactivityGetDuration(SCIP_RESOURCEACTIVITY *activity)
int SCIPactivityGetEnergy(SCIP_RESOURCEACTIVITY *activity)
SCIP_VAR * SCIPactivityGetVar(SCIP_RESOURCEACTIVITY *activity)
int SCIPactivityGetDemand(SCIP_RESOURCEACTIVITY *activity)
void SCIPactivityFree(SCIP_RESOURCEACTIVITY **activity)
int SCIPprofileGetLatestFeasibleStart(SCIP_PROFILE *profile, int est, int lst, int duration, int demand, SCIP_Bool *infeasible)
int * SCIPprofileGetTimepoints(SCIP_PROFILE *profile)
SCIP_Bool SCIPprofileFindLeft(SCIP_PROFILE *profile, int timepoint, int *pos)
int SCIPprofileGetNTimepoints(SCIP_PROFILE *profile)
void SCIPprofileFree(SCIP_PROFILE **profile)
int SCIPprofileGetLoad(SCIP_PROFILE *profile, int pos)
int * SCIPprofileGetLoads(SCIP_PROFILE *profile)
SCIP_RETCODE SCIPprofileCreate(SCIP_PROFILE **profile, int capacity)
int SCIPprofileGetEarliestFeasibleStart(SCIP_PROFILE *profile, int est, int lst, int duration, int demand, SCIP_Bool *infeasible)
int SCIPprofileGetTime(SCIP_PROFILE *profile, int pos)
int SCIPprofileGetCapacity(SCIP_PROFILE *profile)
SCIP_RETCODE SCIPprofileDeleteCore(SCIP_PROFILE *profile, int left, int right, int demand)
SCIP_RETCODE SCIPprofileInsertCore(SCIP_PROFILE *profile, int left, int right, int demand, int *pos, SCIP_Bool *infeasible)
void SCIPprofilePrint(SCIP_PROFILE *profile, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
SCIP_Real SCIPnormalCDF(SCIP_Real mean, SCIP_Real variance, SCIP_Real value)
SCIP_Real SCIPcomputeTwoSampleTTestValue(SCIP_Real meanx, SCIP_Real meany, SCIP_Real variancex, SCIP_Real variancey, SCIP_Real countx, SCIP_Real county)
SCIP_Real SCIPnormalGetCriticalValue(SCIP_CONFIDENCELEVEL clevel)
SCIP_Real SCIPstudentTGetCriticalValue(SCIP_CONFIDENCELEVEL clevel, int df)
SCIP_Real SCIPerf(SCIP_Real x)
void SCIPsortInd(int *indarray, SCIP_DECL_SORTINDCOMP((*indcomp)), void *dataptr, int len)
void SCIPsortDown(int *perm, SCIP_DECL_SORTINDCOMP((*indcomp)), void *dataptr, int len)
SCIP_Bool SCIPsortedvecFindInt(int *intarray, int val, int len, int *pos)
void SCIPsort(int *perm, SCIP_DECL_SORTINDCOMP((*indcomp)), void *dataptr, int len)
void SCIPsortedvecInsertIntInt(int *intarray1, int *intarray2, int keyval, int field1val, int *len, int *pos)
void SCIPsortDownInd(int *indarray, SCIP_DECL_SORTINDCOMP((*indcomp)), void *dataptr, int len)
int SCIPsparseSolGetNVars(SCIP_SPARSESOL *sparsesol)
SCIP_Longint * SCIPsparseSolGetLbs(SCIP_SPARSESOL *sparsesol)
void SCIPsparseSolGetFirstSol(SCIP_SPARSESOL *sparsesol, SCIP_Longint *sol, int nvars)
SCIP_RETCODE SCIPsparseSolCreate(SCIP_SPARSESOL **sparsesol, SCIP_VAR **vars, int nvars, SCIP_Bool cleared)
SCIP_Longint * SCIPsparseSolGetUbs(SCIP_SPARSESOL *sparsesol)
void SCIPsparseSolFree(SCIP_SPARSESOL **sparsesol)
SCIP_Bool SCIPsparseSolGetNextSol(SCIP_SPARSESOL *sparsesol, SCIP_Longint *sol, int nvars)
SCIP_VAR ** SCIPsparseSolGetVars(SCIP_SPARSESOL *sparsesol)
SCIP_Bool SCIPstrToIntValue(const char *str, int *value, char **endptr)
int SCIPsnprintf(char *t, int len, const char *s,...)
SCIP_Bool SCIPstrToRealValue(const char *str, SCIP_Real *value, char **endptr)
void SCIPescapeString(char *t, int bufsize, const char *s)
void SCIPstrCopySection(const char *str, char startchar, char endchar, char *token, int size, char **endptr)
void SCIPprintSysError(const char *message)
SCIP_Bool SCIPstrAtStart(const char *s, const char *t, size_t tlen)
SCIP_RETCODE SCIPskipSpace(char **s)
int SCIPstrncpy(char *t, const char *s, int size)
char * SCIPstrtok(char *s, const char *delim, char **ptrptr)
int SCIPmemccpy(char *dest, const char *src, char stop, unsigned int cnt)
assert(minobj< SCIPgetCutoffbound(scip))
static SCIP_RETCODE optimize(SCIP *scip, SCIP_SOL *worksol, SCIP_VAR **vars, int *blockstart, int *blockend, int nblocks, OPTTYPE opttype, SCIP_Real *activities, int nrows, SCIP_Bool *improvement, SCIP_Bool *varboundserr, SCIP_HEURDATA *heurdata)
interval arithmetics for provable bounds
#define BMSduplicateBlockMemoryArray(mem, ptr, source, num)
#define BMSfreeMemory(ptr)
#define BMSfreeBlockMemory(mem, ptr)
#define BMSallocBlockMemory(mem, ptr)
#define BMSreallocMemoryArray(ptr, num)
#define BMSfreeBlockMemoryArrayNull(mem, ptr, num)
#define BMSduplicateMemoryArray(ptr, source, num)
#define BMSclearMemory(ptr)
#define BMSallocMemoryArray(ptr, num)
#define BMSfreeMemoryArray(ptr)
#define BMSallocBlockMemoryArray(mem, ptr, num)
#define BMScopyMemoryArray(ptr, source, num)
#define BMSfreeBlockMemoryArray(mem, ptr, num)
#define BMSreallocBlockMemoryArray(mem, ptr, oldnum, newnum)
#define BMSmoveMemoryArray(ptr, source, num)
#define BMSallocClearBlockMemoryArray(mem, ptr, num)
#define BMSclearMemoryArray(ptr, num)
#define BMSallocClearMemoryArray(ptr, num)
struct BMS_BlkMem BMS_BLKMEM
#define BMSfreeMemoryArrayNull(ptr)
#define BMSallocMemory(ptr)
void SCIPmessagePrintError(const char *formatstr,...)
void SCIPmessageFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
void SCIPmessagePrintInfo(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr,...)
SCIP_RETCODE SCIPrealarrayExtend(SCIP_REALARRAY *realarray, int arraygrowinit, SCIP_Real arraygrowfac, int minidx, int maxidx)
#define ELEM_DISTANCE(pos)
SCIP_Bool SCIPboolarrayGetVal(SCIP_BOOLARRAY *boolarray, int idx)
static void incrementalStatsUpdate(SCIP_Real value, SCIP_Real *meanptr, SCIP_Real *sumvarptr, int nobservations, SCIP_Bool add)
static SCIP_RETCODE doProfileCreate(SCIP_PROFILE **profile, int capacity)
SCIP_RETCODE SCIPboolarrayFree(SCIP_BOOLARRAY **boolarray)
SCIP_RETCODE SCIPboolarrayCopy(SCIP_BOOLARRAY **boolarray, BMS_BLKMEM *blkmem, SCIP_BOOLARRAY *sourceboolarray)
static void pqueueElemChgPos(SCIP_PQUEUE *pqueue, void *elem, int oldpos, int newpos)
#define GMLNODEBORDERCOLOR
static void multihashlistFree(SCIP_MULTIHASHLIST **multihashlist, BMS_BLKMEM *blkmem)
static SCIP_RETCODE multihashlistAppend(SCIP_MULTIHASHLIST **multihashlist, BMS_BLKMEM *blkmem, void *element)
static SCIP_RETCODE hashtableCheckLoad(SCIP_HASHTABLE *hashtable)
int SCIPptrarrayGetMaxIdx(SCIP_PTRARRAY *ptrarray)
SCIP_RETCODE SCIPrealarraySetVal(SCIP_REALARRAY *realarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, SCIP_Real val)
SCIP_RETCODE SCIPintarraySetVal(SCIP_INTARRAY *intarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, int val)
static SCIP_Bool multihashlistRemove(SCIP_MULTIHASHLIST **multihashlist, BMS_BLKMEM *blkmem, void *element)
static const int primetablesize
#define SCIP_MULTIHASH_MAXSIZE
SCIP_RETCODE SCIPintarrayFree(SCIP_INTARRAY **intarray)
static SCIP_RETCODE queueResize(SCIP_QUEUE *queue, int minsize)
static SCIP_RETCODE queueCheckSize(SCIP_QUEUE *queue)
static int profileFindFeasibleStart(SCIP_PROFILE *profile, int pos, int lst, int duration, int demand, SCIP_Bool *infeasible)
static void tarjan(SCIP_DIGRAPH *digraph, int v, int *lowlink, int *dfsidx, int *stack, int *stacksize, SCIP_Bool *unprocessed, SCIP_Bool *nodeinstack, int *maxdfs, int *strongcomponents, int *nstrongcomponents, int *strongcompstartidx, int *nstorednodes)
void SCIPdisjointsetFree(SCIP_DISJOINTSET **djset, BMS_BLKMEM *blkmem)
static void btnodeFreeLeaf(SCIP_BT *tree, SCIP_BTNODE **node)
static void depthFirstSearch(SCIP_DIGRAPH *digraph, int startnode, SCIP_Bool *visited, int *dfsstack, int *stackadjvisited, int *dfsnodes, int *ndfsnodes)
int SCIPptrarrayGetMinIdx(SCIP_PTRARRAY *ptrarray)
static SCIP_RETCODE profileUpdate(SCIP_PROFILE *profile, int left, int right, int demand, int *pos, SCIP_Bool *infeasible)
static SCIP_RETCODE ensureSuccessorsSize(SCIP_DIGRAPH *digraph, int idx, int newsize)
static SCIP_RETCODE profileInsertTimepoint(SCIP_PROFILE *profile, int timepoint, int *pos)
SCIP_RETCODE SCIPptrarrayExtend(SCIP_PTRARRAY *ptrarray, int arraygrowinit, SCIP_Real arraygrowfac, int minidx, int maxidx)
SCIP_RETCODE SCIPboolarrayExtend(SCIP_BOOLARRAY *boolarray, int arraygrowinit, SCIP_Real arraygrowfac, int minidx, int maxidx)
SCIP_RETCODE SCIPptrarrayCopy(SCIP_PTRARRAY **ptrarray, BMS_BLKMEM *blkmem, SCIP_PTRARRAY *sourceptrarray)
static void * multihashlistRetrieve(SCIP_MULTIHASHLIST *multihashlist, SCIP_DECL_HASHGETKEY((*hashgetkey)), SCIP_DECL_HASHKEYEQ((*hashkeyeq)), SCIP_DECL_HASHKEYVAL((*hashkeyval)), void *userptr, uint64_t keyval, void *key)
static SCIP_RETCODE hashtableInsert(SCIP_HASHTABLE *hashtable, void *element, void *key, uint32_t hashval, SCIP_Bool override)
static void btPrintSubtree(SCIP_BTNODE *node, FILE *file, int *nnodes)
int SCIPboolarrayGetMaxIdx(SCIP_BOOLARRAY *boolarray)
static const SCIP_Real studentt_quartilesabove[]
void SCIPrandomFree(SCIP_RANDNUMGEN **randnumgen, BMS_BLKMEM *blkmem)
static int getRand(unsigned int *seedp)
SCIP_RETCODE SCIPdisjointsetCreate(SCIP_DISJOINTSET **djset, BMS_BLKMEM *blkmem, int ncomponents)
SCIP_RETCODE SCIPrandomCreate(SCIP_RANDNUMGEN **randnumgen, BMS_BLKMEM *blkmem, unsigned int initialseed)
SCIP_RETCODE SCIPintarrayCopy(SCIP_INTARRAY **intarray, BMS_BLKMEM *blkmem, SCIP_INTARRAY *sourceintarray)
SCIP_RETCODE SCIPptrarrayClear(SCIP_PTRARRAY *ptrarray)
static SCIP_RETCODE hashmapInsert(SCIP_HASHMAP *hashmap, void *origin, SCIP_HASHMAPIMAGE image, uint32_t hashval, SCIP_Bool override)
int SCIPrealarrayGetMaxIdx(SCIP_REALARRAY *realarray)
SCIP_RETCODE SCIPdigraphCreate(SCIP_DIGRAPH **digraph, BMS_BLKMEM *blkmem, int nnodes)
static uint32_t hashSetDesiredPos(SCIP_HASHSET *hashset, void *element)
int SCIPintarrayGetMaxIdx(SCIP_INTARRAY *intarray)
SCIP_RETCODE SCIPintarrayCreate(SCIP_INTARRAY **intarray, BMS_BLKMEM *blkmem)
static SCIP_RETCODE hashsetCheckLoad(SCIP_HASHSET *hashset, BMS_BLKMEM *blkmem)
static void regressionRecompute(SCIP_REGRESSION *regression)
#define STARTSUCCESSORSSIZE
SCIP_Real SCIPrealarrayGetVal(SCIP_REALARRAY *realarray, int idx)
SCIP_RETCODE SCIPptrarrayFree(SCIP_PTRARRAY **ptrarray)
SCIP_RETCODE SCIPintarrayClear(SCIP_INTARRAY *intarray)
#define SCIP_MULTIHASH_RESIZE_PERCENTAGE
SCIP_RETCODE SCIPrealarrayIncVal(SCIP_REALARRAY *realarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, SCIP_Real incval)
int SCIPrealarrayGetMinIdx(SCIP_REALARRAY *realarray)
SCIP_RETCODE SCIPrealarrayCreate(SCIP_REALARRAY **realarray, BMS_BLKMEM *blkmem)
static const int nscalars
SCIP_RETCODE SCIPrealarrayClear(SCIP_REALARRAY *realarray)
int SCIPboolarrayGetMinIdx(SCIP_BOOLARRAY *boolarray)
static int calcGrowSize(int initsize, SCIP_Real growfac, int num)
static const SCIP_Real studentt_quartiles[]
static const int studentt_maxdf
static uint32_t randomGetRand(SCIP_RANDNUMGEN *randnumgen)
static uint32_t hashvalue(uint64_t input)
static void findArticulationPointsUtil(SCIP_DIGRAPH *digraph, int startnode, SCIP_Bool *visited, int *tdisc, int *mindisc, int *parent, SCIP_Bool *articulationflag, int time)
static void queueCheckMarker(SCIP_QUEUE *queue)
static int profileFindDownFeasibleStart(SCIP_PROFILE *profile, int pos, int ect, int duration, int demand, SCIP_Bool *infeasible)
int SCIPintarrayGetMinIdx(SCIP_INTARRAY *intarray)
static SCIP_RETCODE pqueueResize(SCIP_PQUEUE *pqueue, int minsize)
SCIP_RETCODE SCIPrealarrayCopy(SCIP_REALARRAY **realarray, BMS_BLKMEM *blkmem, SCIP_REALARRAY *sourcerealarray)
static SCIP_RETCODE hashmapCheckLoad(SCIP_HASHMAP *hashmap)
void * SCIPptrarrayGetVal(SCIP_PTRARRAY *ptrarray, int idx)
void SCIPrandomSetSeed(SCIP_RANDNUMGEN *randnumgen, unsigned int initseed)
SCIP_RETCODE SCIPintarrayExtend(SCIP_INTARRAY *intarray, int arraygrowinit, SCIP_Real arraygrowfac, int minidx, int maxidx)
#define SCIP_MULTIHASH_GROW_FACTOR
static SCIP_RETCODE multihashResize(SCIP_MULTIHASH *multihash)
SCIP_RETCODE SCIPboolarrayCreate(SCIP_BOOLARRAY **boolarray, BMS_BLKMEM *blkmem)
static SCIP_RETCODE ensureProfileSize(SCIP_PROFILE *profile, int neededsize)
static SCIP_Bool isIntegralScalar(SCIP_Real val, SCIP_Real scalar, SCIP_Real mindelta, SCIP_Real maxdelta)
SCIP_Real SCIPnegateReal(SCIP_Real x)
static SCIP_RETCODE btnodeCreateEmpty(SCIP_BT *tree, SCIP_BTNODE **node)
SCIP_RETCODE SCIPboolarrayClear(SCIP_BOOLARRAY *boolarray)
static void * multihashlistRetrieveNext(SCIP_MULTIHASHLIST **multihashlist, SCIP_DECL_HASHGETKEY((*hashgetkey)), SCIP_DECL_HASHKEYEQ((*hashkeyeq)), SCIP_DECL_HASHKEYVAL((*hashkeyval)), void *userptr, uint64_t keyval, void *key)
SCIP_RETCODE SCIPintarrayIncVal(SCIP_INTARRAY *intarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, int incval)
int SCIPintarrayGetVal(SCIP_INTARRAY *intarray, int idx)
static SCIP_Bool hashmapLookup(SCIP_HASHMAP *hashmap, void *origin, uint32_t *pos)
static const SCIP_Real scalars[]
SCIP_RETCODE SCIPdigraphCopy(SCIP_DIGRAPH **targetdigraph, SCIP_DIGRAPH *sourcedigraph, BMS_BLKMEM *targetblkmem)
SCIP_RETCODE SCIPptrarrayCreate(SCIP_PTRARRAY **ptrarray, BMS_BLKMEM *blkmem)
SCIP_RETCODE SCIPptrarraySetVal(SCIP_PTRARRAY *ptrarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, void *val)
static const SCIP_Real simplednoms[]
static SCIP_Real getRandomReal(SCIP_Real minrandval, SCIP_Real maxrandval, unsigned int *seedp)
static SCIP_MULTIHASHLIST * multihashlistFind(SCIP_MULTIHASHLIST *multihashlist, SCIP_DECL_HASHGETKEY((*hashgetkey)), SCIP_DECL_HASHKEYEQ((*hashkeyeq)), SCIP_DECL_HASHKEYVAL((*hashkeyval)), void *userptr, uint64_t keyval, void *key)
SCIP_RETCODE SCIPrealarrayFree(SCIP_REALARRAY **realarray)
static void hashsetInsert(SCIP_HASHSET *hashset, void *element)
SCIP_RETCODE SCIPboolarraySetVal(SCIP_BOOLARRAY *boolarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, SCIP_Bool val)
static int getRandomInt(int minrandval, int maxrandval, unsigned int *seedp)
internal miscellaneous methods
public methods for message output
public data structures and miscellaneous methods
template functions for sorting
SCIP_HASHMAPTYPE hashmaptype
SCIP_HASHMAPENTRY * slots
SCIP_MULTIHASHLIST * next
SCIP_QUEUEELEMENT * slots
miscellaneous datastructures
@ SCIP_HASHMAPTYPE_POINTER
@ SCIP_HASHMAPTYPE_UNKNOWN
#define SCIP_DECL_PQUEUEELEMCHGPOS(x)
#define SCIP_DECL_SORTPTRCOMP(x)
#define SCIP_DECL_HASHKEYEQ(x)
#define SCIP_DECL_SORTINDCOMP(x)
#define SCIP_DECL_NEWTONEVAL(x)
#define SCIP_DECL_HASHGETKEY(x)
#define SCIP_DECL_HASHKEYVAL(x)
enum SCIP_Confidencelevel SCIP_CONFIDENCELEVEL
@ SCIP_KEYALREADYEXISTING
enum SCIP_Retcode SCIP_RETCODE