10 #ifndef _DIRECTORDISTANCE_H___
11 #define _DIRECTORDISTANCE_H___
15 #ifdef USE_SWIG_DIRECTORS
24 #define IGNORE_IN_CLASSLIST
29 CDirectorDistance(
bool is_external_features)
30 : CDistance(), external_features(is_external_features)
36 virtual ~CDirectorDistance()
41 virtual float64_t distance_function(int32_t x, int32_t y)
43 SG_ERROR(
"Distance function of Director Distance needs to be overridden.\n")
56 if (idx_a < 0 || idx_b <0)
59 if (!external_features)
62 return compute(idx_a, idx_b);
78 virtual float64_t distance_upper_bounded(int32_t idx_a, int32_t idx_b,
float64_t upper_bound)
92 virtual bool init(CFeatures* lhs, CFeatures* rhs)
94 if (this->parallel->get_num_threads()!=1)
96 SG_WARNING(
"Enforcing to use only one thread due to restrictions of directors\n")
97 this->parallel->set_num_threads(1);
99 return CDistance::init(lhs, rhs);
103 virtual
void cleanup()
112 virtual int32_t get_num_vec_lhs()
121 virtual int32_t get_num_vec_rhs()
130 virtual void set_num_vec_lhs(int32_t num)
139 virtual void set_num_vec_rhs(int32_t num)
148 virtual bool has_features()
150 if (!external_features)
157 virtual void remove_lhs_and_rhs()
163 virtual void remove_lhs()
169 virtual void remove_rhs()
196 virtual const char* get_name()
const {
return "DirectorDistance"; }
203 virtual void set_precompute_matrix(
bool flag)
212 virtual float64_t compute(int32_t x, int32_t y)
214 return distance_function(x, y);
219 bool external_features;
float distance(CJLCoverTreePoint p1, CJLCoverTreePoint p2, float64_t upper_bound)
virtual bool has_features()
virtual int32_t get_num_vec_lhs()
virtual void remove_lhs()
takes all necessary steps if the lhs is removed from distance matrix
EFeatureClass
shogun feature class
virtual void set_precompute_matrix(bool flag)
virtual void remove_lhs_and_rhs()
virtual int32_t get_num_vec_rhs()
EFeatureType
shogun feature type
virtual float64_t distance(int32_t idx_a, int32_t idx_b)
all of classes and functions are contained in the shogun namespace
#define IGNORE_IN_CLASSLIST
virtual void remove_rhs()
takes all necessary steps if the rhs is removed from distance matrix