5#include "tpcclibConfig.h"
39 double sumsqr=0.0, sqrsum=0.0;
41 if(mean!=NULL) *mean=nan(
"");
42 if(sd!=NULL) *sd=nan(
"");
44 if(n<1 || data==NULL)
return(1);
45 for(i=m=0; i<n; i++)
if(!isnan(data[i])) m++;
50 for(i=0; i<n; i++)
if(!isnan(data[i])) sqrsum+=data[i];
51 if(mean!=NULL) *mean=sqrsum/(double)m;
54 if(sd==NULL)
return(0);
55 if(m==1) {*sd=0.0;
return(0);}
58 for(i=0; i<n; i++)
if(!isnan(data[i])) sumsqr+=data[i]*data[i];
59 double ff=sumsqr - sqrsum/(double)m;
if(!(ff>0.0)) {*sd=0.0;
return(0);}
60 *sd=sqrt( ff/(
double)(m-1) );
87 float sumsqr=0.0, sqrsum=0.0;
89 if(mean!=NULL) *mean=nanf(
"");
90 if(sd!=NULL) *sd=nanf(
"");
92 if(n<1 || data==NULL)
return(1);
93 for(i=m=0; i<n; i++)
if(!isnan(data[i])) m++;
98 for(i=0; i<n; i++)
if(!isnan(data[i])) sqrsum+=data[i];
99 if(mean!=NULL) *mean=sqrsum/(float)m;
102 if(sd==NULL)
return(0);
103 if(m==1) {*sd=0.0;
return(0);}
106 for(i=0; i<n; i++)
if(!isnan(data[i])) sumsqr+=data[i]*data[i];
107 float ff=sumsqr - sqrsum/(float)m;
if(!(ff>0.0)) {*sd=0.0;
return(0);}
108 *sd=sqrtf( ff/(
float)(m-1) );
int statMeanSD(double *data, unsigned int n, double *mean, double *sd, unsigned int *vn)
int fstatMeanSD(float *data, unsigned int n, float *mean, float *sd, unsigned int *vn)
Header file for library libtpcextensions.
Header file for libtpcstatist.