Quintiq file version 2.0
|
#parent: #root
|
Method OptimizeScopeThinQueue
|
{
|
Description: 'Optimize the thin queue; try to empty as much as possible and make sure to first use lower IDs.'
|
TextBody:
|
[*
|
queue := NumberVector::Construct( this.ScopeThinQueue() );
|
queue.SortAscending();
|
next := this.NextScopeThinID();
|
|
for( i := queue.Size() - 1; i >= 0; i-- )
|
{
|
if( queue.Get( i ) + 1 = next )
|
{
|
next--;
|
queue.Resize( i );
|
}
|
else
|
{
|
// Skip
|
i := 0;
|
}
|
}
|
|
queue.SortDescending();
|
this.ScopeThinQueue( queue.AsBinaryValue() );
|
this.NextScopeThinID( next );
|
*]
|
}
|