Lines Matching refs:dim

48     int dim;
74 static inline int distance_limited(int *a, int *b, int dim, int limit)
77 for (i=0; i<dim; i++) {
86 static inline void vect_division(int *res, int *vect, int div, int dim)
90 for (i=0; i<dim; i++)
93 memcpy(res, vect, dim*sizeof(int));
101 error += distance_limited(centroid, elbg->points + cells->index*elbg->dim, elbg->dim, INT_MAX);
112 diff = distance_limited(elbg->codebook + i*elbg->dim, elbg->codebook + index*elbg->dim, elbg->dim, diff_min);
147 int dim,
156 elbg->scratchbuf + 3*dim,
157 elbg->scratchbuf + 4*dim
161 memset(newcentroid[0], 0, 2 * dim * sizeof(*newcentroid[0]));
167 idx = distance_limited(centroid[0], points + tempcell->index*dim, dim, INT_MAX)>=
168 distance_limited(centroid[1], points + tempcell->index*dim, dim, INT_MAX);
170 for (i=0; i<dim; i++)
171 newcentroid[idx][i] += points[tempcell->index*dim + i];
174 vect_division(centroid[0], newcentroid[0], numpoints[0], dim);
175 vect_division(centroid[1], newcentroid[1], numpoints[1], dim);
178 int dist[2] = {distance_limited(centroid[0], points + tempcell->index*dim, dim, INT_MAX),
179 distance_limited(centroid[1], points + tempcell->index*dim, dim, INT_MAX)};
195 for (i=0; i< elbg->dim; i++) {
201 for(i=0; i<elbg->dim; i++) {
202 min[i]=FFMIN(min[i], elbg->points[tempcell->index*elbg->dim + i]);
203 max[i]=FFMAX(max[i], elbg->points[tempcell->index*elbg->dim + i]);
206 for (i=0; i<elbg->dim; i++) {
240 int idx = distance_limited(elbg->points + tempdata->index*elbg->dim,
241 newcentroid[0], elbg->dim, INT_MAX) >
242 distance_limited(elbg->points + tempdata->index*elbg->dim,
243 newcentroid[1], elbg->dim, INT_MAX);
286 elbg->scratchbuf + elbg->dim,
287 elbg->scratchbuf + 2*elbg->dim
294 memset(newcentroid[2], 0, elbg->dim*sizeof(int));
299 for (j=0; j<elbg->dim; j++)
300 newcentroid[2][j] += elbg->points[tempcell->index*elbg->dim + j];
303 vect_division(newcentroid[2], newcentroid[2], cont, elbg->dim);
312 newerror += simple_lbg(elbg, elbg->dim, newcentroid, newutility, elbg->points,
372 int best_dist = distance_limited(elbg->points + i * elbg->dim,
373 elbg->codebook + best_idx * elbg->dim,
374 elbg->dim, INT_MAX);
376 int dist = distance_limited(elbg->points + i * elbg->dim,
377 elbg->codebook + k * elbg->dim,
378 elbg->dim, best_dist);
397 memset(elbg->codebook, 0, elbg->num_cb * elbg->dim * sizeof(*elbg->codebook));
401 for (j=0; j < elbg->dim; j++)
402 elbg->codebook[elbg->nearest_cb[i]*elbg->dim + j] +=
403 elbg->points[i*elbg->dim + j];
407 vect_division(elbg->codebook + i*elbg->dim,
408 elbg->codebook + i*elbg->dim, size_part[i], elbg->dim);
425 int dim = elbg->dim;
432 memcpy(temp_points + i*dim, points + k*dim, dim * sizeof(*temp_points));
437 init_elbg(elbg, temp_points, temp_points + numpoints / 8 * dim,
442 memcpy(elbg->codebook + i * dim, points + ((i*BIG_PRIME)%numpoints)*dim,
443 dim * sizeof(*elbg->codebook));
446 int avpriv_elbg_do(ELBGContext **elbgp, int *points, int dim, int numpoints,
460 elbg->dim = dim;
482 ALLOCATE_IF_NECESSARY(scratchbuf, dim, 5)
485 * (numpoints / 8) * dim elements; the next step needs numpoints / 8 / 8
486 * * dim elements etc. The geometric series leads to an upper bound of
487 * numpoints / 8 * 8 / 7 * dim elements. */
488 uint64_t prod = dim * (uint64_t)(numpoints / 7U);