}
float iscale = nmax/(max - min);
float scale = 1/iscale;
- float best_mad = 0;
+ float best_error = 0;
for (int i = 0; i < n; ++i) {
int l = nearest_int(iscale*(x[i] - min));
L[i] = MAX(0, MIN(nmax, l));
float diff = scale * L[i] + min - x[i];
diff = use_mad ? fabsf(diff) : diff * diff;
float w = weights[i];
- best_mad += w * diff;
+ best_error += w * diff;
}
if (nstep < 1) {
*the_min = -min;
this_min = 0;
this_scale = sum_xl / sum_l2;
}
- float mad = 0;
+ float cur_error = 0;
for (int i = 0; i < n; ++i) {
float diff = this_scale * Laux[i] + this_min - x[i];
diff = use_mad ? fabsf(diff) : diff * diff;
float w = weights[i];
- mad += w * diff;
+ cur_error += w * diff;
}
- if (mad < best_mad) {
+ if (cur_error < best_error) {
for (int i = 0; i < n; ++i) {
L[i] = Laux[i];
}
- best_mad = mad;
+ best_error = cur_error;
scale = this_scale;
min = this_min;
}