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

int Impala::Core::Feature::FeatureTable::Diff ( FeatureTable arg  )  const [inline]

Definition at line 161 of file FeatureTable.h.

References Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Get1(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Get2(), GetFeatureVectorLength(), ILOG_DEBUG, ILOG_ERROR, Impala::IsNan(), Impala::Core::Vector::Norm1Dist(), and Impala::Core::Table::Table::Size().

Referenced by Impala::Samples::MonetTest::DoCheckFeatures().

00162     {
00163         if (Size() != arg->Size())
00164         {
00165             ILOG_ERROR("Diff: Size differs: " << Size() << " vs " <<
00166                        arg->Size());
00167             return 1;
00168         }
00169         if (GetFeatureVectorLength() != arg->GetFeatureVectorLength())
00170         {
00171             ILOG_ERROR("Diff: vec length differs: " << GetFeatureVectorLength()
00172                        << " vs " << arg->GetFeatureVectorLength());
00173             return 1;
00174         }
00175         int nDiff = 0;
00176         for (int i=0 ; i<Size() ; i++)
00177         {
00178             if (Get1(i) != arg->Get1(i))
00179             {
00180                 ILOG_DEBUG("Quid " << i << " differs " << Get1(i) <<
00181                            " vs " << arg->Get1(i));
00182                 nDiff++;
00183             }
00184             else
00185             {
00186                 Real64 dist = Vector::Norm1Dist(Get2(i), arg->Get2(i));
00187                 if (IsNan(dist) || (dist > 0.00001))
00188                 {
00189                     //ILOG_DEBUG("vector " << i << " differs by " << dist << ": "
00190                     //           << Get2(i) << " vs " << arg->Get2(i));
00191                     ILOG_DEBUG("vector " << i << " differs by " << dist << ": "
00192                                << Get2(i).PrintE(5) << " vs "
00193                                << arg->Get2(i).PrintE(5));
00194                     nDiff++;
00195                 }
00196             }
00197         }
00198         if (nDiff > 0)
00199             ILOG_ERROR("Found " << nDiff << " differences");
00200         return nDiff;
00201     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:19:10 2011 for ImpalaSrc by  doxygen 1.5.1