Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

template<class Col1T, class Col2T, class Col3T, class Col4T, class Col5T, class Col6T, class Col7T, class Col8T, class Col9T>
void Impala::Core::Table::SortOnColumn6 ( TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T > *  t,
bool  ascending 
)

Definition at line 201 of file Sort.h.

References Impala::Util::ApplyOrder(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::GetColumn1(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::GetColumn2(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::GetColumn3(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::GetColumn4(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::GetColumn5(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::GetColumn6(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::GetColumn7(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::GetColumn8(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::GetColumn9(), Impala::Util::QuickSortCo(), Impala::Util::QuickSortDescCo(), and Impala::Core::Table::Table::Size().

Referenced by Sort().

00202 {
00203     int i;
00204     ColumnInt32 rank(t->Size());
00205     for(i=0 ; i<t->Size() ; i++)
00206         rank.Set(i, i);
00207 
00208     if(ascending)
00209         Util::QuickSortCo(t->GetColumn6()->GetData(), rank.GetData(), 0, t->Size()-1);
00210     else
00211         Util::QuickSortDescCo(t->GetColumn6()->GetData(), rank.GetData(), 0, t->Size()-1);
00212 
00213     /* compute order from the rank, so fill an array with numbers
00214        at the positions they are found in the array 'rank'.
00215        this is the 'inverse of the ordering' so to say... */
00216     ColumnInt32 order(t->Size());
00217     for(i=0 ; i<t->Size() ; i++)
00218         order.Set(rank.Get(i), i);
00219 
00220     ApplyOrder(t->GetColumn1(), &order);
00221     ApplyOrder(t->GetColumn2(), &order);
00222     ApplyOrder(t->GetColumn3(), &order);
00223     ApplyOrder(t->GetColumn4(), &order);
00224     ApplyOrder(t->GetColumn5(), &order);
00225     ApplyOrder(t->GetColumn7(), &order);
00226     ApplyOrder(t->GetColumn8(), &order);
00227     ApplyOrder(t->GetColumn9(), &order);
00228 }

Here is the call graph for this function:


Generated on Fri Mar 19 11:19:37 2010 for ImpalaSrc by  doxygen 1.5.1