Skip to content

Commit bbc8cb5

Browse files
committed
Merge branch 'fix_symmetry_on_bugfix' into 'v80-bugfix'
Bugfix: fix symmetry fail with sassy on bugfix See merge request integer/scip!3244
2 parents 7d11bb0 + 42be648 commit bbc8cb5

File tree

1 file changed

+36
-5
lines changed

1 file changed

+36
-5
lines changed

Diff for: src/symmetry/compute_symmetry_sassy.cpp

+36-5
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,9 @@ SCIP_RETCODE determineGraphSize(
519519
{
520520
SCIP_EXPR* rootexpr;
521521
SCIP_EXPR* expr;
522+
#ifndef NDEBUG
522523
int currentlevel = 0;
524+
#endif
523525

524526
rootexpr = SCIPgetExprNonlinear(conss[i]);
525527

@@ -589,7 +591,7 @@ SCIP_RETCODE determineGraphSize(
589591

590592
/* add node */
591593
internode = (*nnodes)++;
592-
++(nnonlinearnodes);
594+
++(*nnonlinearnodes);
593595

594596
/* ensure size of degrees */
595597
SCIP_CALL( SCIPensureBlockMemoryArray(scip, degrees, maxdegrees, *nnodes) );
@@ -630,7 +632,9 @@ SCIP_RETCODE determineGraphSize(
630632

631633
visitednodes[numvisitednodes++] = *nnodes;
632634
ischildofsum[numischildofsum++] = FALSE;
635+
#ifndef NDEBUG
633636
++currentlevel;
637+
#endif
634638

635639
break;
636640
}
@@ -730,15 +734,19 @@ SCIP_RETCODE determineGraphSize(
730734
}
731735
}
732736

737+
#ifndef NDEBUG
733738
++currentlevel;
739+
#endif
734740
break;
735741
}
736742
/* when leaving an expression, the nodes that are not needed anymore are erased from the respective arrays */
737743
case SCIP_EXPRITER_LEAVEEXPR:
738744
{
739745
--numvisitednodes;
740746
--numischildofsum;
747+
#ifndef NDEBUG
741748
currentlevel--;
749+
#endif
742750

743751
/* When leaving the child of a sum expression, we have to pop again to get rid of the intermediate nodes
744752
* used for the coefficients of summands
@@ -860,10 +868,10 @@ SCIP_RETCODE fillGraphByConss(
860868
int varssize;
861869
#ifndef NDEBUG
862870
SCIP_Real oldcoef = SCIP_INVALID;
871+
int m = 0;
863872
#endif
864873
int firstcolornodenumber = -1;
865874
int n = 0;
866-
int m = 0;
867875
int i;
868876
int j;
869877

@@ -948,7 +956,9 @@ SCIP_RETCODE fillGraphByConss(
948956
G->add_edge((unsigned) rhsnode, (unsigned) varnode);
949957
else
950958
G->add_edge((unsigned) varnode, (unsigned) rhsnode);
959+
#ifndef NDEBUG
951960
++m;
961+
#endif
952962
}
953963
else
954964
{
@@ -990,20 +1000,28 @@ SCIP_RETCODE fillGraphByConss(
9901000
if ( newinternode )
9911001
{
9921002
G->add_edge((unsigned) rhsnode, (unsigned) internode);
1003+
#ifndef NDEBUG
9931004
++m;
1005+
#endif
9941006
}
9951007
G->add_edge((unsigned) varnode, (unsigned) internode);
1008+
#ifndef NDEBUG
9961009
++m;
1010+
#endif
9971011
}
9981012
else
9991013
{
10001014
if ( newinternode )
10011015
{
10021016
G->add_edge((unsigned) varnode, (unsigned) internode);
1017+
#ifndef NDEBUG
10031018
++m;
1019+
#endif
10041020
}
10051021
G->add_edge((unsigned) rhsnode, (unsigned) internode);
1022+
#ifndef NDEBUG
10061023
++m;
1024+
#endif
10071025
}
10081026
}
10091027
}
@@ -1124,6 +1142,7 @@ SCIP_RETCODE fillGraphByConss(
11241142
assert( requiredsize <= varssize );
11251143

11261144
assert( numvisitednodes > 0 );
1145+
11271146
parentnode = visitednodes[numvisitednodes-1];
11281147
assert( parentnode < nnodes );
11291148

@@ -1156,16 +1175,20 @@ SCIP_RETCODE fillGraphByConss(
11561175

11571176
assert( internode < nnodes );
11581177

1159-
G->add_edge((unsigned) internode, (unsigned) parentnode);
1178+
G->add_edge((unsigned) parentnode, (unsigned) internode);
1179+
#ifndef NDEBUG
11601180
++m;
1181+
#endif
11611182
assert( m <= nedges );
11621183

11631184
/* connect the intermediate node to its corresponding variable node */
11641185
node = SCIPvarGetProbindex(vars[k]);
11651186
assert( node < nnodes );
11661187

1167-
G->add_edge((unsigned) internode, (unsigned) node);
1188+
G->add_edge((unsigned) node, (unsigned) internode);
1189+
#ifndef NDEBUG
11681190
++m;
1191+
#endif
11691192
assert( m <= nedges );
11701193
}
11711194

@@ -1175,7 +1198,7 @@ SCIP_RETCODE fillGraphByConss(
11751198
SYM_CONSTTYPE* ct;
11761199

11771200
/* check whether we have to resize */
1178-
SCIP_CALL( SCIPensureBlockMemoryArray(scip, &uniquerhsarray, &constarraysize, nuniqueconsts+1) );
1201+
SCIP_CALL( SCIPensureBlockMemoryArray(scip, &uniqueconstarray, &constarraysize, nuniqueconsts+1) );
11791202
assert( nuniqueconsts < constarraysize );
11801203

11811204
ct = &uniqueconstarray[nuniqueconsts];
@@ -1198,7 +1221,9 @@ SCIP_RETCODE fillGraphByConss(
11981221
assert( node < nnodes );
11991222

12001223
G->add_edge((unsigned) parentnode, (unsigned) node);
1224+
#ifndef NDEBUG
12011225
++m;
1226+
#endif
12021227
assert( m <= nedges );
12031228
}
12041229

@@ -1317,7 +1342,9 @@ SCIP_RETCODE fillGraphByConss(
13171342
G->add_edge((unsigned) parentnode, (unsigned) node);
13181343
else
13191344
G->add_edge((unsigned) node, (unsigned) parentnode);
1345+
#ifndef NDEBUG
13201346
++m;
1347+
#endif
13211348
assert( m <= nedges );
13221349

13231350
/* for sum expression, also add intermediate nodes for the coefficients */
@@ -1362,7 +1389,9 @@ SCIP_RETCODE fillGraphByConss(
13621389
assert( internode < nnodes );
13631390

13641391
G->add_edge((unsigned) node, (unsigned) internode);
1392+
#ifndef NDEBUG
13651393
++m;
1394+
#endif
13661395
assert( m <= nedges );
13671396
}
13681397

@@ -1396,7 +1425,9 @@ SCIP_RETCODE fillGraphByConss(
13961425
assert( node < nnodes );
13971426

13981427
G->add_edge((unsigned) node, (unsigned) internode);
1428+
#ifndef NDEBUG
13991429
++m;
1430+
#endif
14001431
assert( m <= nedges );
14011432
}
14021433
}

0 commit comments

Comments
 (0)