14 using namespace shogun;
18 SG_UNSTABLE(
"CHashedWDFeatures::CHashedWDFeatures()",
"\n");
38 int32_t start_order, int32_t order, int32_t from_order,
66 degree(orig.degree), start_degree(orig.start_degree),
67 from_degree(orig.from_degree), m_hash_bits(orig.m_hash_bits),
68 normalization_const(orig.normalization_const)
94 bool free_vec1, free_vec2;
97 uint8_t* vec2=wdf->strings->get_feature_vector(vec_idx2, len2, free_vec2);
103 for (int32_t i=0; i<len1; i++)
105 for (int32_t j=0; (i+j<len1) && (j<
degree); j++)
107 if (vec1[i+j]!=vec2[i+j])
114 wdf->strings->free_feature_vector(vec2, vec_idx2, free_vec2);
120 if (vec2_len !=
w_dim)
121 SG_ERROR(
"Dimensions don't match, vec2_dim=%d, w_dim=%d\n", vec2_len,
w_dim);
146 for (int32_t i=0; i+k < len; i++)
150 #ifdef DEBUG_HASHEDWD
151 SG_PRINT(
"vec[i]=%d, k=%d, offs=%d o=%d h=%d \n", vec[i], k,offs, o, h);
153 sum+=vec2[o+(h &
mask)]*wd;
166 if (vec2_len !=
w_dim)
167 SG_ERROR(
"Dimensions don't match, vec2_dim=%d, w_dim=%d\n", vec2_len,
w_dim);
194 for (int32_t i=0; i+k < len; i++)
199 #ifdef DEBUG_HASHEDWD
200 SG_PRINT(
"offs=%d o=%d h=%d \n", offs, o, h);
201 SG_PRINT(
"vec[i]=%d, k=%d, offs=%d o=%d h=%d \n", vec[i], k,offs, o, h);
203 vec2[o+(h &
mask)]+=wd;
223 for (int32_t i=0; i<
degree; i++)
226 SG_DEBUG(
"created HashedWDFeatures with d=%d (%d), alphabetsize=%d, "
227 "dim=%d partial_dim=%d num=%d, len=%d\n",
238 for (int32_t i=0; i<
degree; i++)