void testTortureExecute (void) { ieq (1, 4, 0); ieq (3, 3, 1); ieq (5, 2, 0); ine (1, 4, 1); ine (3, 3, 0); ine (5, 2, 1); ilt (1, 4, 1); ilt (3, 3, 0); ilt (5, 2, 0); ile (1, 4, 1); ile (3, 3, 1); ile (5, 2, 0); igt (1, 4, 0); igt (3, 3, 0); igt (5, 2, 1); ige (1, 4, 0); ige (3, 3, 1); ige (5, 2, 1); return; }
CNDCGRankLoss::CNDCGRankLoss(CModel* &model, CVecData* &data) : CRankLoss(model, data) { truncation = 10; // do nothing serious here at the moment... std::cout << "In CNDCGRankLoss!" << std::endl; int num_query = _data->NumOfSubset(); Scalar *Y_array = _data->labels().Data(); max_subset_size = 0; for (int q=0;q<num_query;q++){ int offset = _data->subset[q].startIndex; int subsetsize = _data->subset[q].size; if (max_subset_size < subsetsize){ max_subset_size = subsetsize; } int length = subsetsize; vector<int> indices(length); iota(indices.begin(), indices.end(), 0); indirect_greater_than<Scalar> igt(&(Y_array[offset])); //indirect_less_than<Scalar> igt(&(Y_array[offset])); sort(indices.begin(), indices.end(),igt); sort_vectors.push_back(indices); // use this to compute bs vector<double> b; compute_b(offset, subsetsize, Y_array, indices, b); bs.push_back( b ); } // use largest query information to compute c_i for (int i=0;i<max_subset_size;i++){ //c.push_back( 1.0/pow((i+1.0),1.4) ); c.push_back( max(truncation+1-i,0) ); } pi = (int *) malloc(sizeof(int)*max_subset_size); compute_a(max_subset_size, a); //cout << "finished init\n"; //cout << "max_subset_size " << max_subset_size <<" \n"; //cout << "a.size " << a.size() <<" \n"; //cout << "c.size " << c.size() <<" \n"; }
int main () { pinf = __builtin_inf (); ninf = -__builtin_inf (); NaN = __builtin_nan (""); iuneq (ninf, pinf, 0); iuneq (NaN, NaN, 1); iuneq (pinf, ninf, 0); iuneq (1, 4, 0); iuneq (3, 3, 1); iuneq (5, 2, 0); ieq (1, 4, 0); ieq (3, 3, 1); ieq (5, 2, 0); iltgt (ninf, pinf, 1); iltgt (NaN, NaN, 0); iltgt (pinf, ninf, 1); iltgt (1, 4, 1); iltgt (3, 3, 0); iltgt (5, 2, 1); ine (1, 4, 1); ine (3, 3, 0); ine (5, 2, 1); iunlt (NaN, ninf, 1); iunlt (pinf, NaN, 1); iunlt (pinf, ninf, 0); iunlt (pinf, pinf, 0); iunlt (ninf, ninf, 0); iunlt (1, 4, 1); iunlt (3, 3, 0); iunlt (5, 2, 0); ilt (1, 4, 1); ilt (3, 3, 0); ilt (5, 2, 0); iunle (NaN, ninf, 1); iunle (pinf, NaN, 1); iunle (pinf, ninf, 0); iunle (pinf, pinf, 1); iunle (ninf, ninf, 1); iunle (1, 4, 1); iunle (3, 3, 1); iunle (5, 2, 0); ile (1, 4, 1); ile (3, 3, 1); ile (5, 2, 0); iungt (NaN, ninf, 1); iungt (pinf, NaN, 1); iungt (pinf, ninf, 1); iungt (pinf, pinf, 0); iungt (ninf, ninf, 0); iungt (1, 4, 0); iungt (3, 3, 0); iungt (5, 2, 1); igt (1, 4, 0); igt (3, 3, 0); igt (5, 2, 1); iunge (NaN, ninf, 1); iunge (pinf, NaN, 1); iunge (ninf, pinf, 0); iunge (pinf, pinf, 1); iunge (ninf, ninf, 1); iunge (1, 4, 0); iunge (3, 3, 1); iunge (5, 2, 1); ige (1, 4, 0); ige (3, 3, 1); ige (5, 2, 1); return 0; }
int fpu_post_test_math6 (void) { pinf = __builtin_inf (); ninf = -__builtin_inf (); NaN = __builtin_nan (""); iuneq (ninf, pinf, 0); iuneq (NaN, NaN, 1); iuneq (pinf, ninf, 0); iuneq (1, 4, 0); iuneq (3, 3, 1); iuneq (5, 2, 0); ieq (1, 4, 0); ieq (3, 3, 1); ieq (5, 2, 0); iltgt (ninf, pinf, 1); iltgt (NaN, NaN, 0); iltgt (pinf, ninf, 1); iltgt (1, 4, 1); iltgt (3, 3, 0); iltgt (5, 2, 1); ine (1, 4, 1); ine (3, 3, 0); ine (5, 2, 1); iunlt (NaN, ninf, 1); iunlt (pinf, NaN, 1); iunlt (pinf, ninf, 0); iunlt (pinf, pinf, 0); iunlt (ninf, ninf, 0); iunlt (1, 4, 1); iunlt (3, 3, 0); iunlt (5, 2, 0); ilt (1, 4, 1); ilt (3, 3, 0); ilt (5, 2, 0); iunle (NaN, ninf, 1); iunle (pinf, NaN, 1); iunle (pinf, ninf, 0); iunle (pinf, pinf, 1); iunle (ninf, ninf, 1); iunle (1, 4, 1); iunle (3, 3, 1); iunle (5, 2, 0); ile (1, 4, 1); ile (3, 3, 1); ile (5, 2, 0); iungt (NaN, ninf, 1); iungt (pinf, NaN, 1); iungt (pinf, ninf, 1); iungt (pinf, pinf, 0); iungt (ninf, ninf, 0); iungt (1, 4, 0); iungt (3, 3, 0); iungt (5, 2, 1); igt (1, 4, 0); igt (3, 3, 0); igt (5, 2, 1); iunge (NaN, ninf, 1); iunge (pinf, NaN, 1); iunge (ninf, pinf, 0); iunge (pinf, pinf, 1); iunge (ninf, ninf, 1); iunge (1, 4, 0); iunge (3, 3, 1); iunge (5, 2, 1); ige (1, 4, 0); ige (3, 3, 1); ige (5, 2, 1); if (failed) { post_log ("Error in FPU math6 test\n"); return -1; } return 0; }