source: trunk/c++_tools/classifier/Kernel_MEV.cc @ 658

Last change on this file since 658 was 658, checked in by Peter, 16 years ago

added function in KernelLookup? to create a KernelLookup? from inner data and outer (passed) data.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date ID
File size: 1.4 KB
Line 
1// $Id$
2
3#include <c++_tools/classifier/Kernel_MEV.h>
4
5#include <c++_tools/classifier/DataLookup1D.h>
6#include <c++_tools/classifier/DataLookupWeighted1D.h>
7
8namespace theplu {
9namespace classifier { 
10
11  Kernel_MEV::Kernel_MEV(const MatrixLookup& data, const KernelFunction& kf,
12                         const bool own)
13    : Kernel(data,kf,own) 
14  {
15  }
16
17
18  Kernel_MEV::Kernel_MEV(const MatrixLookupWeighted& data, 
19                         const KernelFunction& kf, const bool own)
20    : Kernel(data,kf,own) 
21  {
22  }
23
24
25  Kernel_MEV::Kernel_MEV(const Kernel_MEV& kernel, 
26                         const std::vector<size_t>& index)
27    : Kernel(kernel,index)
28  {
29  }
30
31
32  const Kernel_MEV* Kernel_MEV::make_kernel(const MatrixLookup& data, 
33                                            const bool own) const
34  {
35    return new Kernel_MEV(data, *kf_, own);
36  }
37
38
39  const Kernel_MEV* Kernel_MEV::make_kernel(const MatrixLookupWeighted& data, 
40                                            const bool own) const
41  {
42    return new Kernel_MEV(data, *kf_, own);
43  }
44
45
46  double Kernel_MEV::operator()(const size_t row, const size_t column) const
47  { 
48    if (data_w_)
49      return (*kf_)(DataLookupWeighted1D(*data_w_,row,false),
50                    DataLookupWeighted1D(*data_w_,column,false)); 
51    else
52      return (*kf_)(DataLookup1D(*data_,row,false),
53                    DataLookup1D(*data_,column,false)); 
54  }
55
56
57  const Kernel_MEV* Kernel_MEV::selected(const std::vector<size_t>& index) const
58  {
59    return new Kernel_MEV(*this, index);
60  }
61
62
63
64}} // of namespace classifier and namespace theplu
Note: See TracBrowser for help on using the repository browser.