17 using namespace shogun;
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])
162 for (j=1; j<len; j++)
164 if (vec[j]==vec[j-1])
182 for (j=1; j<len; j++)
184 if (vec[j]==vec[j-1])
218 int32_t count, int32_t *IDX,
float64_t * weights)
229 SG_DEBUG(
"initializing CCommUlongStringKernel optimization\n")
231 for (int32_t i=0; i<count; i++)
233 if ( (i % (count/10+1)) == 0)
247 SG_DEBUG(
"deleting CCommUlongStringKernel optimization\n")
262 SG_ERROR(
"CCommUlongStringKernel optimization not initialized\n")
271 get_feature_vector(i, alen, free_avec);
277 for (j=1; j<alen; j++)
279 if (avec[j]==avec[j-1])
299 for (j=1; j<alen; j++)
301 if (avec[j]==avec[j-1])