int best_start, times_back_start;
double est_intercept, est_slope, est_var, est_intercept_sd, est_slope_sd;
int i, j, nruns;
- double min_distance;
+ double min_distance, mean_distance;
double sd_weight, sd;
double old_skew, old_freq, stress;
offsets[i + inst->runs_samples] = inst->offsets[get_runsbuf_index(inst, i)];
}
- for (i = 0, min_distance = DBL_MAX; i < inst->n_samples; i++) {
+ for (i = 0, mean_distance = 0.0, min_distance = DBL_MAX; i < inst->n_samples; i++) {
j = get_buf_index(inst, i);
peer_distances[i] = 0.5 * inst->peer_delays[j] + inst->peer_dispersions[j];
+ mean_distance += peer_distances[i];
if (peer_distances[i] < min_distance) {
min_distance = peer_distances[i];
}
}
+ mean_distance /= inst->n_samples;
/* And now, work out the weight vector */
- sd = sqrt(inst->variance);
+ sd = mean_distance - min_distance;
if (sd > min_distance || sd <= 0.0)
sd = min_distance;