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

int Impala::Core::Training::KernelMatrix::Diff ( KernelMatrix arg  )  const [inline]

Definition at line 64 of file KernelMatrix.h.

References Impala::Core::Matrix::VirtualMatrix::Diff(), Impala::Core::Table::QuidTable::Diff(), Impala::Core::Feature::FeatureTable::DiffMatrix(), Impala::Core::Matrix::DistributedAccess::GetAverage(), Impala::Core::Matrix::DistributedAccess::GetColumnQuids(), Impala::Core::Matrix::DistributedAccess::GetFeature(), Impala::Core::Matrix::DistributedAccess::GetNrFeatures(), Impala::Core::Matrix::DistributedAccess::GetRowQuids(), Impala::Core::Matrix::DistributedAccess::GetWeight(), ILOG_ERROR, ILOG_INFO, mDA, and mFeatureTab.

00065     {
00066         if (mFeatureTab)
00067             return mFeatureTab->DiffMatrix(arg->mFeatureTab);
00068         if (mDA)
00069         {
00070             ILOG_INFO("Checking row quids");
00071             Table::QuidTable* q1 = mDA->GetRowQuids();
00072             Table::QuidTable* q2 = arg->mDA->GetRowQuids();
00073             int diff = q1->Diff(q2);
00074             if (diff > 0)
00075                 return diff;
00076 
00077             ILOG_INFO("Checking column quids");
00078             q1 = mDA->GetColumnQuids();
00079             q2 = arg->mDA->GetColumnQuids();
00080             diff = q1->Diff(q2);
00081             if (diff > 0)
00082                 return diff;
00083 
00084             ILOG_INFO("Checking features, weight, and average");
00085             for (int i=0 ; i<mDA->GetNrFeatures() ; i++)
00086             {
00087                 if (mDA->GetFeature(i) != arg->mDA->GetFeature(i))
00088                     diff++;
00089                 else if (mDA->GetWeight(i) != arg->mDA->GetWeight(i))
00090                     diff++;
00091                 else if (fabs(mDA->GetAverage(i) - arg->mDA->GetAverage(i))
00092                          > 0.00001)
00093                 {
00094                     ILOG_INFO("[Diff] average " << i << " differs: " <<
00095                               mDA->GetAverage(i) << " vs "
00096                               << arg->mDA->GetAverage(i));
00097                     diff++;
00098                 }
00099             }
00100             if (diff > 0)
00101             {
00102                 ILOG_ERROR("Found " << diff << " diffs in features, etc.");
00103                 return diff;
00104             }
00105 
00106             ILOG_INFO("Checking data");
00107             diff = mDA->Diff(arg->mDA);
00108             return diff;
00109         }
00110         ILOG_ERROR("Diff: logic error");
00111         return 1;
00112     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:21:15 2011 for ImpalaSrc by  doxygen 1.5.1