yat  0.21pre
KernelFunction.h
1 #ifndef _theplu_yat_classifier_kernel_function_
2 #define _theplu_yat_classifier_kernel_function_
3 
4 // $Id: KernelFunction.h 4207 2022-08-26 04:36:28Z peter $
5 
6 /*
7  Copyright (C) 2003 Peter Johansson
8  Copyright (C) 2004 Jari Häkkinen, Peter Johansson
9  Copyright (C) 2005 Peter Johansson
10  Copyright (C) 2006, 2007, 2008 Jari Häkkinen, Peter Johansson
11  Copyright (C) 2022 Peter Johansson
12 
13  This file is part of the yat library, http://dev.thep.lu.se/yat
14 
15  The yat library is free software; you can redistribute it and/or
16  modify it under the terms of the GNU General Public License as
17  published by the Free Software Foundation; either version 3 of the
18  License, or (at your option) any later version.
19 
20  The yat library is distributed in the hope that it will be useful,
21  but WITHOUT ANY WARRANTY; without even the implied warranty of
22  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23  General Public License for more details.
24 
25  You should have received a copy of the GNU General Public License
26  along with yat. If not, see <http://www.gnu.org/licenses/>.
27 */
28 
29 namespace theplu {
30 namespace yat {
31 namespace classifier {
32  class DataLookup1D;
33  class DataLookupWeighted1D;
34 
39  {
40 
41  public:
45  KernelFunction(void) {};
46 
50  virtual ~KernelFunction(void) {};
51 
55  virtual double operator()(const DataLookup1D&,
56  const DataLookup1D&) const = 0;
57 
61  virtual double operator()(const DataLookup1D&,
62  const DataLookupWeighted1D&) const = 0;
63 
67  inline double operator()(const DataLookupWeighted1D& vec_w,
68  const DataLookup1D& vec) const
69  { return this->operator()(vec,vec_w); }
70 
74  virtual double operator()(const DataLookupWeighted1D&,
75  const DataLookupWeighted1D&) const = 0;
76 
77  }; // class KernelFunction
78 
79 }}} // of namespace classifier, yat, and theplu
80 
81 #endif
KernelFunction(void)
Definition: KernelFunction.h:45
The Department of Theoretical Physics namespace as we define it.
Class for general vector view.
Definition: DataLookup1D.h:43
Interface class calculating elements in Kernel.
Definition: KernelFunction.h:38
virtual ~KernelFunction(void)
Definition: KernelFunction.h:50
virtual double operator()(const DataLookup1D &, const DataLookup1D &) const =0
double operator()(const DataLookupWeighted1D &vec_w, const DataLookup1D &vec) const
Definition: KernelFunction.h:67
Class for general weighted vector view.
Definition: DataLookupWeighted1D.h:43

Generated on Wed Jan 25 2023 03:34:29 for yat by  doxygen 1.8.14