936 Appendix A void pcshft(float a,float b,float d[],int n); void pearsn(float x[],float y[],unsigned long n,float *r,float *prob, float *z); void period(float x[],float y[],int n,float ofac,float hifac, float px[],float py[],int np,int *nout,int +jmax,float *prob); void piksr2(intn,f1 oat arr☐,f1 oat brr☐); void piksrt(int n,float arr[]); void pinvs(int iel,int ie2,int jel,int jsf,int jc1,int k, float ***c,float **s); float plgndr(int 1,int m,float x); float poidev(float xm,long *idum); void polcoe(float x[],float y[],int n,float cof[); http://www.nr. void polcof(float xa☐,f1 oat ya],intn,float cof[☐); void poldiv(float u[],int n,float v[],int nv,float q[],float r[]); void polin2(float xia[],float x2a[],float **ya,int m,int n, 83g float x1,float x2,float *y,float *dy); granted for 19881992 void polint(float xa],float ya[],int n,float x,float *y,float *dy); void powell(float p[],float **xi,int n,float ftol,int *iter,float *fret, 1-600 f1oat(*func)(f1oat☐)); void predic(f1 oat data☐,int ndata,f1oatd[☐,intm,float future[☐,int nfut); float probks(float alam); void psdes(unsigned long *lword,unsigned long *irword); /Cambridge University Press. from NUMERICAL RECIPES IN void pwt(float a[],unsigned long n,int isign); void pwtset(int n); float pythag(float a,float b); void pzextr(int iest,float xest,float yest[],float yz[],float dy], int nv); (North America server computer, to make float qgaus(float (*func)(float),float a,float b); one paper THE ART void grdcmp(float **a,int n,float *c,float *d,int *sing); float gromb(float (*func)(float),float a,float b); float gromo(float (*func)(float),float a,float b, strictly prohibited. Programs float (*choose)(float (*)(float),float,float,int)); void groot(float p[],int n,float *b,float *c,float eps); void grsolv(float **a,int n,float c[],float d[],float b[]); void grupdt(float **r,f1oat**gt,intn,f1oatu[门,f1oatv门); float qsimp(float (*func)(float),float a,float b); float qtrap(float (*func)(float),float a,float b); to dir float quad3d(float (*func)(float,float,float),float x1,float x2); void quadct(float x, float y,float xx[],float yy],unsigned long nn OF SCIENTIFIC COMPUTING(ISBN float *fa,float *fb,float *fc,float *fd); rectcustser void quadmx(float **a,int n); void quadvl(float x,float y,float *fa,float *fb,float *fc,float *fd); float ran0(long *idum); 10-621 float ran1(long *idum); float ran2(long *idum); float ran3(long *idum); idge.org 1988-1992 by Numerical Recipes -43108 float ran4(long *idum); void rank(unsigned long n,unsigned long indx[],unsigned long irank[]); void ranpt(float pt[],float regn[],int n); (outside void ratint(float xa[],float ya[],int n,float x,float *y,float *dy); void ratlsq(double (*fn)(double),double a,double b,int mm,int kk, North Software. double cof],double *dev); double ratval(double x,double cof[],int mm,int kk); Amer float rc(float x,float y); float rd(float x,float y,float z); void realft(float data[],unsigned long n,int isign); void rebin(float rc,int nd,float r[],float xin[],float xi[]); void red(int iz1,int iz2,int jz1,int jz2,int jm1,int jm2,int jmf int ic1,int jci,int jcf,int kc,float ***c,float **s); void relax(double *u,double **rhs,int n); void relax2(double *u,double **rhs,int n); void resid(double **res,double **u,double **rhs,int n); float revcst(float x[,float y[],int iorder[],int ncity,int n[]); void reverse(int iorder[],int ncity,int n[]);
936 Appendix A Permission is granted for internet users to make one paper copy for their own personal use. Further reproduction, or any copyin Copyright (C) 1988-1992 by Cambridge University Press. Programs Copyright (C) 1988-1992 by Numerical Recipes Software. Sample page from NUMERICAL RECIPES IN C: THE ART OF SCIENTIFIC COMPUTING (ISBN 0-521-43108-5) g of machinereadable files (including this one) to any server computer, is strictly prohibited. To order Numerical Recipes books or CDROMs, visit website http://www.nr.com or call 1-800-872-7423 (North America only), or send email to directcustserv@cambridge.org (outside North America). void pcshft(float a, float b, float d[], int n); void pearsn(float x[], float y[], unsigned long n, float *r, float *prob, float *z); void period(float x[], float y[], int n, float ofac, float hifac, float px[], float py[], int np, int *nout, int *jmax, float *prob); void piksr2(int n, float arr[], float brr[]); void piksrt(int n, float arr[]); void pinvs(int ie1, int ie2, int je1, int jsf, int jc1, int k, float ***c, float **s); float plgndr(int l, int m, float x); float poidev(float xm, long *idum); void polcoe(float x[], float y[], int n, float cof[]); void polcof(float xa[], float ya[], int n, float cof[]); void poldiv(float u[], int n, float v[], int nv, float q[], float r[]); void polin2(float x1a[], float x2a[], float **ya, int m, int n, float x1, float x2, float *y, float *dy); void polint(float xa[], float ya[], int n, float x, float *y, float *dy); void powell(float p[], float **xi, int n, float ftol, int *iter, float *fret, float (*func)(float [])); void predic(float data[], int ndata, float d[], int m, float future[], int nfut); float probks(float alam); void psdes(unsigned long *lword, unsigned long *irword); void pwt(float a[], unsigned long n, int isign); void pwtset(int n); float pythag(float a, float b); void pzextr(int iest, float xest, float yest[], float yz[], float dy[], int nv); float qgaus(float (*func)(float), float a, float b); void qrdcmp(float **a, int n, float *c, float *d, int *sing); float qromb(float (*func)(float), float a, float b); float qromo(float (*func)(float), float a, float b, float (*choose)(float (*)(float), float, float, int)); void qroot(float p[], int n, float *b, float *c, float eps); void qrsolv(float **a, int n, float c[], float d[], float b[]); void qrupdt(float **r, float **qt, int n, float u[], float v[]); float qsimp(float (*func)(float), float a, float b); float qtrap(float (*func)(float), float a, float b); float quad3d(float (*func)(float, float, float), float x1, float x2); void quadct(float x, float y, float xx[], float yy[], unsigned long nn, float *fa, float *fb, float *fc, float *fd); void quadmx(float **a, int n); void quadvl(float x, float y, float *fa, float *fb, float *fc, float *fd); float ran0(long *idum); float ran1(long *idum); float ran2(long *idum); float ran3(long *idum); float ran4(long *idum); void rank(unsigned long n, unsigned long indx[], unsigned long irank[]); void ranpt(float pt[], float regn[], int n); void ratint(float xa[], float ya[], int n, float x, float *y, float *dy); void ratlsq(double (*fn)(double), double a, double b, int mm, int kk, double cof[], double *dev); double ratval(double x, double cof[], int mm, int kk); float rc(float x, float y); float rd(float x, float y, float z); void realft(float data[], unsigned long n, int isign); void rebin(float rc, int nd, float r[], float xin[], float xi[]); void red(int iz1, int iz2, int jz1, int jz2, int jm1, int jm2, int jmf, int ic1, int jc1, int jcf, int kc, float ***c, float **s); void relax(double **u, double **rhs, int n); void relax2(double **u, double **rhs, int n); void resid(double **res, double **u, double **rhs, int n); float revcst(float x[], float y[], int iorder[], int ncity, int n[]); void reverse(int iorder[], int ncity, int n[]);
Table of Prototype Declarations (nr.h) 937 float rf(float x,float y,float z); float rj(float x,float y,float z,float p); void rk4(float y[],float dydx[],int n,float x,float h,float yout[], void (*derivs)(float,float []float [])) void rkck(float y[],float dydx[],int n,float x,float h, float yout[],float yerr[],void (*derivs)(float,float []float [])) void rkdumb(float vstart[],int nvar,float xi,float x2,int nstep, void(*derivs)(f1oat,f1oat[☐,f1oat])); void rkgs(float y[],float dydx[],int n,float *x, float htry,float eps,float yscal[],float *hdid,float *hnext, void(*derivs).(f1oat,f1oat☐,float)); void rlft3(float +**data,float **speq,unsigned long nn1, unsigned long nn2,unsigned long nn3,int isign); float rofunc(float b); void rotate(float *r,float **qt,int n,int i,float a,float b); void rsolv(float *a,int n,float d[],float b[]); granted for 19881992 void rstrct(double *uc,double **uf,int nc); float rtbis(float (*func)(float),float x1,float x2,float xacc); 1.800 float rtflsp(float (*func)(float),float x1,float x2,float xacc); float rtnewt(void (*funcd)(float,float *float *)float x1,float x2, float xacc); to any nNUMERICAL RECIPES float rtsafe(void (*funcd)(float,float *float *)float x1,float x2 float xacc); float rtsec(float (*func)(float),float x1,float x2,float xacc); void rzextr(int iest,float xest,float yest[],float yz[],float dy,int nv); (Nort to make 2 void savgol(float c[],int np,int nl,int nr,int ld,int m); void score(float xf,float y[],float f[]); America server computer, Cambridge University Press. THE void scrsho(float (*fx)(float)); one paper ART float select(unsigned long k,unsigned long n,float arr[]); float selip(unsigned long k,unsigned long n,float arr]); void shell(unsigned long n,float a[]); Programs void shoot(int n,float v],float f]); for their void shootf(int n,float v[],float f[]); void simpl(float **a,int mm,int l1[],int nll,int iabf,int *kp, float *bmax); void simp2(float **a,int m,int n,int *ip,int kp); to dir void simp3(float **a,int i1,int k1,int ip,int kp); void simplx(float **a,int m,int n,int mi,int m2,int m3,int *icase, int izrov[],int iposv[]); void simpr(f1oaty[☐,f1 oat dydx0,float dfdx☐,f1oat**dfdy, ectcustser int n,float xs,float htot,int nstep,float yout], void(*derivs)(f1oat,f1loat[,float☐)); void sinft(float y[],int n); void slvsm2(double **u,double **rhs); void slvsml(double *u,double **rhs); void sncndn(float uu,float emmc,float *sn,float *cn,float *dn); 1988-1992 by Numerical Recipes SCIENTIFIC COMPUTING(ISBN -43108 double snrm(unsigned long n,double sx[],int itol); void sobseg(int wn,float x[]); void solvde(int itmax,float conv,float slowc,float scalv[], (outside int indexv[],int ne,int nb,int m,float **y,float ***c,float **s); void sor(double **a,double **b,double **c,double **d,double *e, Software. double **f,double **u,int jmax,double rjac); void sort(unsigned long n,float arr[]); void sort2(unsigned long n,float arr[],float brr[); void sort3(unsigned long n,float ra[],float rb[],float rc[]); void spctrm(FILE *fp,float p],int m,int k,int ovrlap); void spear(float datai[],float data2,unsigned long n,float *d,float *zd, float *probd,float *rs,float *probrs); void sphbes(int n,float x,float *sj,float *sy,float *sjp,float *syp); void splie2(f1oatx1a[☐,f1oatx2a[☐,f1oat*ya,intm,intn,f1oat*y2a); void splin2(float xia[],float x2a[],float **ya,float **y2a,int m,int n, float x1,float x2,float *y); void spline(float x[],float y[],int n,float yp1,float ypn,float y2[]); void splint(float xa[],float ya[],float y2a[],int n,float x,float y);
Table of Prototype Declarations (nr.h) 937 Permission is granted for internet users to make one paper copy for their own personal use. Further reproduction, or any copyin Copyright (C) 1988-1992 by Cambridge University Press. Programs Copyright (C) 1988-1992 by Numerical Recipes Software. Sample page from NUMERICAL RECIPES IN C: THE ART OF SCIENTIFIC COMPUTING (ISBN 0-521-43108-5) g of machinereadable files (including this one) to any server computer, is strictly prohibited. To order Numerical Recipes books or CDROMs, visit website http://www.nr.com or call 1-800-872-7423 (North America only), or send email to directcustserv@cambridge.org (outside North America). float rf(float x, float y, float z); float rj(float x, float y, float z, float p); void rk4(float y[], float dydx[], int n, float x, float h, float yout[], void (*derivs)(float, float [], float [])); void rkck(float y[], float dydx[], int n, float x, float h, float yout[], float yerr[], void (*derivs)(float, float [], float [])); void rkdumb(float vstart[], int nvar, float x1, float x2, int nstep, void (*derivs)(float, float [], float [])); void rkqs(float y[], float dydx[], int n, float *x, float htry, float eps, float yscal[], float *hdid, float *hnext, void (*derivs)(float, float [], float [])); void rlft3(float ***data, float **speq, unsigned long nn1, unsigned long nn2, unsigned long nn3, int isign); float rofunc(float b); void rotate(float **r, float **qt, int n, int i, float a, float b); void rsolv(float **a, int n, float d[], float b[]); void rstrct(double **uc, double **uf, int nc); float rtbis(float (*func)(float), float x1, float x2, float xacc); float rtflsp(float (*func)(float), float x1, float x2, float xacc); float rtnewt(void (*funcd)(float, float *, float *), float x1, float x2, float xacc); float rtsafe(void (*funcd)(float, float *, float *), float x1, float x2, float xacc); float rtsec(float (*func)(float), float x1, float x2, float xacc); void rzextr(int iest, float xest, float yest[], float yz[], float dy[], int nv); void savgol(float c[], int np, int nl, int nr, int ld, int m); void score(float xf, float y[], float f[]); void scrsho(float (*fx)(float)); float select(unsigned long k, unsigned long n, float arr[]); float selip(unsigned long k, unsigned long n, float arr[]); void shell(unsigned long n, float a[]); void shoot(int n, float v[], float f[]); void shootf(int n, float v[], float f[]); void simp1(float **a, int mm, int ll[], int nll, int iabf, int *kp, float *bmax); void simp2(float **a, int m, int n, int *ip, int kp); void simp3(float **a, int i1, int k1, int ip, int kp); void simplx(float **a, int m, int n, int m1, int m2, int m3, int *icase, int izrov[], int iposv[]); void simpr(float y[], float dydx[], float dfdx[], float **dfdy, int n, float xs, float htot, int nstep, float yout[], void (*derivs)(float, float [], float [])); void sinft(float y[], int n); void slvsm2(double **u, double **rhs); void slvsml(double **u, double **rhs); void sncndn(float uu, float emmc, float *sn, float *cn, float *dn); double snrm(unsigned long n, double sx[], int itol); void sobseq(int *n, float x[]); void solvde(int itmax, float conv, float slowc, float scalv[], int indexv[], int ne, int nb, int m, float **y, float ***c, float **s); void sor(double **a, double **b, double **c, double **d, double **e, double **f, double **u, int jmax, double rjac); void sort(unsigned long n, float arr[]); void sort2(unsigned long n, float arr[], float brr[]); void sort3(unsigned long n, float ra[], float rb[], float rc[]); void spctrm(FILE *fp, float p[], int m, int k, int ovrlap); void spear(float data1[], float data2[], unsigned long n, float *d, float *zd, float *probd, float *rs, float *probrs); void sphbes(int n, float x, float *sj, float *sy, float *sjp, float *syp); void splie2(float x1a[], float x2a[], float **ya, int m, int n, float **y2a); void splin2(float x1a[], float x2a[], float **ya, float **y2a, int m, int n, float x1, float x2, float *y); void spline(float x[], float y[], int n, float yp1, float ypn, float y2[]); void splint(float xa[], float ya[], float y2a[], int n, float x, float *y);
938 Appendix A void spread(float y,float yy],unsigned long n,float x,int m); void sprsax(f1 oat sa0,unsigned long ija☐,f1oatx[l,f1oatb[☐ unsigned long n); void sprsin(float **a,int n,float thresh, unsigned long nmax,float sa], nsigned1ong1ja[☐); void sprspm(float sa],unsigned long ija[],float sb[],unsigned long ijb[], float sc[],unsigned long ijc[]); void sprstm(float sa[],unsigned long ija],float sb[],unsigned long ijb], float thresh,unsigned long nmax,float sc[],unsigned long ijc[]); void sprstp(float sa[],unsigned long ija[],float sb[],unsigned long ijb[]); void sprstx(float sa],unsigned long ija[],float x[],float b[], unsigned long n); void stifbs(float y[],float dydx[],int nv,float *xx, float htry,float eps,float yscal[,float *hdid,float *hnext, void (*derivs)(float,float []float [])) void stiff(float y[],float dydx[],int n,float *x, granted for from NUMERICAL RECIPES I 18881892 float htry,float eps,float yscal[],float *hdid,float *hnext, void(*derivs)(f1oat,f1oat[,f1oat)); 1.800 void stoerm(float y[],float d2y],int nv,float xs, float htot,int nstep,float yout[], void (*derivs)(float,float []float [])) void svbksb(float *u,float w[],float **v,int m,int n,float b[], to any Cambridge float x); void svdcmp(float **a,int m,int n,float w[],float **v); (North America to make 州bMe se e University Press. 2 void svdfit(float x[],float y[],float sig[],int ndata,float a], int ma,float **u,float **v,float w[],float *chisq, one paper THE void(*funcs.)(f1oat,f1oat☐,int)); void svdvar(float v,int ma,float w[,float **cvm); 是 ART void toeplz(float r[],float x[],float y[],int n); void tptest(float datal,float data2,unsigned long n,float *t,float *prob); void tqli(float d[],float e[],int n,float **z); Programs float trapzd(float (*func)(float),float a,float b,int n); void tred2(float **a,int n,float d[],float e[]); void tridag(float a☐,f1oatb[],f1oatc☐,f1oatr0,f1oatu▣ unsigned long n); float trncst(float x[],float y[],int iorder[],int ncity,int n[]); to dir void trnspt(int iorder[],int ncity,int n[]); void ttest(float datai],unsigned long n1,float data2[],unsigned long n2, float *t,float *prob); 19881982 OF SCIENTIFIC COMPUTING(ISBN void tutest(float datal] unsigned long n1,float data2[],unsigned long n2, float *t,float *prob); void twofft(float data1☐,f1 oat data2[☐,f1 oat fft1[0,f1 oat fft:2[], unsigned long n); 10-621 void vander(double x[],double w[],double g[],int n); void vegas(f1 oat regn[☐,int ndim,f1oat(wfxn)(f1oat[☐,f1oat),int init, unsigned long ncall,int itmx,int nprn,float *tgral,float *sd, -43106 float *chi2a); Numerical Recipes void voltra(int n,int m,float to,float h,float *t,float **f float (g)(int,float),float (*ak)(int,int,float,float)); (outside void wt1(float a[],unsigned long n,int isign, void (*wtstep)(float ]unsigned long,int)); Software. void wtn(f1oata☐,unsigned long nn☐,int ndim,int1sign, void (*wtstep)(float []unsigned long,int)); Amer ying of void wwghts(float wghts[],int n,float h, void(*kermom)(double☐,double,int)); int zbrac(float (*func)(float),float *x1,float *x2); void zbrak(float (*fx)(float),float x1,float x2,int n,float xbi[], float xb2[],int *nb); float zbrent(float (*func)(float),float x1,float x2,float tol); void zrhgr(float a[],int m,float rtr[],float rti[]); float zriddr(float (*func)(float),float x1,float x2,float xacc); void zroots(fcomplex a[□,1ntm,fcomplex roots[□,int polish); #else/米AWSI*/
938 Appendix A Permission is granted for internet users to make one paper copy for their own personal use. Further reproduction, or any copyin Copyright (C) 1988-1992 by Cambridge University Press. Programs Copyright (C) 1988-1992 by Numerical Recipes Software. Sample page from NUMERICAL RECIPES IN C: THE ART OF SCIENTIFIC COMPUTING (ISBN 0-521-43108-5) g of machinereadable files (including this one) to any server computer, is strictly prohibited. To order Numerical Recipes books or CDROMs, visit website http://www.nr.com or call 1-800-872-7423 (North America only), or send email to directcustserv@cambridge.org (outside North America). void spread(float y, float yy[], unsigned long n, float x, int m); void sprsax(float sa[], unsigned long ija[], float x[], float b[], unsigned long n); void sprsin(float **a, int n, float thresh, unsigned long nmax, float sa[], unsigned long ija[]); void sprspm(float sa[], unsigned long ija[], float sb[], unsigned long ijb[], float sc[], unsigned long ijc[]); void sprstm(float sa[], unsigned long ija[], float sb[], unsigned long ijb[], float thresh, unsigned long nmax, float sc[], unsigned long ijc[]); void sprstp(float sa[], unsigned long ija[], float sb[], unsigned long ijb[]); void sprstx(float sa[], unsigned long ija[], float x[], float b[], unsigned long n); void stifbs(float y[], float dydx[], int nv, float *xx, float htry, float eps, float yscal[], float *hdid, float *hnext, void (*derivs)(float, float [], float [])); void stiff(float y[], float dydx[], int n, float *x, float htry, float eps, float yscal[], float *hdid, float *hnext, void (*derivs)(float, float [], float [])); void stoerm(float y[], float d2y[], int nv, float xs, float htot, int nstep, float yout[], void (*derivs)(float, float [], float [])); void svbksb(float **u, float w[], float **v, int m, int n, float b[], float x[]); void svdcmp(float **a, int m, int n, float w[], float **v); void svdfit(float x[], float y[], float sig[], int ndata, float a[], int ma, float **u, float **v, float w[], float *chisq, void (*funcs)(float, float [], int)); void svdvar(float **v, int ma, float w[], float **cvm); void toeplz(float r[], float x[], float y[], int n); void tptest(float data1[], float data2[], unsigned long n, float *t, float *prob); void tqli(float d[], float e[], int n, float **z); float trapzd(float (*func)(float), float a, float b, int n); void tred2(float **a, int n, float d[], float e[]); void tridag(float a[], float b[], float c[], float r[], float u[], unsigned long n); float trncst(float x[], float y[], int iorder[], int ncity, int n[]); void trnspt(int iorder[], int ncity, int n[]); void ttest(float data1[], unsigned long n1, float data2[], unsigned long n2, float *t, float *prob); void tutest(float data1[], unsigned long n1, float data2[], unsigned long n2, float *t, float *prob); void twofft(float data1[], float data2[], float fft1[], float fft2[], unsigned long n); void vander(double x[], double w[], double q[], int n); void vegas(float regn[], int ndim, float (*fxn)(float [], float), int init, unsigned long ncall, int itmx, int nprn, float *tgral, float *sd, float *chi2a); void voltra(int n, int m, float t0, float h, float *t, float **f, float (*g)(int, float), float (*ak)(int, int, float, float)); void wt1(float a[], unsigned long n, int isign, void (*wtstep)(float [], unsigned long, int)); void wtn(float a[], unsigned long nn[], int ndim, int isign, void (*wtstep)(float [], unsigned long, int)); void wwghts(float wghts[], int n, float h, void (*kermom)(double [], double ,int)); int zbrac(float (*func)(float), float *x1, float *x2); void zbrak(float (*fx)(float), float x1, float x2, int n, float xb1[], float xb2[], int *nb); float zbrent(float (*func)(float), float x1, float x2, float tol); void zrhqr(float a[], int m, float rtr[], float rti[]); float zriddr(float (*func)(float), float x1, float x2, float xacc); void zroots(fcomplex a[], int m, fcomplex roots[], int polish); #else /* ANSI */