diff -rc eov-1.0/datapoints.h eov-1.0-mod/datapoints.h *** eov-1.0/datapoints.h Sat Oct 26 23:58:57 2002 --- eov-1.0-mod/datapoints.h Wed Dec 11 13:34:51 2002 *************** *** 129,134 **** --- 129,192 ---- << '\n' << endl; } + void createSvmFile(ostream& out, Voters* v) { + // Creates an SVM input file from the current Datapoints using + // only those features listed in v. This file is sent to out. + int* sorted_voters = sortConst(v->indexes,v->numAttr); + for (int j=0;jnumAttr;i++) + out << (sorted_voters[i] + 1) << ':' + << data[j][sorted_voters[i]] << ' '; + out << endl; + } + delete[] sorted_voters; + } + + int* sortConst(int* array, int len) + { + int* temp = new int[len]; + for (int i=0;i b); + do + i++; + while (a[i] < b); + if (itest(v); a->print(cout); + ofstream out("svmout.train"); + train->createSvmFile(out, v); + out.close(); + out.open("svmout.test"); + test->createSvmFile(out, v); + out.close(); + delete attrs; delete train; delete test;