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:
|