void chsone(bins,ebins,nbins,knstrn,df,chsq,prob) float *chsq,*df,*prob,bins[],ebins[]; int knstrn,nbins; { float gammq(); void nrerror(); int j; float temp; *df=nbins-knstrn; *chsq=0.0; for (j=1;j<=nbins;j++) { if (ebins[j] <= 0.0) nrerror("Bad expected number in chsone"); temp=bins[j]-ebins[j]; *chsq += temp*temp/ebins[j]; } *prob=gammq(0.5*(*df),0.5*(*chsq)); }