edit SideBar
|
Toolkit
Authors: G. Hobbs, J. Khoo
The toolkit.c and toolkit.h files are publically available routines. The tempo2 plugins make heavy use of this toolkit. The currently available functions are described below.
Design philosophy
The toolkit has been written in ansi-C, all routines are stored within one file (toolkit.c), the algorithms are written for simplicity and clarity and not for speed and the majority of the routines are stand-alone and can therefore be extracted from the toolkit and including in separate source code.
Output
void TKoutput1(double *x,int n,char *file,int type) , outputs one column of values. If type =1 then a counter is also displayed. The output is written to a file with name "file". To display to the screen use file = "stdout"
Statistics
double TKmean(double *x,int n) , calculates the mean
double TKmin(double *x,int n) , float TKmin_f(float *x,int n) , calculates the minimum value
double TKmax(double *x,int n) , float TKmax_f(float*x,int n) , calculates the maximum value
double TKrange(double *x,int n) , gives the range (maximum-minimum)
void TKremoveMean(double *x,int n) , removes the mean from each value in the x array
double TKminVal(double x1,double x2) , gives the minimum of x1 and x2
double TKmaxVal(double x1,double x2) , gives the maximum of x1 and x2
double TKvariance(double *x, int n) , calculates the variance
double TKsdev(double *x,int n) , calculates the standard deviation (sqrt(1/N) definition)
double TKsampleSdev(double *x,int n) , calculates the sample standard deviation (sqrt(1/N-1) definition)
Fitting
void TKfitSVD(double *x,double *y,double *sig,int n,int nfunc, void *(fitFuncs)(double,double *,int),double *ans) , uses singular value decomposition to fit a linear function.
void TKfitPoly(double x,double *a,int n) , used when fitting a polynomial
Sorting
void TKsort(double *x,int n) , sorts the x array in numerical order
Random number generation
double TKranDev(long *seed) , returns random deviate between 0 and 1
long TKsetSeed() , returns a random number seed set from the computer clock
double TKgaussDev(long *seed) , returns Gaussian random deviates
|