31 #ifndef KERNEL_MANAGER_H__ 32 #define KERNEL_MANAGER_H__ 44 class CCustomDistance;
49 #ifndef DOXYGEN_SHOULD_SKIP_THIS 54 explicit KernelManager(
index_t num_kernels);
57 InitPerKernel kernel_at(
index_t i);
58 CKernel* kernel_at(
index_t i)
const;
60 void push_back(CKernel* kernel);
61 const index_t num_kernels()
const;
63 void precompute_kernel_at(
index_t i);
64 void restore_kernel_at(
index_t i);
67 bool same_distance_type()
const;
68 CDistance* get_distance_instance()
const;
69 void set_precomputed_distance(CCustomDistance*
distance)
const;
70 void unset_precomputed_distance()
const;
72 std::vector<std::shared_ptr<CKernel> > m_kernels;
73 std::vector<std::shared_ptr<CCustomKernel> > m_precomputed_kernels;
75 #endif // DOXYGEN_SHOULD_SKIP_THIS 80 #endif // KERNEL_MANAGER_H__ float distance(CJLCoverTreePoint p1, CJLCoverTreePoint p2, float64_t upper_bound)
all of classes and functions are contained in the shogun namespace