@@ -43,13 +43,19 @@ function timeTableAddParallel(
4343 let success = false ;
4444 for ( const lle of singleDay ) {
4545 if ( calcTimeDiff ( lle . value . start [ 0 ] , lle . value . start [ 1 ] , eventNew . end [ 0 ] , eventNew . end [ 1 ] ) >= 0 ) {
46- if ( lle . pre === singleDay . end ( ) || ( lle . pre !== singleDay . end ( ) && calcTimeDiff ( lle . pre . value . end [ 0 ] , lle . pre . value . end [ 1 ] , eventNew . start [ 0 ] , eventNew . start [ 1 ] ) <= 0 ) ) {
46+ if (
47+ lle . pre === singleDay . end ( )
48+ || ( lle . pre !== singleDay . end ( ) && calcTimeDiff ( lle . pre . value . end [ 0 ] , lle . pre . value . end [ 1 ] , eventNew . start [ 0 ] , eventNew . start [ 1 ] ) <= 0 )
49+ ) {
4750 addedNodes [ dayIdx ] . push ( singleDay . insertBefore ( eventNew , lle ) ) ;
4851 success = true ;
4952 break ;
5053 }
5154 } else if ( calcTimeDiff ( lle . value . end [ 0 ] , lle . value . end [ 1 ] , eventNew . start [ 0 ] , eventNew . start [ 1 ] ) <= 0 ) {
52- if ( lle . next === singleDay . end ( ) || ( lle . next !== singleDay . end ( ) && calcTimeDiff ( lle . next . value . start [ 0 ] , lle . next . value . start [ 1 ] , eventNew . end [ 0 ] , eventNew . end [ 1 ] ) >= 0 ) ) {
55+ if (
56+ lle . next === singleDay . end ( )
57+ || ( lle . next !== singleDay . end ( ) && calcTimeDiff ( lle . next . value . start [ 0 ] , lle . next . value . start [ 1 ] , eventNew . end [ 0 ] , eventNew . end [ 1 ] ) >= 0 )
58+ ) {
5359 addedNodes [ dayIdx ] . push ( singleDay . insertAfter ( eventNew , lle ) ) ;
5460 success = true ;
5561 break ;
@@ -94,7 +100,7 @@ function solve(
94100
95101 // Skip if the parallel has no events (https://github.com/antoninkriz/CTU-TimeTable-Generator/issues/3
96102 // Add parallel to the timetable, returned false means collision, skip this parallel
97- const isCollision = parallel . timetable . length > 0 && ! timeTableAddParallel ( timetable , parallel , addedNodes )
103+ const isCollision = parallel . timetable . length > 0 && ! timeTableAddParallel ( timetable , parallel , addedNodes ) ;
98104 if ( isCollision ) {
99105 progress . increment ( branchWeights [ depth + 1 ] ) ;
100106 continue ;
0 commit comments