32 if(i<=j) {s=data[i]; data[i]=data[j]; data[j]=s; i++; j--;}
82 double sumsqr=0.0, sqrsum=0.0, avg;
84 if(n<1 || data==NULL) {
if(sd!=NULL) *sd=0.0;
return(0.0);}
86 for(i=0; i<n; i++) {sumsqr+=data[i]*data[i]; sqrsum+=data[i];}
87 avg=sqrsum/(double)n;
if(sd==NULL)
return(avg);
92 *sd=sqrt( (sumsqr - sqrsum/(
double)n) / (
double)(n-1) );
116 double sumsqr=0.0, sqrsum=0.0, avg;
118 if(n<1 || data==NULL) {
119 if(sd!=NULL) *sd=0.0;
123 for(i=m=0; i<n; i++)
if(!isnan(data[i])) m++;
126 if(sd!=NULL) *sd=nan(
"");
131 for(i=0; i<n; i++)
if(!isnan(data[i])) {
132 sumsqr+=data[i]*data[i]; sqrsum+=data[i];
134 avg=sqrsum/(double)m;
if(sd==NULL)
return(avg);
139 *sd=sqrt( (sumsqr - sqrsum/(
double)m) / (
double)(m-1) );
Header file for libtpcmodel.