@@ -152,7 +152,7 @@ export function run_msort() {
152
152
153
153
chunker . add ( 'left' , ( vis , c_left ) => {
154
154
assignVarToA ( vis , 'left' , c_left , size ) ;
155
- assignVarToA ( vis , "size" , size , size ) ;
155
+ // assignVarToA(vis, "size", size, size);
156
156
} , [ left ] ) ;
157
157
158
158
do {
@@ -321,9 +321,13 @@ export function run_msort() {
321
321
chunker . add ( 'CopyRest1' , ( vis , a , b , c_ap1 , c_max1 , c_left , c_right , c_mid , c_bp , c_rcount ) => {
322
322
// future color: should be runAColor & runBColor
323
323
resetArrayA ( vis , "nat" , a , c_left , c_mid , c_right , c_rcount , runAColor , runCColor ) ;
324
- if ( isMergeExpanded ( ) ) vis . arrayB . set ( b , 'msort_arr_nat' ) ;
324
+ if ( isMergeExpanded ( ) ) {
325
+ vis . arrayB . set ( b , 'msort_arr_nat' ) ;
326
+ assignVarToB ( vis , 'bp' , c_bp , size ) ;
327
+ }
325
328
assignVarToA ( vis , 'ap1' , c_ap1 , size ) ;
326
329
assignVarToA ( vis , 'max1' , c_max1 , size ) ;
330
+
327
331
// to highlight the solrted elements of B array green / colorC
328
332
for ( let i = c_left ; i < c_bp ; i ++ ) highlightB ( vis , i , sortColor ) ;
329
333
} , [ A , B , ap1 , max1 , left , right , mid , bp , runcount ] ) ;
@@ -334,15 +338,19 @@ export function run_msort() {
334
338
A [ i ] = undefined ;
335
339
bp = bp + 1 ;
336
340
}
337
- chunker . add ( 'CopyRest2' , ( vis , a , b , c_ap2 , c_max2 , c_left , c_right , c_mid , c_rcount ) => {
341
+ chunker . add ( 'CopyRest2' , ( vis , a , b , c_ap2 , c_max2 , c_left , c_right , c_mid , c_rcount , c_bp ) => {
338
342
// future color: should be runAColor & runBColor
339
343
resetArrayA ( vis , "nat" , a , c_left , c_mid , c_right , c_rcount , runAColor , runCColor ) ;
340
- if ( isMergeCopyExpanded ( ) ) vis . arrayB . set ( b , 'msort_arr_nat' ) ;
344
+ if ( isMergeCopyExpanded ( ) ) {
345
+ vis . arrayB . set ( b , 'msort_arr_nat' ) ;
346
+ assignVarToB ( vis , 'bp' , c_bp , size ) ;
347
+
348
+ }
341
349
assignVarToA ( vis , 'ap2' , c_ap2 , size ) ;
342
350
assignVarToA ( vis , 'max2' , c_max2 , size ) ;
343
351
// highlight sorted elements green
344
352
for ( let i = c_left ; i <= c_right ; i ++ ) highlightB ( vis , i , sortColor ) ;
345
- } , [ A , B , ap2 , max2 , left , right , mid , runcount ] ) ;
353
+ } , [ A , B , ap2 , max2 , left , right , mid , runcount , bp ] ) ;
346
354
347
355
// copy merged elements from B to A
348
356
for ( let i = left ; i <= right ; i ++ ) {
@@ -376,6 +384,7 @@ export function run_msort() {
376
384
assignVarToA ( vis , 'left' , c_left , size ) ;
377
385
assignVarToA ( vis , "right" , c_right , size ) ;
378
386
}
387
+ // assignVarToA(vis, "size", size, size);
379
388
380
389
381
390
} , [ A , left , right , runcount ] ) ;
0 commit comments