176 |
|
pm->prow = pricerow(pm,i); |
177 |
|
srow = psortrow(pm,i); |
178 |
|
for (j = to_rbf->nrbf; j--; ) { |
179 |
< |
double dprod = DOT(vfrom, vto[j]); |
180 |
< |
pm->prow[j] = ((dprod >= 1.) ? .0 : acos(dprod)) + |
181 |
< |
fabs(R2ANG(to_rbf->rbfa[j].crad) - from_ang); |
179 |
> |
double d; /* quadratic cost function */ |
180 |
> |
d = DOT(vfrom, vto[j]); |
181 |
> |
d = (d >= 1.) ? .0 : acos(d); |
182 |
> |
pm->prow[j] = d*d; |
183 |
> |
d = R2ANG(to_rbf->rbfa[j].crad) - from_ang; |
184 |
> |
pm->prow[j] += d*d; |
185 |
|
srow[j] = j; |
186 |
|
} |
187 |
|
qsort_r(srow, pm->ncols, sizeof(short), pm, &msrt_cmp); |