472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
|
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
|
-
+
-
-
|
/* Assign rails to all rows that are still unassigned.
*/
for(pRow=p->pLast; pRow; pRow=pRow->pPrev){
int parentRid;
if( pRow->iRail>=0 ){
if( pRow->pChild==0 && !pRow->timeWarp ){
if( omitDescenders || count_nonbranch_children(pRow->rid)==0 ){
if( !omitDescenders && count_nonbranch_children(pRow->rid)!=0 ){
/* no-op */
}else{
riser_to_top(pRow);
}
}
continue;
}
if( pRow->isDup ){
continue;
|
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
|
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
|
-
+
|
}
}
}
mask = BIT(pRow->iRail);
pRow->railInUse |= mask;
if( pRow->pChild ){
assignChildrenToRail(pRow);
}else if( !pRow->isLeaf && !omitDescenders ){
}else if( !omitDescenders && count_nonbranch_children(pRow->rid)!=0 ){
riser_to_top(pRow);
}
if( pParent ){
for(pLoop=pParent->pPrev; pLoop && pLoop!=pRow; pLoop=pLoop->pPrev){
pLoop->railInUse |= mask;
}
}
|