* ./katabatic:

- Bug: In KatabaticEnginge::_desaturate() (part of LayerAssign), reset
        the moved up Segment pointer between iterations. Suppress the warning
        about the GCell's DyKeyQueue beeing not revalidated on deletion.
    - Change: In LoadGrByNet, manage the 4G+3L1 configuration with the generic
        _GCell_xG_xL1_xL3(). Needed for "dct_lvl2".
This commit is contained in:
Jean-Paul Chaput 2010-05-03 09:16:28 +00:00
parent 6a535b03f6
commit 234175fa23
4 changed files with 11 additions and 4 deletions

View File

@ -1071,6 +1071,8 @@ namespace Katabatic {
void DyKeyQueue::revalidate () void DyKeyQueue::revalidate ()
{ {
ltrace(190) << "DyKeyQueue::revalidate()" << endl;
std::set<GCell*,GCell::CompareByKey>::iterator iinserted; std::set<GCell*,GCell::CompareByKey>::iterator iinserted;
std::set<GCell*>::iterator igcell = _requests.begin(); std::set<GCell*>::iterator igcell = _requests.begin();
for ( ; igcell != _requests.end() ; ++igcell ) { for ( ; igcell != _requests.end() ; ++igcell ) {

View File

@ -103,7 +103,8 @@ namespace Katabatic {
} }
cmess1 << " o Reading GCell grid from Knik [" cmess1 << " o Reading GCell grid from Knik ["
<< getColumns() << "x" << getRows() << "]." << endl; << getColumns() << "x" << getRows() << "] "
<< "(" << (getColumns()*getRows()) << ")." << endl;
ltraceout(80); ltraceout(80);
} }

View File

@ -105,7 +105,6 @@ namespace Katabatic {
//vector<GCell*> gcells = *(_gcellGrid->getGCellVector()); //vector<GCell*> gcells = *(_gcellGrid->getGCellVector());
DyKeyQueue queue ( depth, *(_gcellGrid->getGCellVector()) ); DyKeyQueue queue ( depth, *(_gcellGrid->getGCellVector()) );
AutoSegment* segment = NULL;
vector<GCell*> invalidateds; vector<GCell*> invalidateds;
bool optimized = true; bool optimized = true;
@ -128,8 +127,9 @@ namespace Katabatic {
break; break;
} }
ltrace(190) << "step desaturate @: " << i << " " << *igcell << endl; ltrace(190) << "step desaturate: @ " << i << " " << *igcell << endl;
AutoSegment* segment = NULL;
optimized = (*igcell)->stepDesaturate ( depth, globalNets, segment ); optimized = (*igcell)->stepDesaturate ( depth, globalNets, segment );
if ( segment ) { if ( segment ) {

View File

@ -1195,6 +1195,8 @@ namespace {
, GCELL_3G_4L3 = 3+(4<<9) , GCELL_3G_4L3 = 3+(4<<9)
, GCELL_4G_1L1 = 4+(1<<3) , GCELL_4G_1L1 = 4+(1<<3)
, GCELL_4G_2L1 = 4+(2<<3) , GCELL_4G_2L1 = 4+(2<<3)
, GCELL_4G_3L1 = 4+(3<<3)
, GCELL_4G_4L1 = 4+(4<<3)
, GCELL_4G_1L3 = 4+(1<<9) , GCELL_4G_1L3 = 4+(1<<9)
}; };
@ -1367,7 +1369,9 @@ namespace {
case GCELL_3G_3L3: case GCELL_3G_3L3:
case GCELL_3G_4L3: case GCELL_3G_4L3:
case GCELL_4G_1L1: case GCELL_4G_1L1:
case GCELL_4G_2L1: _GCell_xG_xL1_xL3 (); break; case GCELL_4G_2L1:
case GCELL_4G_3L1:
case GCELL_4G_4L1: _GCell_xG_xL1_xL3 (); break;
case GCELL_2G_1L2: case GCELL_2G_1L2:
case GCELL_2G_2L2: case GCELL_2G_2L2:
case GCELL_2G_3L2: case GCELL_2G_3L2: