source: trunk/yat/classifier/KNN_ReciprocalDistance.cc @ 2881

Last change on this file since 2881 was 2881, checked in by Peter, 10 years ago

Define PP variables in config.h rather than in CPPFLAGS. Include
config.h into all source files. Only ammend CXXFLAGS with '-Wall
-pedantic' when --enable-debug. In default mode we respect CXXFLAGS
value set by user, or set to default value '-O3'.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 1.3 KB
Line 
1// $Id: KNN_ReciprocalDistance.cc 2881 2012-11-18 01:28:05Z peter $
2
3// $Id: KNN_ReciprocalDistance.cc 2881 2012-11-18 01:28:05Z peter $
4
5/*
6  Copyright (C) 2008 Jari Häkkinen, Peter Johansson, Markus Ringnér
7
8  This file is part of the yat library, http://dev.thep.lu.se/yat
9
10  The yat library is free software; you can redistribute it and/or
11  modify it under the terms of the GNU General Public License as
12  published by the Free Software Foundation; either version 3 of the
13  License, or (at your option) any later version.
14
15  The yat library is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  General Public License for more details.
19
20  You should have received a copy of the GNU General Public License
21  along with yat. If not, see <http://www.gnu.org/licenses/>.
22*/
23
24#include <config.h>
25
26#include "KNN_ReciprocalDistance.h"
27#include "Target.h"
28
29#include "yat/utility/VectorBase.h"
30#include "yat/utility/VectorMutable.h"
31
32#include <vector>
33
34namespace theplu {
35namespace yat {
36namespace classifier {
37
38  void KNN_ReciprocalDistance::operator()(const utility::VectorBase& distance,
39                                          const std::vector<size_t>& k_sorted, 
40                                          const Target& target, 
41                                          utility::VectorMutable& prediction) const
42  {
43    for(size_t j=0;j<k_sorted.size();j++) 
44      prediction(target(k_sorted[j]))+=1.0/distance(k_sorted[j]);           
45  }
46
47}}}
Note: See TracBrowser for help on using the repository browser.