/* hist.c CCMATH mathematics library source code.
*
* Copyright (C) 2000 Daniel A. Atkinson All rights reserved.
* This code may be redistributed under the terms of the GNU library
* public license (LGPL). ( See the lgpl.license file for details.)
* ------------------------------------------------------------------------
*/
#include <stdlib.h>
int *hist(double *x,int n,double xmin,double xmax,int kbin,double *bin)
{ int k,*p; double *pm,u;
p=(int *)calloc(kbin+2,sizeof(int)); ++p;
*bin=(xmax-xmin)/kbin;
for(pm=x+n; x<pm ;++x){
if(*x > xmax) k=kbin;
else if ((u=(*x-xmin))<0.) k= -1;
else k=u / *bin;
*(p+k)+=1;
}
return p;
}
syntax highlighted by Code2HTML, v. 0.9.1