60#define SQRTOFTWO 1.4142136
77 1.000, 2.414, 3.078, 6.314, 12.706,
78 0.816, 1.604, 1.886, 2.920, 4.303,
79 0.765, 1.423, 1.638, 2.353, 3.182,
80 0.741, 1.344, 1.533, 2.132, 2.776,
81 0.727, 1.301, 1.476, 2.015, 2.571,
82 0.718, 1.273, 1.440, 1.943, 2.447,
83 0.711, 1.254, 1.415, 1.895, 2.365,
84 0.706, 1.240, 1.397, 1.860, 2.306,
85 0.703, 1.230, 1.383, 1.833, 2.262,
86 0.700, 1.221, 1.372, 1.812, 2.228,
87 0.697, 1.214, 1.363, 1.796, 2.201,
88 0.695, 1.209, 1.356, 1.782, 2.179,
89 0.694, 1.204, 1.350, 1.771, 2.160,
90 0.692, 1.200, 1.345, 1.761, 2.145,
91 0.691, 1.197, 1.341, 1.753, 2.131
98 0.674, 1.150, 1.282, 1.645, 1.960
159#if defined(_WIN32) || defined(_WIN64)
170 sign = (
x >= 0) ? 1 : -1;
214 if( value <
mean + 1
e-9 )
269 return regression->
slope;
298 regression->
slope = 0.0;
406 regression->
meanx = 0;
408 regression->
sumxy = 0;
409 regression->
meany = 0;
486#define GMLNODEWIDTH 120.0
487#define GMLNODEHEIGTH 30.0
488#define GMLFONTSIZE 13
489#define GMLNODETYPE "rectangle"
490#define GMLNODEFILLCOLOR "#ff0000"
491#define GMLEDGECOLOR "black"
492#define GMLNODEBORDERCOLOR "#000000"
500 const char* nodetype,
517 if( nodetype !=
NULL )
518 fprintf(file,
" type \"%s\"\n", nodetype);
533 fprintf(file,
" LabelGraphics\n");
537 fprintf(file,
" fontName \"Dialog\"\n");
538 fprintf(file,
" anchor \"c\"\n");
548 const char* nodetype,
561 fprintf(file,
" weight %g\n", weight);
567 if( nodetype !=
NULL )
568 fprintf(file,
" type \"%s\"\n", nodetype);
583 fprintf(file,
" LabelGraphics\n");
587 fprintf(file,
" fontName \"Dialog\"\n");
588 fprintf(file,
" anchor \"c\"\n");
616 fprintf(file,
" fill \"%s\"\n", color);
625 fprintf(file,
" LabelGraphics\n");
629 fprintf(file,
" fontName \"Dialog\"\n");
630 fprintf(file,
" anchor \"c\"\n");
660 fprintf(file,
" fill \"%s\"\n", color);
664 fprintf(file,
" targetArrow \"standard\"\n");
669 fprintf(file,
" LabelGraphics\n");
673 fprintf(file,
" fontName \"Dialog\"\n");
674 fprintf(file,
" anchor \"c\"\n");
691 fprintf(file,
" hierarchic 1\n");
694 fprintf(file,
" directed 1\n");
736 for( v =
nvars - 1; v >= 0; --v )
759 (*sparsesol)->nvars =
nvars;
825 SCIP_Longint* lbvalues;
836 for( v = 0; v <
nvars; ++v )
837 sol[v] = lbvalues[v];
848 SCIP_Longint* lbvalues;
849 SCIP_Longint* ubvalues;
873 for( v = 0; v <
nvars; ++v )
952 sizefac =
MAX(1.0, sizefac);
955 (*queue)->firstfree = 0;
956 (*queue)->firstused = -1;
958 (*queue)->sizefac = sizefac;
959 (*queue)->slots =
NULL;
1221#define PQ_PARENT(q) (((q)+1)/2-1)
1222#define PQ_LEFTCHILD(p) (2*(p)+1)
1223#define PQ_RIGHTCHILD(p) (2*(p)+2)
1257 sizefac =
MAX(1.0, sizefac);
1261 (*pqueue)->size = 0;
1262 (*pqueue)->sizefac = sizefac;
1263 (*pqueue)->slots =
NULL;
1304 if( pqueue->elemchgpos !=
NULL )
1310#ifdef SCIP_MORE_DEBUG
1374#ifdef SCIP_MORE_DEBUG
1400 if( pos == pqueue->
len )
1408 while( pos > 0 && (*pqueue->ptrcomp)(last, pqueue->
slots[
PQ_PARENT(pos)]) < 0 )
1423 if( (*pqueue->ptrcomp)(last, pqueue->
slots[
childpos]) <= 0 )
1437#ifdef SCIP_MORE_DEBUG
1452 if( pqueue->
len == 0 )
1455 root = pqueue->
slots[0];
1470 if( pqueue->
len == 0 )
1473 return pqueue->
slots[0];
1495 return pqueue->
slots;
1583 return ( (uint32_t) ((
UINT64_C(0x9e3779b97f4a7c15) *
input)>>32) ) | 1u;
1712 SCIPerrorMessage(
"WARNING: hashkey with same value exists multiple times (e.g. duplicate constraint/variable names), so the return value is maybe not correct\n");
1788#define SCIP_MULTIHASH_MAXSIZE 33554431
1789#define SCIP_MULTIHASH_RESIZE_PERCENTAGE 65
1790#define SCIP_MULTIHASH_GROW_FACTOR 1.31
1800 SCIP_Longint nelements;
1854 while( next !=
NULL )
1888#ifdef SCIP_MORE_DEBUG
1931 (*multihash)->blkmem = blkmem;
1936 (*multihash)->userptr = userptr;
1937 (*multihash)->nelements = 0;
1955 table = (*multihash);
1956 blkmem =
table->blkmem;
1957 lists =
table->lists;
1960 for(
i =
table->nlists - 1;
i >= 0; --
i )
2275 (*hashtable)->shift = 32;
2279 nslots = 1u << (32 - (*hashtable)->shift);
2282 (*hashtable)->mask =
nslots - 1;
2285 (*hashtable)->blkmem = blkmem;
2289 (*hashtable)->userptr = userptr;
2290 (*hashtable)->nelements = 0;
2306 nslots = (*hashtable)->mask + 1;
2317 if(
table->hashes[
i] != 0 )
2326 (
unsigned int)
table->nelements, (
unsigned int)
table->nelements, (
unsigned int)
nslots,
2327 100.0*(SCIP_Real)
table->nelements/(SCIP_Real)(
nslots));
2328 if(
table->nelements > 0 )
2356#define ELEM_DISTANCE(pos) (((pos) + hashtable->mask + 1 - (hashtable->hashes[(pos)]>>(hashtable->shift))) & hashtable->mask)
2390 if( hashtable->
hashes[pos] == 0 )
2392 hashtable->
slots[pos] = element;
2399 hashtable->hashgetkey(hashtable->
userptr, hashtable->
slots[pos]), key) )
2406 hashtable->
slots[pos] = element;
2428 key = hashtable->hashgetkey(hashtable->
userptr, element);
2437 pos = (pos + 1) & hashtable->
mask;
2452 if( ((((uint64_t)hashtable->
nelements)<<10)>>(32-hashtable->
shift) > 921) )
2480 if( hashes[
i] != 0 )
2518 key = hashtable->hashgetkey(hashtable->
userptr, element);
2550 key = hashtable->hashgetkey(hashtable->
userptr, element);
2589 if( hashtable->
hashes[pos] == 0 )
2600 hashtable->hashgetkey(hashtable->
userptr, hashtable->
slots[pos]), key) )
2601 return hashtable->
slots[pos];
2603 pos = (pos + 1) & hashtable->
mask;
2649 key = hashtable->hashgetkey(hashtable->
userptr, element);
2658 if( hashtable->
hashes[pos] == 0 )
2668 hashtable->hashgetkey(hashtable->
userptr, hashtable->
slots[pos]), key) )
2674 pos = (pos + 1) & hashtable->
mask;
2679 hashtable->
hashes[pos] = 0;
2683 uint32_t nextpos = (pos + 1) & hashtable->
mask;
2686 if( hashtable->
hashes[nextpos] == 0 )
2690 if( (hashtable->
hashes[nextpos]>>(hashtable->
shift)) == nextpos )
2694 hashtable->
slots[pos] = hashtable->
slots[nextpos];
2696 hashtable->
hashes[nextpos] = 0;
2731 return (
int) hashtable->
mask + 1;
2750 return ((SCIP_Real)(hashtable->
nelements) / (hashtable->
mask + 1) * 100.0);
2771 if( hashtable->
hashes[
i] != 0 )
2794 const char*
string1 = (
const char*)key1;
2795 const char*
string2 = (
const char*)key2;
2806 str = (
const char*)key;
2808 while( *
str !=
'\0' )
2829 return (key1 == key2);
2836 return (uint64_t) (uintptr_t) key;
2848#define ELEM_DISTANCE(pos) (((pos) + hashmap->mask + 1 - (hashmap->hashes[(pos)]>>(hashmap->shift))) & hashmap->mask)
2876 if( hashmap->
hashes[pos] == 0 )
2919 pos = (pos + 1) & hashmap->
mask;
2954 if( hashmap->
hashes[*pos] == 0 )
2966 *pos = (*pos + 1) & hashmap->
mask;
2981 if( ((((uint64_t)hashmap->
nelements)<<10)>>(32-hashmap->
shift) > 921) )
3009 if( hashes[
i] != 0 )
3043 (*hashmap)->shift = 32;
3045 nslots = 1u << (32 - (*hashmap)->shift);
3046 (*hashmap)->mask =
nslots - 1;
3047 (*hashmap)->blkmem = blkmem;
3048 (*hashmap)->nelements = 0;
3067 nslots = (*hashmap)->mask + 1;
3078 if( (*hashmap)->hashes[
i] != 0 )
3080 uint32_t
probelen = ((
i + (*hashmap)->mask + 1 - ((*hashmap)->hashes[
i]>>((*hashmap)->shift))) & (*hashmap)->mask) + 1;
3087 (
unsigned int)(*hashmap)->nelements, (
unsigned int)(*hashmap)->nelements, (
unsigned int)
nslots,
3088 100.0*(SCIP_Real)(*hashmap)->nelements/(SCIP_Real)(
nslots));
3089 if( (*hashmap)->nelements > 0 )
3090 SCIPdebugPrintf(
", avg. probe length is %.1f, max. probe length is %u",
3168 img.integer = image;
3332 img.integer = image;
3405 hashmap->
hashes[pos] = 0;
3411 uint32_t nextpos = (pos + 1) & hashmap->
mask;
3414 if( hashmap->
hashes[nextpos] == 0 )
3418 if( (hashmap->
hashes[nextpos]>>(hashmap->
shift)) == nextpos )
3425 hashmap->
hashes[nextpos] = 0;
3495 return (
int) hashmap->
mask + 1;
3516 return entry->origin;
3526 return entry->image.ptr;
3536 return entry->image.integer;
3546 return entry->image.real;
3557 entry->image.ptr = image;
3568 entry->image.integer = image;
3579 entry->image.real = image;
3604#define ELEM_DISTANCE(pos) (((pos) + nslots - hashSetDesiredPos(hashset, hashset->slots[(pos)])) & mask)
3613 return (uint32_t)((
UINT64_C(0x9e3779b97f4a7c15) * (uintptr_t)element)>>(
hashset->shift));
3643 hashset->slots[pos] = element;
3648 if(
hashset->slots[pos] == element )
3661 pos = (pos + 1) & mask;
3677 if( ((((uint64_t)
hashset->nelements)<<10)>>(64-
hashset->shift) > 921) )
3698 if( slots[
i] !=
NULL )
3729 (*hashset)->shift = 64;
3730 (*hashset)->shift -= (
unsigned int)
ceil(
log(
MAX(8.0, size / 0.9)) /
log(2.0));
3732 (*hashset)->nelements = 0;
3790 if(
hashset->slots[pos] == element )
3802 pos = (pos + 1) & mask;
3832 if(
hashset->slots[pos] == element )
3844 pos = (pos + 1) & mask;
3857 uint32_t nextpos = (pos + 1) & mask;
3912 (
unsigned int)
hashset->nelements, (
unsigned int)
hashset->nelements,
3928#undef SCIPhashsetIsEmpty
3929#undef SCIPhashsetGetNElements
3930#undef SCIPhashsetGetNSlots
3931#undef SCIPhashsetGetSlots
3938 return hashset->nelements == 0;
3946 return (
int)
hashset->nelements;
3954 return (
int) (1u << (64 -
hashset->shift));
3989 (*realarray)->blkmem = blkmem;
3990 (*realarray)->vals =
NULL;
3991 (*realarray)->valssize = 0;
3992 (*realarray)->firstidx = -1;
3993 (*realarray)->minusedidx =
INT_MAX;
3994 (*realarray)->maxusedidx =
INT_MIN;
4041 SCIP_Real arraygrowfac,
4057 assert(minidx <= maxidx);
4062 assert(minidx <= maxidx);
4064 SCIPdebugMessage(
"extending realarray %p (firstidx=%d, size=%d, range=[%d,%d]) to range [%d,%d]\n",
4068 nused = maxidx - minidx + 1;
4149 for(
i = 0;
i < shift; ++
i )
4180 for(
i = 0;
i < shift; ++
i )
4199 SCIPdebugMessage(
"clearing realarray %p (firstidx=%d, size=%d, range=[%d,%d])\n",
4248 SCIP_Real arraygrowfac,
4256 SCIPdebugMessage(
"setting realarray %p (firstidx=%d, size=%d, range=[%d,%d]) index %d to %g\n",
4317 SCIP_Real arraygrowfac,
4361 (*intarray)->blkmem = blkmem;
4362 (*intarray)->vals =
NULL;
4363 (*intarray)->valssize = 0;
4364 (*intarray)->firstidx = -1;
4365 (*intarray)->minusedidx =
INT_MAX;
4366 (*intarray)->maxusedidx =
INT_MIN;
4412 SCIP_Real arraygrowfac,
4428 assert(minidx <= maxidx);
4433 assert(minidx <= maxidx);
4435 SCIPdebugMessage(
"extending intarray %p (firstidx=%d, size=%d, range=[%d,%d]) to range [%d,%d]\n",
4439 nused = maxidx - minidx + 1;
4481 else if(
intarray->firstidx == -1 )
4520 for(
i = 0;
i < shift; ++
i )
4551 for(
i = 0;
i < shift; ++
i )
4570 SCIPdebugMessage(
"clearing intarray %p (firstidx=%d, size=%d, range=[%d,%d])\n",
4619 SCIP_Real arraygrowfac,
4627 SCIPdebugMessage(
"setting intarray %p (firstidx=%d, size=%d, range=[%d,%d]) index %d to %d\n",
4666 else if( idx ==
intarray->maxusedidx )
4687 SCIP_Real arraygrowfac,
4726 (*boolarray)->blkmem = blkmem;
4727 (*boolarray)->vals =
NULL;
4728 (*boolarray)->valssize = 0;
4729 (*boolarray)->firstidx = -1;
4730 (*boolarray)->minusedidx =
INT_MAX;
4731 (*boolarray)->maxusedidx =
INT_MIN;
4778 SCIP_Real arraygrowfac,
4794 assert(minidx <= maxidx);
4799 assert(minidx <= maxidx);
4801 SCIPdebugMessage(
"extending boolarray %p (firstidx=%d, size=%d, range=[%d,%d]) to range [%d,%d]\n",
4805 nused = maxidx - minidx + 1;
4886 for(
i = 0;
i < shift; ++
i )
4919 for(
i = 0;
i < shift; ++
i )
4938 SCIPdebugMessage(
"clearing boolarray %p (firstidx=%d, size=%d, range=[%d,%d])\n",
4987 SCIP_Real arraygrowfac,
4995 SCIPdebugMessage(
"setting boolarray %p (firstidx=%d, size=%d, range=[%d,%d]) index %d to %u\n",
5082 (*ptrarray)->blkmem = blkmem;
5083 (*ptrarray)->vals =
NULL;
5084 (*ptrarray)->valssize = 0;
5085 (*ptrarray)->firstidx = -1;
5086 (*ptrarray)->minusedidx =
INT_MAX;
5087 (*ptrarray)->maxusedidx =
INT_MIN;
5133 SCIP_Real arraygrowfac,
5149 assert(minidx <= maxidx);
5154 assert(minidx <= maxidx);
5156 SCIPdebugMessage(
"extending ptrarray %p (firstidx=%d, size=%d, range=[%d,%d]) to range [%d,%d]\n",
5160 nused = maxidx - minidx + 1;
5202 else if(
ptrarray->firstidx == -1 )
5241 for(
i = 0;
i < shift; ++
i )
5272 for(
i = 0;
i < shift; ++
i )
5291 SCIPdebugMessage(
"clearing ptrarray %p (firstidx=%d, size=%d, range=[%d,%d])\n",
5340 SCIP_Real arraygrowfac,
5348 SCIPdebugMessage(
"setting ptrarray %p (firstidx=%d, size=%d, range=[%d,%d]) index %d to %p\n",
5387 else if( idx ==
ptrarray->maxusedidx )
5463 for( pos = 0; pos < len; ++pos )
5470#define SORTTPL_NAMEEXT Ind
5471#define SORTTPL_KEYTYPE int
5472#define SORTTPL_INDCOMP
5477#define SORTTPL_NAMEEXT Ptr
5478#define SORTTPL_KEYTYPE void*
5479#define SORTTPL_PTRCOMP
5484#define SORTTPL_NAMEEXT PtrPtr
5485#define SORTTPL_KEYTYPE void*
5486#define SORTTPL_FIELD1TYPE void*
5487#define SORTTPL_PTRCOMP
5492#define SORTTPL_NAMEEXT PtrReal
5493#define SORTTPL_KEYTYPE void*
5494#define SORTTPL_FIELD1TYPE SCIP_Real
5495#define SORTTPL_PTRCOMP
5500#define SORTTPL_NAMEEXT PtrInt
5501#define SORTTPL_KEYTYPE void*
5502#define SORTTPL_FIELD1TYPE int
5503#define SORTTPL_PTRCOMP
5508#define SORTTPL_NAMEEXT PtrBool
5509#define SORTTPL_KEYTYPE void*
5510#define SORTTPL_FIELD1TYPE SCIP_Bool
5511#define SORTTPL_PTRCOMP
5516#define SORTTPL_NAMEEXT PtrIntInt
5517#define SORTTPL_KEYTYPE void*
5518#define SORTTPL_FIELD1TYPE int
5519#define SORTTPL_FIELD2TYPE int
5520#define SORTTPL_PTRCOMP
5525#define SORTTPL_NAMEEXT PtrRealInt
5526#define SORTTPL_KEYTYPE void*
5527#define SORTTPL_FIELD1TYPE SCIP_Real
5528#define SORTTPL_FIELD2TYPE int
5529#define SORTTPL_PTRCOMP
5533#define SORTTPL_NAMEEXT PtrRealRealInt
5534#define SORTTPL_KEYTYPE void*
5535#define SORTTPL_FIELD1TYPE SCIP_Real
5536#define SORTTPL_FIELD2TYPE SCIP_Real
5537#define SORTTPL_FIELD3TYPE int
5538#define SORTTPL_PTRCOMP
5542#define SORTTPL_NAMEEXT PtrRealRealBoolBool
5543#define SORTTPL_KEYTYPE void*
5544#define SORTTPL_FIELD1TYPE SCIP_Real
5545#define SORTTPL_FIELD2TYPE SCIP_Real
5546#define SORTTPL_FIELD3TYPE SCIP_Bool
5547#define SORTTPL_FIELD4TYPE SCIP_Bool
5548#define SORTTPL_PTRCOMP
5552#define SORTTPL_NAMEEXT PtrRealRealIntBool
5553#define SORTTPL_KEYTYPE void*
5554#define SORTTPL_FIELD1TYPE SCIP_Real
5555#define SORTTPL_FIELD2TYPE SCIP_Real
5556#define SORTTPL_FIELD3TYPE int
5557#define SORTTPL_FIELD4TYPE SCIP_Bool
5558#define SORTTPL_PTRCOMP
5562#define SORTTPL_NAMEEXT PtrRealBool
5563#define SORTTPL_KEYTYPE void*
5564#define SORTTPL_FIELD1TYPE SCIP_Real
5565#define SORTTPL_FIELD2TYPE SCIP_Bool
5566#define SORTTPL_PTRCOMP
5571#define SORTTPL_NAMEEXT PtrPtrInt
5572#define SORTTPL_KEYTYPE void*
5573#define SORTTPL_FIELD1TYPE void*
5574#define SORTTPL_FIELD2TYPE int
5575#define SORTTPL_PTRCOMP
5580#define SORTTPL_NAMEEXT PtrPtrReal
5581#define SORTTPL_KEYTYPE void*
5582#define SORTTPL_FIELD1TYPE void*
5583#define SORTTPL_FIELD2TYPE SCIP_Real
5584#define SORTTPL_PTRCOMP
5589#define SORTTPL_NAMEEXT PtrRealIntInt
5590#define SORTTPL_KEYTYPE void*
5591#define SORTTPL_FIELD1TYPE SCIP_Real
5592#define SORTTPL_FIELD2TYPE int
5593#define SORTTPL_FIELD3TYPE int
5594#define SORTTPL_PTRCOMP
5599#define SORTTPL_NAMEEXT PtrPtrIntInt
5600#define SORTTPL_KEYTYPE void*
5601#define SORTTPL_FIELD1TYPE void*
5602#define SORTTPL_FIELD2TYPE int
5603#define SORTTPL_FIELD3TYPE int
5604#define SORTTPL_PTRCOMP
5609#define SORTTPL_NAMEEXT PtrPtrRealInt
5610#define SORTTPL_KEYTYPE void*
5611#define SORTTPL_FIELD1TYPE void*
5612#define SORTTPL_FIELD2TYPE SCIP_Real
5613#define SORTTPL_FIELD3TYPE int
5614#define SORTTPL_PTRCOMP
5619#define SORTTPL_NAMEEXT PtrPtrRealBool
5620#define SORTTPL_KEYTYPE void*
5621#define SORTTPL_FIELD1TYPE void*
5622#define SORTTPL_FIELD2TYPE SCIP_Real
5623#define SORTTPL_FIELD3TYPE SCIP_Bool
5624#define SORTTPL_PTRCOMP
5629#define SORTTPL_NAMEEXT PtrPtrLongInt
5630#define SORTTPL_KEYTYPE void*
5631#define SORTTPL_FIELD1TYPE void*
5632#define SORTTPL_FIELD2TYPE SCIP_Longint
5633#define SORTTPL_FIELD3TYPE int
5634#define SORTTPL_PTRCOMP
5639#define SORTTPL_NAMEEXT PtrPtrLongIntInt
5640#define SORTTPL_KEYTYPE void*
5641#define SORTTPL_FIELD1TYPE void*
5642#define SORTTPL_FIELD2TYPE SCIP_Longint
5643#define SORTTPL_FIELD3TYPE int
5644#define SORTTPL_FIELD4TYPE int
5645#define SORTTPL_PTRCOMP
5650#define SORTTPL_NAMEEXT Real
5651#define SORTTPL_KEYTYPE SCIP_Real
5656#define SORTTPL_NAMEEXT RealBoolPtr
5657#define SORTTPL_KEYTYPE SCIP_Real
5658#define SORTTPL_FIELD1TYPE SCIP_Bool
5659#define SORTTPL_FIELD2TYPE void*
5664#define SORTTPL_NAMEEXT RealPtr
5665#define SORTTPL_KEYTYPE SCIP_Real
5666#define SORTTPL_FIELD1TYPE void*
5671#define SORTTPL_NAMEEXT RealInt
5672#define SORTTPL_KEYTYPE SCIP_Real
5673#define SORTTPL_FIELD1TYPE int
5678#define SORTTPL_NAMEEXT RealIntInt
5679#define SORTTPL_KEYTYPE SCIP_Real
5680#define SORTTPL_FIELD1TYPE int
5681#define SORTTPL_FIELD2TYPE int
5686#define SORTTPL_NAMEEXT RealIntLong
5687#define SORTTPL_KEYTYPE SCIP_Real
5688#define SORTTPL_FIELD1TYPE int
5689#define SORTTPL_FIELD2TYPE SCIP_Longint
5694#define SORTTPL_NAMEEXT RealIntPtr
5695#define SORTTPL_KEYTYPE SCIP_Real
5696#define SORTTPL_FIELD1TYPE int
5697#define SORTTPL_FIELD2TYPE void*
5702#define SORTTPL_NAMEEXT RealRealPtr
5703#define SORTTPL_KEYTYPE SCIP_Real
5704#define SORTTPL_FIELD1TYPE SCIP_Real
5705#define SORTTPL_FIELD2TYPE void*
5710#define SORTTPL_NAMEEXT RealLongRealInt
5711#define SORTTPL_KEYTYPE SCIP_Real
5712#define SORTTPL_FIELD1TYPE SCIP_Longint
5713#define SORTTPL_FIELD2TYPE SCIP_Real
5714#define SORTTPL_FIELD3TYPE int
5718#define SORTTPL_NAMEEXT RealRealIntInt
5719#define SORTTPL_KEYTYPE SCIP_Real
5720#define SORTTPL_FIELD1TYPE SCIP_Real
5721#define SORTTPL_FIELD2TYPE int
5722#define SORTTPL_FIELD3TYPE int
5727#define SORTTPL_NAMEEXT RealRealRealInt
5728#define SORTTPL_KEYTYPE SCIP_Real
5729#define SORTTPL_FIELD1TYPE SCIP_Real
5730#define SORTTPL_FIELD2TYPE SCIP_Real
5731#define SORTTPL_FIELD3TYPE int
5736#define SORTTPL_NAMEEXT RealRealRealPtr
5737#define SORTTPL_KEYTYPE SCIP_Real
5738#define SORTTPL_FIELD1TYPE SCIP_Real
5739#define SORTTPL_FIELD2TYPE SCIP_Real
5740#define SORTTPL_FIELD3TYPE void*
5745#define SORTTPL_NAMEEXT RealPtrPtrInt
5746#define SORTTPL_KEYTYPE SCIP_Real
5747#define SORTTPL_FIELD1TYPE void*
5748#define SORTTPL_FIELD2TYPE void*
5749#define SORTTPL_FIELD3TYPE int
5754#define SORTTPL_NAMEEXT RealPtrPtrIntInt
5755#define SORTTPL_KEYTYPE SCIP_Real
5756#define SORTTPL_FIELD1TYPE void*
5757#define SORTTPL_FIELD2TYPE void*
5758#define SORTTPL_FIELD3TYPE int
5759#define SORTTPL_FIELD4TYPE int
5764#define SORTTPL_NAMEEXT RealRealRealBoolPtr
5765#define SORTTPL_KEYTYPE SCIP_Real
5766#define SORTTPL_FIELD1TYPE SCIP_Real
5767#define SORTTPL_FIELD2TYPE SCIP_Real
5768#define SORTTPL_FIELD3TYPE SCIP_Bool
5769#define SORTTPL_FIELD4TYPE void*
5774#define SORTTPL_NAMEEXT RealRealRealBoolBoolPtr
5775#define SORTTPL_KEYTYPE SCIP_Real
5776#define SORTTPL_FIELD1TYPE SCIP_Real
5777#define SORTTPL_FIELD2TYPE SCIP_Real
5778#define SORTTPL_FIELD3TYPE SCIP_Bool
5779#define SORTTPL_FIELD4TYPE SCIP_Bool
5780#define SORTTPL_FIELD5TYPE void*
5785#define SORTTPL_NAMEEXT Int
5786#define SORTTPL_KEYTYPE int
5791#define SORTTPL_NAMEEXT IntInt
5792#define SORTTPL_KEYTYPE int
5793#define SORTTPL_FIELD1TYPE int
5798#define SORTTPL_NAMEEXT IntReal
5799#define SORTTPL_KEYTYPE int
5800#define SORTTPL_FIELD1TYPE SCIP_Real
5805#define SORTTPL_NAMEEXT IntPtr
5806#define SORTTPL_KEYTYPE int
5807#define SORTTPL_FIELD1TYPE void*
5812#define SORTTPL_NAMEEXT IntIntInt
5813#define SORTTPL_KEYTYPE int
5814#define SORTTPL_FIELD1TYPE int
5815#define SORTTPL_FIELD2TYPE int
5820#define SORTTPL_NAMEEXT IntIntLong
5821#define SORTTPL_KEYTYPE int
5822#define SORTTPL_FIELD1TYPE int
5823#define SORTTPL_FIELD2TYPE SCIP_Longint
5827#define SORTTPL_NAMEEXT IntRealLong
5828#define SORTTPL_KEYTYPE int
5829#define SORTTPL_FIELD1TYPE SCIP_Real
5830#define SORTTPL_FIELD2TYPE SCIP_Longint
5835#define SORTTPL_NAMEEXT IntIntPtr
5836#define SORTTPL_KEYTYPE int
5837#define SORTTPL_FIELD1TYPE int
5838#define SORTTPL_FIELD2TYPE void*
5843#define SORTTPL_NAMEEXT IntIntReal
5844#define SORTTPL_KEYTYPE int
5845#define SORTTPL_FIELD1TYPE int
5846#define SORTTPL_FIELD2TYPE SCIP_Real
5851#define SORTTPL_NAMEEXT IntPtrReal
5852#define SORTTPL_KEYTYPE int
5853#define SORTTPL_FIELD1TYPE void*
5854#define SORTTPL_FIELD2TYPE SCIP_Real
5859#define SORTTPL_NAMEEXT IntIntIntPtr
5860#define SORTTPL_KEYTYPE int
5861#define SORTTPL_FIELD1TYPE int
5862#define SORTTPL_FIELD2TYPE int
5863#define SORTTPL_FIELD3TYPE void*
5867#define SORTTPL_NAMEEXT IntIntIntReal
5868#define SORTTPL_KEYTYPE int
5869#define SORTTPL_FIELD1TYPE int
5870#define SORTTPL_FIELD2TYPE int
5871#define SORTTPL_FIELD3TYPE SCIP_Real
5875#define SORTTPL_NAMEEXT IntPtrIntReal
5876#define SORTTPL_KEYTYPE int
5877#define SORTTPL_FIELD1TYPE void*
5878#define SORTTPL_FIELD2TYPE int
5879#define SORTTPL_FIELD3TYPE SCIP_Real
5884#define SORTTPL_NAMEEXT Long
5885#define SORTTPL_KEYTYPE SCIP_Longint
5890#define SORTTPL_NAMEEXT LongPtr
5891#define SORTTPL_KEYTYPE SCIP_Longint
5892#define SORTTPL_FIELD1TYPE void*
5897#define SORTTPL_NAMEEXT LongPtrInt
5898#define SORTTPL_KEYTYPE SCIP_Longint
5899#define SORTTPL_FIELD1TYPE void*
5900#define SORTTPL_FIELD2TYPE int
5905#define SORTTPL_NAMEEXT LongPtrRealBool
5906#define SORTTPL_KEYTYPE SCIP_Longint
5907#define SORTTPL_FIELD1TYPE void*
5908#define SORTTPL_FIELD2TYPE SCIP_Real
5909#define SORTTPL_FIELD3TYPE SCIP_Bool
5914#define SORTTPL_NAMEEXT LongPtrRealRealBool
5915#define SORTTPL_KEYTYPE SCIP_Longint
5916#define SORTTPL_FIELD1TYPE void*
5917#define SORTTPL_FIELD2TYPE SCIP_Real
5918#define SORTTPL_FIELD3TYPE SCIP_Real
5919#define SORTTPL_FIELD4TYPE SCIP_Bool
5924#define SORTTPL_NAMEEXT LongPtrRealRealIntBool
5925#define SORTTPL_KEYTYPE SCIP_Longint
5926#define SORTTPL_FIELD1TYPE void*
5927#define SORTTPL_FIELD2TYPE SCIP_Real
5928#define SORTTPL_FIELD3TYPE SCIP_Real
5929#define SORTTPL_FIELD4TYPE int
5930#define SORTTPL_FIELD5TYPE SCIP_Bool
5935#define SORTTPL_NAMEEXT LongPtrPtrInt
5936#define SORTTPL_KEYTYPE SCIP_Longint
5937#define SORTTPL_FIELD1TYPE void*
5938#define SORTTPL_FIELD2TYPE void*
5939#define SORTTPL_FIELD3TYPE int
5944#define SORTTPL_NAMEEXT LongPtrPtrIntInt
5945#define SORTTPL_KEYTYPE SCIP_Longint
5946#define SORTTPL_FIELD1TYPE void*
5947#define SORTTPL_FIELD2TYPE void*
5948#define SORTTPL_FIELD3TYPE int
5949#define SORTTPL_FIELD4TYPE int
5954#define SORTTPL_NAMEEXT LongPtrPtrBoolInt
5955#define SORTTPL_KEYTYPE SCIP_Longint
5956#define SORTTPL_FIELD1TYPE void*
5957#define SORTTPL_FIELD2TYPE void*
5958#define SORTTPL_FIELD3TYPE SCIP_Bool
5959#define SORTTPL_FIELD4TYPE int
5964#define SORTTPL_NAMEEXT PtrIntIntBoolBool
5965#define SORTTPL_KEYTYPE void*
5966#define SORTTPL_FIELD1TYPE int
5967#define SORTTPL_FIELD2TYPE int
5968#define SORTTPL_FIELD3TYPE SCIP_Bool
5969#define SORTTPL_FIELD4TYPE SCIP_Bool
5970#define SORTTPL_PTRCOMP
5975#define SORTTPL_NAMEEXT IntPtrIntIntBoolBool
5976#define SORTTPL_KEYTYPE int
5977#define SORTTPL_FIELD1TYPE void*
5978#define SORTTPL_FIELD2TYPE int
5979#define SORTTPL_FIELD3TYPE int
5980#define SORTTPL_FIELD4TYPE SCIP_Bool
5981#define SORTTPL_FIELD5TYPE SCIP_Bool
6002 for( pos = 0; pos < len; ++pos )
6010#define SORTTPL_NAMEEXT DownInd
6011#define SORTTPL_KEYTYPE int
6012#define SORTTPL_INDCOMP
6013#define SORTTPL_BACKWARDS
6018#define SORTTPL_NAMEEXT DownPtr
6019#define SORTTPL_KEYTYPE void*
6020#define SORTTPL_PTRCOMP
6021#define SORTTPL_BACKWARDS
6026#define SORTTPL_NAMEEXT DownPtrPtr
6027#define SORTTPL_KEYTYPE void*
6028#define SORTTPL_FIELD1TYPE void*
6029#define SORTTPL_PTRCOMP
6030#define SORTTPL_BACKWARDS
6035#define SORTTPL_NAMEEXT DownPtrReal
6036#define SORTTPL_KEYTYPE void*
6037#define SORTTPL_FIELD1TYPE SCIP_Real
6038#define SORTTPL_PTRCOMP
6039#define SORTTPL_BACKWARDS
6044#define SORTTPL_NAMEEXT DownPtrInt
6045#define SORTTPL_KEYTYPE void*
6046#define SORTTPL_FIELD1TYPE int
6047#define SORTTPL_PTRCOMP
6048#define SORTTPL_BACKWARDS
6052#define SORTTPL_NAMEEXT DownPtrBool
6053#define SORTTPL_KEYTYPE void*
6054#define SORTTPL_FIELD1TYPE SCIP_Bool
6055#define SORTTPL_PTRCOMP
6056#define SORTTPL_BACKWARDS
6060#define SORTTPL_NAMEEXT DownPtrIntInt
6061#define SORTTPL_KEYTYPE void*
6062#define SORTTPL_FIELD1TYPE int
6063#define SORTTPL_FIELD2TYPE int
6064#define SORTTPL_PTRCOMP
6065#define SORTTPL_BACKWARDS
6070#define SORTTPL_NAMEEXT DownPtrRealInt
6071#define SORTTPL_KEYTYPE void*
6072#define SORTTPL_FIELD1TYPE SCIP_Real
6073#define SORTTPL_FIELD2TYPE int
6074#define SORTTPL_PTRCOMP
6075#define SORTTPL_BACKWARDS
6080#define SORTTPL_NAMEEXT DownPtrRealBool
6081#define SORTTPL_KEYTYPE void*
6082#define SORTTPL_FIELD1TYPE SCIP_Real
6083#define SORTTPL_FIELD2TYPE SCIP_Bool
6084#define SORTTPL_PTRCOMP
6085#define SORTTPL_BACKWARDS
6090#define SORTTPL_NAMEEXT DownPtrPtrInt
6091#define SORTTPL_KEYTYPE void*
6092#define SORTTPL_FIELD1TYPE void*
6093#define SORTTPL_FIELD2TYPE int
6094#define SORTTPL_PTRCOMP
6095#define SORTTPL_BACKWARDS
6100#define SORTTPL_NAMEEXT DownPtrPtrReal
6101#define SORTTPL_KEYTYPE void*
6102#define SORTTPL_FIELD1TYPE void*
6103#define SORTTPL_FIELD2TYPE SCIP_Real
6104#define SORTTPL_PTRCOMP
6105#define SORTTPL_BACKWARDS
6110#define SORTTPL_NAMEEXT DownPtrRealIntInt
6111#define SORTTPL_KEYTYPE void*
6112#define SORTTPL_FIELD1TYPE SCIP_Real
6113#define SORTTPL_FIELD2TYPE int
6114#define SORTTPL_FIELD3TYPE int
6115#define SORTTPL_PTRCOMP
6116#define SORTTPL_BACKWARDS
6121#define SORTTPL_NAMEEXT DownPtrPtrIntInt
6122#define SORTTPL_KEYTYPE void*
6123#define SORTTPL_FIELD1TYPE void*
6124#define SORTTPL_FIELD2TYPE int
6125#define SORTTPL_FIELD3TYPE int
6126#define SORTTPL_PTRCOMP
6127#define SORTTPL_BACKWARDS
6132#define SORTTPL_NAMEEXT DownPtrPtrRealInt
6133#define SORTTPL_KEYTYPE void*
6134#define SORTTPL_FIELD1TYPE void*
6135#define SORTTPL_FIELD2TYPE SCIP_Real
6136#define SORTTPL_FIELD3TYPE int
6137#define SORTTPL_PTRCOMP
6138#define SORTTPL_BACKWARDS
6143#define SORTTPL_NAMEEXT DownPtrPtrRealBool
6144#define SORTTPL_KEYTYPE void*
6145#define SORTTPL_FIELD1TYPE void*
6146#define SORTTPL_FIELD2TYPE SCIP_Real
6147#define SORTTPL_FIELD3TYPE SCIP_Bool
6148#define SORTTPL_PTRCOMP
6149#define SORTTPL_BACKWARDS
6154#define SORTTPL_NAMEEXT DownPtrPtrLongInt
6155#define SORTTPL_KEYTYPE void*
6156#define SORTTPL_FIELD1TYPE void*
6157#define SORTTPL_FIELD2TYPE SCIP_Longint
6158#define SORTTPL_FIELD3TYPE int
6159#define SORTTPL_PTRCOMP
6160#define SORTTPL_BACKWARDS
6165#define SORTTPL_NAMEEXT DownPtrPtrLongIntInt
6166#define SORTTPL_KEYTYPE void*
6167#define SORTTPL_FIELD1TYPE void*
6168#define SORTTPL_FIELD2TYPE SCIP_Longint
6169#define SORTTPL_FIELD3TYPE int
6170#define SORTTPL_FIELD4TYPE int
6171#define SORTTPL_PTRCOMP
6172#define SORTTPL_BACKWARDS
6177#define SORTTPL_NAMEEXT DownReal
6178#define SORTTPL_KEYTYPE SCIP_Real
6179#define SORTTPL_BACKWARDS
6184#define SORTTPL_NAMEEXT DownRealBoolPtr
6185#define SORTTPL_KEYTYPE SCIP_Real
6186#define SORTTPL_FIELD1TYPE SCIP_Bool
6187#define SORTTPL_FIELD2TYPE void*
6188#define SORTTPL_BACKWARDS
6193#define SORTTPL_NAMEEXT DownRealPtr
6194#define SORTTPL_KEYTYPE SCIP_Real
6195#define SORTTPL_FIELD1TYPE void*
6196#define SORTTPL_BACKWARDS
6201#define SORTTPL_NAMEEXT DownRealInt
6202#define SORTTPL_KEYTYPE SCIP_Real
6203#define SORTTPL_FIELD1TYPE int
6204#define SORTTPL_BACKWARDS
6208#define SORTTPL_NAMEEXT DownRealIntInt
6209#define SORTTPL_KEYTYPE SCIP_Real
6210#define SORTTPL_FIELD1TYPE int
6211#define SORTTPL_FIELD2TYPE int
6212#define SORTTPL_BACKWARDS
6216#define SORTTPL_NAMEEXT DownRealIntLong
6217#define SORTTPL_KEYTYPE SCIP_Real
6218#define SORTTPL_FIELD1TYPE int
6219#define SORTTPL_FIELD2TYPE SCIP_Longint
6220#define SORTTPL_BACKWARDS
6225#define SORTTPL_NAMEEXT DownRealIntPtr
6226#define SORTTPL_KEYTYPE SCIP_Real
6227#define SORTTPL_FIELD1TYPE int
6228#define SORTTPL_FIELD2TYPE void*
6229#define SORTTPL_BACKWARDS
6234#define SORTTPL_NAMEEXT DownRealPtrPtr
6235#define SORTTPL_KEYTYPE SCIP_Real
6236#define SORTTPL_FIELD1TYPE void*
6237#define SORTTPL_FIELD2TYPE void*
6238#define SORTTPL_BACKWARDS
6242#define SORTTPL_NAMEEXT DownRealRealInt
6243#define SORTTPL_KEYTYPE SCIP_Real
6244#define SORTTPL_FIELD1TYPE SCIP_Real
6245#define SORTTPL_FIELD2TYPE int
6246#define SORTTPL_BACKWARDS
6250#define SORTTPL_NAMEEXT DownRealRealPtr
6251#define SORTTPL_KEYTYPE SCIP_Real
6252#define SORTTPL_FIELD1TYPE SCIP_Real
6253#define SORTTPL_FIELD2TYPE void*
6254#define SORTTPL_BACKWARDS
6258#define SORTTPL_NAMEEXT DownRealRealPtrPtr
6259#define SORTTPL_KEYTYPE SCIP_Real
6260#define SORTTPL_FIELD1TYPE SCIP_Real
6261#define SORTTPL_FIELD2TYPE void*
6262#define SORTTPL_FIELD3TYPE void*
6263#define SORTTPL_BACKWARDS
6268#define SORTTPL_NAMEEXT DownRealLongRealInt
6269#define SORTTPL_KEYTYPE SCIP_Real
6270#define SORTTPL_FIELD1TYPE SCIP_Longint
6271#define SORTTPL_FIELD2TYPE SCIP_Real
6272#define SORTTPL_FIELD3TYPE int
6273#define SORTTPL_BACKWARDS
6278#define SORTTPL_NAMEEXT DownRealRealIntInt
6279#define SORTTPL_KEYTYPE SCIP_Real
6280#define SORTTPL_FIELD1TYPE SCIP_Real
6281#define SORTTPL_FIELD2TYPE int
6282#define SORTTPL_FIELD3TYPE int
6283#define SORTTPL_BACKWARDS
6288#define SORTTPL_NAMEEXT DownRealRealRealInt
6289#define SORTTPL_KEYTYPE SCIP_Real
6290#define SORTTPL_FIELD1TYPE SCIP_Real
6291#define SORTTPL_FIELD2TYPE SCIP_Real
6292#define SORTTPL_FIELD3TYPE int
6293#define SORTTPL_BACKWARDS
6298#define SORTTPL_NAMEEXT DownRealRealRealPtr
6299#define SORTTPL_KEYTYPE SCIP_Real
6300#define SORTTPL_FIELD1TYPE SCIP_Real
6301#define SORTTPL_FIELD2TYPE SCIP_Real
6302#define SORTTPL_FIELD3TYPE void*
6303#define SORTTPL_BACKWARDS
6308#define SORTTPL_NAMEEXT DownRealPtrPtrInt
6309#define SORTTPL_KEYTYPE SCIP_Real
6310#define SORTTPL_FIELD1TYPE void*
6311#define SORTTPL_FIELD2TYPE void*
6312#define SORTTPL_FIELD3TYPE int
6313#define SORTTPL_BACKWARDS
6317#define SORTTPL_NAMEEXT DownRealPtrPtrIntInt
6318#define SORTTPL_KEYTYPE SCIP_Real
6319#define SORTTPL_FIELD1TYPE void*
6320#define SORTTPL_FIELD2TYPE void*
6321#define SORTTPL_FIELD3TYPE int
6322#define SORTTPL_FIELD4TYPE int
6323#define SORTTPL_BACKWARDS
6328#define SORTTPL_NAMEEXT DownRealRealRealBoolPtr
6329#define SORTTPL_KEYTYPE SCIP_Real
6330#define SORTTPL_FIELD1TYPE SCIP_Real
6331#define SORTTPL_FIELD2TYPE SCIP_Real
6332#define SORTTPL_FIELD3TYPE SCIP_Bool
6333#define SORTTPL_FIELD4TYPE void*
6334#define SORTTPL_BACKWARDS
6339#define SORTTPL_NAMEEXT DownRealRealRealBoolBoolPtr
6340#define SORTTPL_KEYTYPE SCIP_Real
6341#define SORTTPL_FIELD1TYPE SCIP_Real
6342#define SORTTPL_FIELD2TYPE SCIP_Real
6343#define SORTTPL_FIELD3TYPE SCIP_Bool
6344#define SORTTPL_FIELD4TYPE SCIP_Bool
6345#define SORTTPL_FIELD5TYPE void*
6350#define SORTTPL_NAMEEXT DownInt
6351#define SORTTPL_KEYTYPE int
6352#define SORTTPL_BACKWARDS
6357#define SORTTPL_NAMEEXT DownIntInt
6358#define SORTTPL_KEYTYPE int
6359#define SORTTPL_FIELD1TYPE int
6360#define SORTTPL_BACKWARDS
6365#define SORTTPL_NAMEEXT DownIntIntReal
6366#define SORTTPL_KEYTYPE int
6367#define SORTTPL_FIELD1TYPE int
6368#define SORTTPL_FIELD2TYPE SCIP_Real
6369#define SORTTPL_BACKWARDS
6374#define SORTTPL_NAMEEXT DownIntReal
6375#define SORTTPL_KEYTYPE int
6376#define SORTTPL_FIELD1TYPE SCIP_Real
6377#define SORTTPL_BACKWARDS
6382#define SORTTPL_NAMEEXT DownIntPtr
6383#define SORTTPL_KEYTYPE int
6384#define SORTTPL_FIELD1TYPE void*
6385#define SORTTPL_BACKWARDS
6390#define SORTTPL_NAMEEXT DownIntIntInt
6391#define SORTTPL_KEYTYPE int
6392#define SORTTPL_FIELD1TYPE int
6393#define SORTTPL_FIELD2TYPE int
6394#define SORTTPL_BACKWARDS
6399#define SORTTPL_NAMEEXT DownIntIntLong
6400#define SORTTPL_KEYTYPE int
6401#define SORTTPL_FIELD1TYPE int
6402#define SORTTPL_FIELD2TYPE SCIP_Longint
6403#define SORTTPL_BACKWARDS
6408#define SORTTPL_NAMEEXT DownIntIntPtr
6409#define SORTTPL_KEYTYPE int
6410#define SORTTPL_FIELD1TYPE int
6411#define SORTTPL_FIELD2TYPE void*
6412#define SORTTPL_BACKWARDS
6417#define SORTTPL_NAMEEXT DownIntIntIntPtr
6418#define SORTTPL_KEYTYPE int
6419#define SORTTPL_FIELD1TYPE int
6420#define SORTTPL_FIELD2TYPE int
6421#define SORTTPL_FIELD3TYPE void*
6422#define SORTTPL_BACKWARDS
6427#define SORTTPL_NAMEEXT DownIntPtrIntReal
6428#define SORTTPL_KEYTYPE int
6429#define SORTTPL_FIELD1TYPE void*
6430#define SORTTPL_FIELD2TYPE int
6431#define SORTTPL_FIELD3TYPE SCIP_Real
6432#define SORTTPL_BACKWARDS
6437#define SORTTPL_NAMEEXT DownLong
6438#define SORTTPL_KEYTYPE SCIP_Longint
6439#define SORTTPL_BACKWARDS
6444#define SORTTPL_NAMEEXT DownLongPtr
6445#define SORTTPL_KEYTYPE SCIP_Longint
6446#define SORTTPL_FIELD1TYPE void*
6447#define SORTTPL_BACKWARDS
6452#define SORTTPL_NAMEEXT DownLongPtrInt
6453#define SORTTPL_KEYTYPE SCIP_Longint
6454#define SORTTPL_FIELD1TYPE void*
6455#define SORTTPL_FIELD2TYPE int
6456#define SORTTPL_BACKWARDS
6461#define SORTTPL_NAMEEXT DownLongPtrRealBool
6462#define SORTTPL_KEYTYPE SCIP_Longint
6463#define SORTTPL_FIELD1TYPE void*
6464#define SORTTPL_FIELD2TYPE SCIP_Real
6465#define SORTTPL_FIELD3TYPE SCIP_Bool
6466#define SORTTPL_BACKWARDS
6471#define SORTTPL_NAMEEXT DownLongPtrRealRealBool
6472#define SORTTPL_KEYTYPE SCIP_Longint
6473#define SORTTPL_FIELD1TYPE void*
6474#define SORTTPL_FIELD2TYPE SCIP_Real
6475#define SORTTPL_FIELD3TYPE SCIP_Real
6476#define SORTTPL_FIELD4TYPE SCIP_Bool
6477#define SORTTPL_BACKWARDS
6482#define SORTTPL_NAMEEXT DownLongPtrRealRealIntBool
6483#define SORTTPL_KEYTYPE SCIP_Longint
6484#define SORTTPL_FIELD1TYPE void*
6485#define SORTTPL_FIELD2TYPE SCIP_Real
6486#define SORTTPL_FIELD3TYPE SCIP_Real
6487#define SORTTPL_FIELD4TYPE int
6488#define SORTTPL_FIELD5TYPE SCIP_Bool
6489#define SORTTPL_BACKWARDS
6494#define SORTTPL_NAMEEXT DownLongPtrPtrInt
6495#define SORTTPL_KEYTYPE SCIP_Longint
6496#define SORTTPL_FIELD1TYPE void*
6497#define SORTTPL_FIELD2TYPE void*
6498#define SORTTPL_FIELD3TYPE int
6499#define SORTTPL_BACKWARDS
6504#define SORTTPL_NAMEEXT DownLongPtrPtrIntInt
6505#define SORTTPL_KEYTYPE SCIP_Longint
6506#define SORTTPL_FIELD1TYPE void*
6507#define SORTTPL_FIELD2TYPE void*
6508#define SORTTPL_FIELD3TYPE int
6509#define SORTTPL_FIELD4TYPE int
6510#define SORTTPL_BACKWARDS
6515#define SORTTPL_NAMEEXT DownLongPtrPtrBoolInt
6516#define SORTTPL_KEYTYPE SCIP_Longint
6517#define SORTTPL_FIELD1TYPE void*
6518#define SORTTPL_FIELD2TYPE void*
6519#define SORTTPL_FIELD3TYPE SCIP_Bool
6520#define SORTTPL_FIELD4TYPE int
6521#define SORTTPL_BACKWARDS
6526#define SORTTPL_NAMEEXT DownPtrIntIntBoolBool
6527#define SORTTPL_KEYTYPE void*
6528#define SORTTPL_FIELD1TYPE int
6529#define SORTTPL_FIELD2TYPE int
6530#define SORTTPL_FIELD3TYPE SCIP_Bool
6531#define SORTTPL_FIELD4TYPE SCIP_Bool
6532#define SORTTPL_PTRCOMP
6533#define SORTTPL_BACKWARDS
6538#define SORTTPL_NAMEEXT DownIntPtrIntIntBoolBool
6539#define SORTTPL_KEYTYPE int
6540#define SORTTPL_FIELD1TYPE void*
6541#define SORTTPL_FIELD2TYPE int
6542#define SORTTPL_FIELD3TYPE int
6543#define SORTTPL_FIELD4TYPE SCIP_Bool
6544#define SORTTPL_FIELD5TYPE SCIP_Bool
6545#define SORTTPL_BACKWARDS
6564 (*activity)->var =
var;
6565 (*activity)->duration = duration;
6566 (*activity)->demand = demand;
6592#undef SCIPactivityGetVar
6593#undef SCIPactivityGetDuration
6594#undef SCIPactivityGetDemand
6595#undef SCIPactivityGetEnergy
6604 return activity->
var;
6653 (*profile)->arraysize = 10;
6658 (*profile)->ntimepoints = 1;
6659 (*profile)->timepoints[0] = 0;
6660 (*profile)->loads[0] = 0;
6661 (*profile)->capacity = capacity;
6688 if( *profile !=
NULL )
6755 return profile->
loads;
6779 return profile->
loads[pos];
6878 SCIP_Bool* infeasible
6891 (*infeasible) =
FALSE;
6908 profile->
loads[
i] += demand;
6915 (*infeasible) =
TRUE;
6920 profile->
loads[
i] -= demand;
6938 SCIP_Bool* infeasible
6946 (*infeasible) =
FALSE;
6950 SCIPdebugMessage(
"insert core [%d,%d] with demand %d\n", left, right, demand);
6969 SCIP_Bool infeasible;
6984 SCIPdebugMessage(
"delete core [%d,%d] with demand %d\n", left, right, demand);
7000 SCIP_Bool* infeasible
7015 (*infeasible) =
FALSE;
7019 (*infeasible) =
TRUE;
7027 SCIPdebugMessage(
"profile <%p>: core does not fit at time point %d (pos %d)\n", (
void*)profile, profile->
timepoints[pos], pos);
7033 (*infeasible) =
TRUE;
7058 SCIP_Bool* infeasible
7073 SCIPdebugMessage(
"profile <%p>: find earliest start time (demad %d, duration %d) [%d,%d]\n", (
void*)profile, demand, duration, est,
lst);
7075 if( duration == 0 || demand == 0 )
7077 *infeasible =
FALSE;
7082 SCIPdebugMessage(
"profile <%p>: earliest start time does %s exist as time point (pos %d)\n", (
void*)profile, found ?
"" :
"not", pos);
7087 (*infeasible) =
FALSE;
7123 (*infeasible) =
FALSE;
7127 SCIPdebugMessage(
"remaining duration can%s be processed\n", *infeasible ?
"not" :
"");
7150 SCIP_Bool* infeasible
7166 (*infeasible) =
TRUE;
7175 SCIPdebugMessage(
"profile <%p>: core does not fit at time point %d (pos %d)\n", (
void*)profile, profile->
timepoints[pos-1], pos-1);
7180 if( profile->timepoints[
endpos] <
ect - duration )
7188 *infeasible =
FALSE;
7207 SCIP_Bool* infeasible
7224 if( duration == 0 || demand == 0 )
7226 *infeasible =
FALSE;
7230 ect = est + duration;
7231 lct =
lst + duration;
7234 SCIPdebugMessage(
"profile <%p>: latest completion time %d does %s exist as time point (pos %d)\n", (
void*)profile, lct, found ?
"" :
"not", pos);
7266 (*infeasible) =
FALSE;
7281 return lct - duration;
7308 (*digraph)->nnodes =
nnodes;
7311 (*digraph)->blkmem = blkmem;
7312 (*digraph)->ncomponents = 0;
7313 (*digraph)->componentstartsize = 0;
7314 (*digraph)->components =
NULL;
7315 (*digraph)->componentstarts =
NULL;
7318 (*digraph)->narticulations = -1;
7319 (*digraph)->articulations =
NULL;
7320 (*digraph)->articulationscheck =
FALSE;
7352 digraph->successorssize[n] = 0;
7376 SCIP_Bool articulationscheck;
7392 (*targetdigraph)->nnodes =
nnodes;
7393 (*targetdigraph)->ncomponents = ncomponents;
7423 if( ncomponents > 0 )
7429 (*targetdigraph)->componentstartsize = ncomponents + 1;
7433 (*targetdigraph)->components =
NULL;
7434 (*targetdigraph)->componentstarts =
NULL;
7435 (*targetdigraph)->componentstartsize = 0;
7439 if( articulationscheck )
7442 (*targetdigraph)->narticulations =
sourcedigraph->narticulations;
7443 (*targetdigraph)->articulationscheck =
TRUE;
7447 (*targetdigraph)->narticulations = -1;
7448 (*targetdigraph)->articulations =
NULL;
7449 (*targetdigraph)->articulationscheck =
FALSE;
7492 blkmem = (*digraph)->blkmem;
7523#define STARTSUCCESSORSSIZE 5
7624 for(
i = 0;
i < nsuccessors; ++
i )
7652 digraph->nsuccessors[node] = nsuccessors;
7677 return digraph->nodedata[node];
7694 digraph->nodedata[node] = dataptr;
7727 return digraph->nsuccessors[node];
7743 return digraph->successors[node];
7761 return digraph->arcdata[node];
7819 dfsnodes[(*ndfsnodes)++] = currnode;
7880 for( n = 0; n <
nsucc; ++n)
7891 if( parent[
startnode] == -1 && nchildren > 1 )
7914 int** articulations,
7933 if( !
digraph->articulationscheck )
7944 if(
digraph->narticulations >= 0 )
7950 for( n = 0; n <
digraph->nnodes; ++n )
7958 for( n = 0; n <
digraph->nnodes; ++n )
7967 for( n = 0; n <
digraph->nnodes; ++n )
7977 if( articulations !=
NULL )
7978 (*articulations) =
digraph->articulations;
7979 if( narticulations !=
NULL )
7980 (*narticulations) =
digraph->narticulations;
8032 if(
digraph->ncomponents > 0 )
8038 digraph->componentstartsize = 10;
8050 digraph->componentstarts[0] = 0;
8064 for( v = 0; v <
digraph->nnodes; ++v )
8093 if( components !=
NULL )
8108 if( ncomponents !=
NULL )
8109 (*ncomponents) =
digraph->ncomponents;
8275 stack[*stacksize] = v;
8282 for(
i = 0;
i <
digraph->nsuccessors[v]; ++
i )
8291 tarjan(
digraph,
w,
lowlink,
dfsidx, stack, stacksize,
unprocessed,
nodeinstack,
maxdfs,
strongcomponents,
8323 w = stack[*stacksize - 1];
8441 if(
digraph->componentstartsize > 0 )
8448 digraph->componentstartsize = 0;
8469 for( n = 0; n <
digraph->nnodes; ++n )
8475 nsuccessors =
digraph->nsuccessors[n];
8476 successors =
digraph->successors[n];
8480 for( m = 0; m < nsuccessors ; ++m )
8507 for( n = 0; n <
digraph->nnodes; ++n )
8516 for( n = 0; n <
digraph->nnodes; ++n )
8522 nsuccessors =
digraph->nsuccessors[n];
8523 successors =
digraph->successors[n];
8525 for( m = 0; m < nsuccessors; ++m )
8579 (*node)->parent =
NULL;
8580 (*node)->left =
NULL;
8581 (*node)->right =
NULL;
8582 (*node)->dataptr =
NULL;
8604 (*node)->dataptr = dataptr;
8625 if( (*node)->parent !=
NULL )
8629 assert((*node)->parent->left == *node || ((*node)->parent->right == *node));
8631 if( (*node)->parent->left == *node )
8633 (*node)->parent->left =
NULL;
8637 assert((*node)->parent->right == *node);
8638 (*node)->parent->right =
NULL;
8661 if( (*node)->left !=
NULL )
8667 if( (*node)->right !=
NULL )
8685#undef SCIPbtnodeGetData
8686#undef SCIPbtnodeGetKey
8687#undef SCIPbtnodeGetParent
8688#undef SCIPbtnodeGetLeftchild
8689#undef SCIPbtnodeGetRightchild
8690#undef SCIPbtnodeGetSibling
8691#undef SCIPbtnodeIsRoot
8692#undef SCIPbtnodeIsLeaf
8693#undef SCIPbtnodeIsLeftchild
8694#undef SCIPbtnodeIsRightchild
8745 if( parent ==
NULL )
8865 node->
right = right;
8878 (*tree)->blkmem = blkmem;
8879 (*tree)->root =
NULL;
8894 if( (*tree)->root !=
NULL )
9044 while( !(
val1 & 1) )
9058 while( !(
val1 & 1) )
9066 while( !(
val2 & 1) )
9079 while( !(
val1 & 1) )
9087 while( !(
val2 & 1) )
9113 while( !(
val1 & 1) )
9134 while( !(
val2 & 1) )
9144#if defined(_MSC_VER) && !defined(NO_NEXTAFTER)
9145#define nextafter(x,y) _nextafter(x,y)
9162#define __HI(x) *(1+(int*)&x)
9163#define __LO(x) *(int*)&x
9164#define __HIp(x) *(1+(int*)x)
9165#define __LOp(x) *(int*)x
9188 if( ((
ix>=0x7ff00000) && ((
ix-0x7ff00000)|
lx) != 0 ) ||
9189 ( (
iy>=0x7ff00000) && ((
iy-0x7ff00000)|
ly) != 0 ))
9248 if(
hy >= 0x7ff00000 )
9250 if(
hy < 0x00100000 )
9299static 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,
9300 17.0, 18.0, 19.0, 25.0, -1.0};
9454 sval = val * scalar;
9462static const SCIP_Real
scalars[] = {3.0, 5.0, 7.0, 9.0, 11.0, 13.0, 15.0, 17.0, 19.0};
9501 SCIPdebugMessage(
"trying to find rational representation for given values\n");
9509 for(
c = 0;
c < nvals; ++
c )
9533 for(
i = 0;
i < 2; ++
i )
9539 scaleval = 1.0/minval;
9567 SCIPdebugMessage(
" -> val=%g, scaleval=%g, val*scaleval=%g, scalable=%u\n",
9568 val, scaleval, val*scaleval,
scalable);
9579 SCIPdebugMessage(
" -> integrality could be achieved by scaling with %g\n", scaleval);
9639 SCIPdebugMessage(
" -> failed to convert %g into a rational representation\n", val);
9672#if defined(__INTEL_COMPILER) || defined(_MSC_VER)
9673#pragma fenv_access (on)
9674#elif defined(__GNUC__) && !defined(__clang__)
9675#pragma STDC FENV_ACCESS ON
9677#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
9678#if defined(__clang__)
9713 delta = 0.5*(ub-lb);
9719 delta = 0.5*(ub-lb);
9725#if defined(__INTEL_COMPILER) || defined(_MSC_VER)
9726#pragma fenv_access (off)
9727#elif defined(__GNUC__) && !defined(__clang__)
9728#pragma STDC FENV_ACCESS OFF
9760 SCIPdebugPrintf(
" value is out of interval bounds by %g -> failed\n",
MAX(lb-val, val-ub));
9798 SCIP_Real
deriv = derivative(
result, params, nparams);
9824#if defined(NO_RAND_R) || defined(_WIN32) || defined(_WIN64)
9826#define SCIP_RAND_MAX 32767
9845#define SCIP_RAND_MAX RAND_MAX
9926#define DEFAULT_SEED UINT32_C(123456789)
9927#define DEFAULT_XOR UINT32_C(362436000)
9928#define DEFAULT_MWC UINT32_C(521288629)
9929#define DEFAULT_CST UINT32_C(7654321)
9935 unsigned int initseed
9980 randnumgen->
cst_seed = (uint32_t) (t >> 32);
9981 randnumgen->
mwc_seed = (uint32_t) t;
9990 unsigned int initialseed
10148 for(
j = 0;
j <
i;
j++ )
10162 for(
j = 0;
j <
i;
j++ )
10188 if( m == 0 || m >= n )
10206 return ((SCIP_Longint)n*(n-1)/2);
10212 if( m > 16 || n > 33 )
10217 return (n*(n-1)*(n-2)/6);
10225 static const SCIP_Longint
binoms[182] = {
10226 1166803110, 601080390, 1037158320, 565722720, 300540195, 155117520, 818809200, 471435600, 265182525, 145422675,
10227 77558760, 40116600, 573166440, 347373600, 206253075, 119759850, 67863915, 37442160, 20058300, 10400600,
10228 354817320, 225792840, 141120525, 86493225, 51895935, 30421755, 17383860, 9657700, 5200300, 2704156, 193536720,
10229 129024480, 84672315, 54627300, 34597290, 21474180, 13037895, 7726160, 4457400, 2496144, 1352078, 705432,
10230 92561040, 64512240, 44352165, 30045015, 20030010, 13123110, 8436285, 5311735, 3268760, 1961256, 1144066,
10231 646646, 352716, 184756, 38567100, 28048800, 20160075, 14307150, 10015005, 6906900, 4686825, 3124550, 2042975,
10232 1307504, 817190, 497420, 293930, 167960, 92378, 48620, 13884156, 10518300, 7888725, 5852925, 4292145, 3108105,
10233 2220075, 1562275, 1081575, 735471, 490314, 319770, 203490, 125970, 75582, 43758, 24310, 12870, 4272048, 3365856,
10234 2629575, 2035800, 1560780, 1184040, 888030, 657800, 480700, 346104, 245157, 170544, 116280, 77520, 50388, 31824,
10235 19448, 11440, 6435, 3432, 1107568, 906192, 736281, 593775, 475020, 376740, 296010, 230230, 177100, 134596,
10236 100947, 74613, 54264, 38760, 27132, 18564, 12376, 8008, 5005, 3003, 1716, 924, 237336, 201376, 169911, 142506,
10237 118755, 98280, 80730, 65780, 53130, 42504, 33649, 26334, 20349, 15504, 11628, 8568, 6188, 4368, 3003, 2002,
10238 1287, 792, 462, 252, 40920, 35960, 31465, 27405, 23751, 20475, 17550, 14950, 12650, 10626, 8855, 7315, 5985,
10239 4845, 3876, 3060, 2380, 1820, 1365, 1001, 715, 495, 330, 210, 126, 70};
10242 const int t = 16-m;
10247 assert(t*(t+1)+(33-n) < 182);
10249 return binoms[t*(t+1)+(33-n)];
10255#if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ * 10 >= 490 && !defined(__INTEL_COMPILER)
10263 return ((
unsigned long long)(v * 2654435769)) %
UINT_MAX;
10264 return ((
unsigned long long)(-v * 683565275)) %
UINT_MAX;
10417 for(
j = 0;
j <
i;
j++ )
10431 for(
j = 0;
j <
i;
j++ )
10684#ifdef NO_STRERROR_R
10689#if defined(_WIN32) || defined(_WIN64)
10694#elif (_POSIX_C_SOURCE >= 200112L || __DARWIN_C_LEVEL > 200112L || _XOPEN_SOURCE >= 600) && ! defined(_GNU_SOURCE)
10735#ifdef SCIP_NO_STRTOK_R
10765 else if( s[
i] ==
' ' || s[
i] ==
'\"' || s[
i] ==
'\'' )
10782 *s += **s ==
'\\' ? 2 : 1;
10803#if defined(_WIN32) || defined(_WIN64)
10844 for( n = 0; n < size && *s !=
'\0'; n++ )
10967 if(
nchars == (size-1) )
10992 const char* filename
10997 f =
fopen(filename,
"r");
11025 if( extension !=
NULL )
11039#ifdef SCIP_WITH_ZLIB
11077 if( extension !=
NULL )
11118 SCIP_Real dualbound
11151 assert(ncomponents > 0);
11155 (*djset)->size = ncomponents;
11187 int root = element;
11188 int* parents = djset->
parents;
11191 while( root != parents[root] )
11193 root = parents[root];
11197 while( element != root )
11200 parents[element] = root;
11233 sizes = djset->
sizes;
11239 sizes[
idp] += sizes[
idq];
11243 if( sizes[
idp] < sizes[
idq] )
11246 sizes[
idq] += sizes[
idp];
11251 sizes[
idp] += sizes[
idq];
11294 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_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 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 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