HMLP: High-performance Machine Learning Primitives
pvfmm::KernelFunction< ValueType, DIM > Class Template Reference

Public Types

typedef void( KerFn) (const Vector< ValueType > &r_src, const Vector< ValueType > &n_src, const Vector< ValueType > &v_src, const Vector< ValueType > &r_trg, Vector< ValueType > &v_trg, const void *ctx)
 

Public Member Functions

 KernelFunction (KerFn &ker_, Integer d_src, Integer d_trg, std::string ker_name_, void *ctx_=NULL, bool verbose=false)
 
virtual void operator() (const Vector< ValueType > &r_src, const Vector< ValueType > &n_src, const Vector< ValueType > &v_src, const Vector< ValueType > &r_trg, Vector< ValueType > &v_trg) const
 
std::string Name () const
 
Integer Dim (Integer i) const
 
bool ScaleInvariant () const
 
void BuildMatrix (const Vector< ValueType > &r_src, const Vector< ValueType > &n_src, const Vector< ValueType > &r_trg, Matrix< ValueType > &M) const
 
const Permutation< ValueType > & SrcPerm (Integer idx) const
 
const Permutation< ValueType > & TrgPerm (Integer idx) const
 

Protected Member Functions

void Init (bool verbose)
 

Protected Attributes

void * ctx
 
KerFn & ker
 
std::string ker_name
 
StaticArray< Integer, 2 > ker_dim
 
bool scale_invar
 
StaticArray< Permutation< ValueType >, SymmTransCount > src_perm_vec
 
StaticArray< Permutation< ValueType >, SymmTransCount > trg_perm_vec
 

Static Protected Attributes

static const Integer SymmTransCount = 2 + DIM + DIM * (DIM - 1) / 2
 

The documentation for this class was generated from the following file: