40 double score, best_score, loc, best_loc, old_sum, new_sum, medd;
41 double old_power_sum, new_power_sum;
47 qsort(data, n,
sizeof(
double),
ltsQSort);
49 old_sum=old_power_sum=0.0;
51 old_sum = old_sum + data[i];
52 old_power_sum = old_power_sum + data[i]*data[i];
63 score = old_power_sum - old_sum*loc;
66 for(j=1; j<h2+1; j++) {
67 new_sum = old_sum - data[j-1] + data[h-1+j];
70 new_power_sum = old_power_sum - data[j-1]*data[j-1]
71 + data[h-1+j]*data[h-1+j];
72 old_power_sum = new_power_sum;
73 score = old_power_sum - old_sum*loc;
74 if(score < best_score) {
84 scaled_data = malloc(n*
sizeof(
double));
85 if(scaled_data == NULL)
return(1);
87 scaled_data[i] = (data[i]-best_loc)*((h-1)/best_score)*(data[i]-best_loc);
90 *variance = (best_score/(h-1))*(medd/CHI2INV_1);
int mean(double *x, double *y, int nr, double *xmean, double *xsd, double *ymean, double *ysd)