Improve @param docs for Database::compact()
[xapian.git] / xapian-letor / evalmetric.h
blobfb212dac3741c0d2e5a9261ac1b7bea03f40cadf
1 /* evalmetric.h: The abstract evaluation score file.
3 * Copyright (C) 2012 Parth Gupta
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License as
7 * published by the Free Software Foundation; either version 2 of the
8 * License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
18 * USA
21 #ifndef EVAL_METRIC_H
22 #define EVAM_METRIC_H
25 #include <xapian.h>
26 #include <xapian/intrusive_ptr.h>
28 #include <ranklist.h>
30 #include <list>
31 #include <map>
33 using namespace std;
36 namespace Xapian {
38 class XAPIAN_VISIBILITY_DEFAULT EvalMetric {
40 /** This should be used for evaluation metrics like NDCG@k, MRR@k etc */
41 int k;
42 public:
43 EvalMetric();
45 /* override this in the sub-class like MAP, NDCG, MRR, etc*/
46 double score(const Xapian::RankList & rl);
51 #endif /* EVAL_METRIC_H */