83 bool free_avec, free_bvec;
94 while (left_idx < alen && right_idx < blen)
96 if (avec[left_idx]==bvec[right_idx])
98 uint64_t sym=avec[left_idx];
100 while (left_idx< alen && avec[left_idx]==sym)
103 while (right_idx< blen && bvec[right_idx]==sym)
108 else if (avec[left_idx]<bvec[right_idx])
116 while (left_idx < alen && right_idx < blen)
118 if (avec[left_idx]==bvec[right_idx])
120 int32_t old_left_idx=left_idx;
121 int32_t old_right_idx=right_idx;
123 uint64_t sym=avec[left_idx];
125 while (left_idx< alen && avec[left_idx]==sym)
128 while (right_idx< blen && bvec[right_idx]==sym)
131 result+=((
float64_t) (left_idx-old_left_idx)) * ((
float64_t) (right_idx-old_right_idx));
133 else if (avec[left_idx]<bvec[right_idx])
163 for (j=1; j<len; j++)
165 if (vec[j]==vec[j-1])
183 for (j=1; j<len; j++)
185 if (vec[j]==vec[j-1])
221 int32_t count, int32_t *IDX,
float64_t * weights)
232 SG_DEBUG(
"initializing CCommUlongStringKernel optimization\n")
234 for (int32_t i=0; i<count; i++)
236 if ( (i % (count/10+1)) == 0)
250 SG_DEBUG(
"deleting CCommUlongStringKernel optimization\n")
265 SG_ERROR(
"CCommUlongStringKernel optimization not initialized\n")
274 get_feature_vector(i, alen, free_avec);
280 for (j=1; j<alen; j++)
282 if (avec[j]==avec[j-1])
302 for (j=1; j<alen; j++)
304 if (avec[j]==avec[j-1])
SGVector< uint64_t > dictionary
virtual bool delete_optimization()
virtual void clear_normal()
Template class StringFeatures implements a list of strings.
virtual bool set_normalizer(CKernelNormalizer *normalizer)
virtual float64_t compute_optimized(int32_t idx)
static int32_t binary_search(T *output, int32_t size, T elem)
virtual float64_t normalize_rhs(float64_t value, int32_t idx_rhs)=0
static int32_t binary_search_max_lower_equal(T *output, int32_t size, T elem)
void set_is_initialized(bool p_init)
virtual ~CCommUlongStringKernel()
virtual bool init(CFeatures *l, CFeatures *r)
bool get_is_initialized()
virtual void remove_lhs()
CCommUlongStringKernel(int32_t size=10, bool use_sign=false)
float64_t compute(int32_t idx_a, int32_t idx_b)
virtual void add_to_normal(int32_t idx, float64_t weight)
virtual bool init_optimization(int32_t count, int32_t *IDX, float64_t *weights)
virtual void remove_rhs()
virtual bool init_normalizer()
CFeatures * rhs
feature vectors to occur on right hand side
SGVector< float64_t > dictionary_weights
all of classes and functions are contained in the shogun namespace
CFeatures * lhs
feature vectors to occur on left hand side
The class Features is the base class of all feature objects.
CKernelNormalizer * normalizer
void resize_vector(int32_t n)
friend class CSqrtDiagKernelNormalizer
void merge_dictionaries(int32_t &t, int32_t j, int32_t &k, uint64_t *vec, SGVector< uint64_t > dic, SGVector< float64_t > dic_weights, float64_t weight, int32_t vec_idx)
Template class StringKernel, is the base class of all String Kernels.