IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LinearKernel.h
1 // LinearKernel.h:
3 // ---------------
4 //
14 
15 #ifndef __IPSDKMATH_LINEARKERNEL_H__
16 #define __IPSDKMATH_LINEARKERNEL_H__
17 
22 
23 namespace ipsdk {
24 namespace math {
25 namespace clustering {
26 
29 
31 {
32 protected:
34  LinearKernel();
35 
36 public:
38  ~LinearKernel();
39 
40 // methods
41 public:
43  static LinearKernel createKernel();
44 
45 // methods
46 public:
48  IPSDK_FORCEINLINE ipReal64 value(const Vector& v) const
49  {
50  return value(v, v);
51  }
52 
55  IPSDK_FORCEINLINE ipReal64 value(const Vector& v0,
56  const Vector& v1) const
57  {
58  return boost::numeric::ublas::inner_prod(v0, v1);
59  }
60 
61 // attributes
62 protected:
63 
64 };
65 
68 
69 } // end of namespace clustering
70 } // end of namespace math
71 } // end of namespace ipsdk
72 
73 #endif // __IPSDKMATH_LINEARKERNEL_H__
Definition of import/export macro for library.
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
boost::numeric::ublas::vector< ipReal64 > Vector
vector type associated to library
Definition: LinearAlgebraTypes.h:36
Definition: LinearKernel.h:30
#define IPSDKMATH_API
Import/Export macro for library IPSDKMath.
Definition: IPSDKMathExports.h:27
Predefined types for clustering algorithm.
Utility functions for linear algebra operations management.