10 #ifndef _DIRECTORDISTANCE_H___
11 #define _DIRECTORDISTANCE_H___
13 #ifdef USE_SWIG_DIRECTORS
21 #define IGNORE_IN_CLASSLIST
26 CDirectorDistance(
bool is_external_features)
27 : CDistance(), external_features(is_external_features)
33 virtual ~CDirectorDistance()
38 virtual float64_t distance_function(int32_t x, int32_t y)
40 SG_ERROR(
"Distance function of Director Distance needs to be overridden.\n")
53 if (idx_a < 0 || idx_b <0)
56 if (!external_features)
59 return compute(idx_a, idx_b);
75 virtual float64_t distance_upper_bounded(int32_t idx_a, int32_t idx_b,
float64_t upper_bound)
89 virtual bool init(CFeatures* lhs, CFeatures* rhs)
91 if (this->parallel->get_num_threads()!=1)
93 SG_WARNING(
"Enforcing to use only one thread due to restrictions of directors\n")
94 this->parallel->set_num_threads(1);
96 return CDistance::init(lhs, rhs);
100 virtual
void cleanup()
109 virtual int32_t get_num_vec_lhs()
118 virtual int32_t get_num_vec_rhs()
127 virtual void set_num_vec_lhs(int32_t num)
136 virtual void set_num_vec_rhs(int32_t num)
145 virtual bool has_features()
147 if (!external_features)
154 virtual void remove_lhs_and_rhs()
160 virtual void remove_lhs()
166 virtual void remove_rhs()
193 virtual const char* get_name()
const {
return "DirectorDistance"; }
200 virtual void set_precompute_matrix(
bool flag)
209 virtual float64_t compute(int32_t x, int32_t y)
211 return distance_function(x, y);
216 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