@@ -189,6 +189,7 @@ export default function blossom(CHECK_OPTIMUM, CHECK_DELTA) {
189
189
console . debug ( 'DEBUG: assignLabel(' + w + ',' + t + ',' + p + ')' ) ;
190
190
const b = inblossom [ w ] ;
191
191
assert ( label [ w ] === 0 && label [ b ] === 0 ) ;
192
+ assert ( t === 1 || t === 2 ) ;
192
193
label [ w ] = t ;
193
194
label [ b ] = t ;
194
195
labelend [ w ] = p ;
@@ -202,7 +203,7 @@ export default function blossom(CHECK_OPTIMUM, CHECK_DELTA) {
202
203
}
203
204
204
205
console . debug ( 'DEBUG: PUSH ' + queue ) ;
205
- } else if ( t === 2 ) {
206
+ } else {
206
207
// B became a T-vertex/blossom; assign label S to its mate.
207
208
// (If b is a non-trivial blossom, its base is the only vertex
208
209
// with an external mate.)
@@ -888,6 +889,12 @@ export default function blossom(CHECK_OPTIMUM, CHECK_DELTA) {
888
889
889
890
// Take action at the point where minimum delta occurred.
890
891
console . debug ( 'DEBUG: delta' + deltatype + '=' + delta ) ;
892
+ assert (
893
+ deltatype === 1 ||
894
+ deltatype === 2 ||
895
+ deltatype === 3 ||
896
+ deltatype === 4
897
+ ) ;
891
898
if ( deltatype === 1 ) {
892
899
// No further improvement possible; optimum reached.
893
900
break ;
@@ -910,7 +917,7 @@ export default function blossom(CHECK_OPTIMUM, CHECK_DELTA) {
910
917
const i = edges [ deltaedge ] [ 0 ] ;
911
918
assert ( label [ inblossom [ i ] ] === 1 ) ;
912
919
queue . push ( i ) ;
913
- } else if ( deltatype === 4 ) {
920
+ } else {
914
921
// Expand the least-z blossom.
915
922
expandBlossom ( deltablossom , false ) ;
916
923
}
0 commit comments