home *** CD-ROM | disk | FTP | other *** search
/ vis-ftp.cs.umass.edu / vis-ftp.cs.umass.edu.tar / vis-ftp.cs.umass.edu / pub / Software / ASCENDER / ascendMar8.tar / UMass / BuildingFinder / NRIncludes / nr.h < prev    next >
C/C++ Source or Header  |  1995-04-12  |  28KB  |  733 lines

  1. typedef struct FCOMPLEX {float r,i;} fcomplex;
  2. typedef struct IMMENSE {unsigned long l,r;} immense;
  3. typedef struct GREAT {unsigned short l,c,r;} great;
  4.  
  5. #define TRADITIONAL 1   /* but leave LINT_ARGS and ANSI undefined */
  6. #ifdef LINT_ARGS
  7.     void adi(double **, double **, double **, double **, 
  8.         double **, double **, double **, double **, 
  9.         int, int, double, double, double);
  10.     void amoeba(float **, float *, int, float, float (*)(), int *);
  11.     void anneal(float *, float *, int *, int);
  12.     void avevar(float *, int, float *, float *);
  13.     void balanc(float **, int);
  14.     void bcucof(float *, float *, float *, float *, float, 
  15.         float, float **);
  16.     void bcuint(float *, float *, float *, float *, float, 
  17.         float, float, float, float, float, float *, 
  18.         float *, float *);
  19.     float bessi(int, float);
  20.     float bessi0(float);
  21.     float bessi1(float);
  22.     float bessj(int, float);
  23.     float bessj0(float);
  24.     float bessj1(float);
  25.     float bessk(int, float);
  26.     float bessk0(float);
  27.     float bessk1(float);
  28.     float bessy(int, float);
  29.     float bessy0(float);
  30.     float bessy1(float);
  31.     float beta(float, float);
  32.     float betacf(float, float, float);
  33.     float betai(float, float, float);
  34.     float bico(int, int);
  35.     void bksub(int, int, int, int, int, float ***);
  36.     float bnldev(float, int, int *);
  37.     float brent(float, float, float, float (*)(), float, float *);
  38.     void bsstep(float *, float *, int, float *, float,
  39.         float, float *, float *, float *, void (*)());
  40.     void caldat(long, int *, int *, int *);
  41.     float cel(float, float, float, float);
  42.     void chder(float, float, float *, float *, int);
  43.     float chebev(float, float, float *, int, float);
  44.     void chebft(float, float, float *, int, float (*)());
  45.     void chebpc(float *, float *, int);
  46.     void chint(float, float, float *, float *, int);
  47.     void chsone(float *, float *, int, int, float *, 
  48.         float *, float *);
  49.     void chstwo(float *, float *, int, int, float *, 
  50.         float *, float *);
  51.     void cntab1(int **, int, int, float *, float *, 
  52.         float *, float *, float *);
  53.     void cntab2(int **, int, int, float *, float *, 
  54.         float *, float *, float *, float *, float *, float *);
  55.     void convlv(float *, int, float *, int, int, float *);
  56.     void correl(float *, float *, int, float *);
  57.     void cosft(float *, int, int);
  58.     void covsrt(float **, int, int *, int);
  59.     void crank(int, float *, float *);
  60.     float dbrent(float, float, float, float (*)(), float (*)(),
  61.         float, float *);
  62.     void ddpoly(float *, int, float, float *, int);
  63.     void des(immense, immense, int *, int, immense *);
  64.     void ks(immense, int, great *);
  65.     void cyfun(unsigned long, great, unsigned long *);
  66.     float df1dim(float);
  67.     void dfpmin(float *, int, float, int *, float *, float (*)(),
  68.         void (*)());
  69.     void difeq(int, int, int, int, int, int, int *, int, 
  70.         float **, float **);
  71.     void dlinmin(float *, float *, int, float *, float (*)(), void (*)());
  72.     void eclass(int *, int, int *, int *, int);
  73.     void eclazz(int *, int, int (*)());
  74.     void eigsrt(float *, float **, int);
  75.     float el2(float, float, float, float);
  76.     void elmhes(float **, int);
  77.     float erfcc(float);
  78.     void eulsum(float *, float, int, float *);
  79.     float evlmem(float, float *, int, float);
  80.     float expdev(int *);
  81.     float f1dim(float);
  82.     float factln(int);
  83.     float factrl(int);
  84.     void fgauss(float, float *, float *, float *, int);
  85.     void fit(float *, float *, int, float *, int, float *, 
  86.         float *, float *, float *, float *, float *);
  87.     void fixrts(float *, int);
  88.     void fleg(float, float *, int);
  89.     void flmoon(int, int, long *, float *);
  90.     void four1(float *, int, int);
  91.     void fourn(float *, int *, int, int);
  92.     void fpoly(float, float *, int);
  93.     void frprmn(float *, int, float, int *, float *, float (*)(),
  94.         void (*)());
  95.     void ftest(float *, int, float *, int, float *, float *);
  96.     float gamdev(int, int *);
  97.     float gammln(float);
  98.     float gammp(float, float);
  99.     float gammq(float, float);
  100.     float gasdev(int *);
  101.     void gauleg(double, double, double *, double *, int);
  102.     void gaussj(float **, int, float **, int);
  103.     void gcf(float *, float, float, float *);
  104.     float golden(float, float, float, float (*)(), float, float *);
  105.     void gser(float *, float, float, float *);
  106.     void hqr(float **, int, float *, float *);
  107.     void hunt(float *, int, float, int *);
  108.     void indexx(int, float *, int *);
  109.     int irbit1(unsigned long int *);
  110.     int irbit2(unsigned long int *);
  111.     void jacobi(float **, int, float *, float **, int *);
  112.     long julday(int, int, int);
  113.     void kendl1(float *, float *, int, float *, float *, float *);
  114.     void kendl2(float **, int, int, float *, float *, float *);
  115.     void ksone(float *, int, float (*)(), float *, float *);
  116.     void kstwo(float *, int, float *, int, float *, float *);
  117.     void laguer(fcomplex *, int, fcomplex *, float, int);
  118.     void lfit(float *, float *, float *, int, float *, int, 
  119.         int *, int, float **, float *, void (*)());
  120.     void linmin(float *, float *, int, float *, float (*)());
  121.     void locate(float *, int, float, int *);
  122.     void lubksb(float **, int, int *, float *);
  123.     void ludcmp(float **, int, int *, float *);
  124.     void mdian1(float *, int, float *);
  125.     void mdian2(float *, int, float *);
  126.     void medfit(float *, float *, int, float *, float *, float *);
  127.     void memcof(float *, int, int, float *, float *);
  128.     float midexp(float (*)(), float, float, int);
  129.     float midinf(float (*)(), float, float, int);
  130.     float midpnt(float (*)(), float, float, int);
  131.     float midsql(float (*)(), float, float, int);
  132.     float midsqu(float (*)(), float, float, int);
  133.     void mmid(float *, float *, int, float, float, int, float *,
  134.         void (*)());
  135.     void mnbrak(float *, float *, float *, float *, 
  136.         float *, float *, float (*)());
  137.     void mnewt(int, float *, int, float, float);
  138.     void moment(float *, int, float *, float *, float *, 
  139.         float *, float *, float *);
  140.     void mprove(float **, float **, int, int *, float *, float *);
  141.     void mrqcof(float *, float *, float *, int, float *, int, 
  142.         int *, int, float **, float *, float *, void (*)());
  143.     void mrqmin(float *, float *, float *, int, float *, int, 
  144.         int *, int, float **, float **, float *, void (*)(),
  145.         float *);
  146.     void odeint(float *, int, float, float, float, float, 
  147.         float, int *, int *, void (*)(), void (*)());
  148.     void pcshft(float, float, float *, int);
  149.     void pearsn(float *, float *, int, float *, float *, float *);
  150.     void piksr2(int, float *, float *);
  151.     void piksrt(int, float *);
  152.     void pinvs(int, int, int, int, int, int, float ***, float **);
  153.     float plgndr(int, int, float);
  154.     float poidev(float, int *);
  155.     void polcoe(float *, float *, int, float *);
  156.     void polcof(float *, float *, int, float *);
  157.     void poldiv(float *, int, float *, int, float *, float *);
  158.     void polin2(float *, float *, float **, int, int, float, 
  159.         float, float *, float *);
  160.     void polint(float *, float *, int, float, float *, float *);
  161.     void powell(float *, float **, int, float, int *, float *, float (*)());
  162.     void predic(float *, int, float *, int, float *, int);
  163.     float probks(float);
  164.     void pzextr(int, float, float *, float *, float *, int, int);
  165.     void qcksrt(int, float *);
  166.     float qgaus(float (*)(float), float, float);
  167.     float qromb(float (*)(float), float, float);
  168.     float qromo(float (*)(float), float, float, float (*)());
  169.     void qroot(float *, int, float *, float *, float);
  170.     float qsimp(float (*)(float), float, float);
  171.     float qtrap(float (*)(float), float, float);
  172.     float quad3d(float (*)(float), float, float);
  173.     float ran0(int *);
  174.     float ran1(int *);
  175.     float ran2(long *);
  176.     float ran3(int *);
  177.     float ran4(int *);
  178.     void rank(int, int *, int *);
  179.     void ratint(float *, float *, int, float, float *, float *);
  180.     void realft(float *, int, int);
  181.     void red(int, int, int, int, int, int, int, int, int, int, 
  182.         int, float ***, float **);
  183.     void rk4(float *, float *, int, float, float, float *, void (*)());
  184.     void rkdumb(float *, int, float, float, int, void (*)());
  185.     void rkqc(float *, float *, int, float *, float, float, 
  186.         float *, float *, float *, void (*)());
  187.     float rofunc(float);
  188.     float rtbis(float (*)(), float, float, float);
  189.     float rtflsp(float (*)(), float, float, float);
  190.     float rtnewt(void (*)(), float, float, float);
  191.     float rtsafe(void (*)(), float, float, float);
  192.     float rtsec(float (*)(), float, float, float);
  193.     void rzextr(int, float, float *, float *, float *, int, int);
  194.     void scrsho(float (*)());
  195.     void shell(int, float *);
  196.     void shoot(int, float *, float *, int, float, float, float, 
  197.         float, float, float *, float *);
  198.     void shootf(int, float *, float *, float *, float *, int, int, 
  199.         float, float, float, float, float, float, float *, 
  200.         float *, float *);
  201.     void simp1(float **, int, int *, int, int, int *, float *);
  202.     void simp2(float **, int, int *, int, int *, int, float *);
  203.     void simp3(float **, int, int, int, int);
  204.     void simplx(float **, int, int, int, int, int, 
  205.         int *, int *, int *);
  206.     void sinft(float *, int);
  207.     void smooft(float *, int, float);
  208.     void sncndn(float, float, float *, float *, float *);
  209.     void solvde(int, float, float, float *, int *, int, int, 
  210.         int, float **, float ***, float **);
  211.     void sor(double **, double **, double **, double **, double **, 
  212.         double **, double **, int, double);
  213.     void sort(int, float *);
  214.     void sort2(int, float *, float *);
  215.     void sort3(int, float *, float *, float *);
  216.     void sparse(float *, int, float *, float *);
  217.     void spctrm(FILE *, float *, int, int, int);
  218.     void spear(float *, float *, int, float *, 
  219.         float *, float *, float *, float *);
  220.     void splie2(float *, float *, float **, int, int, float **);
  221.     void splin2(float *, float *, float **, float **, int, int, 
  222.         float, float, float *);
  223.     void spline(float *, float *, int, float, float, float *);
  224.     void splint(float *, float *, float *, int, float, float *);
  225.     void svbksb(float **, float *, float **, int, int,
  226.         float *, float *);
  227.     void svdcmp(float **, int, int, float *, float **);
  228.     void svdfit(float *, float *, float *, int, float *, int, 
  229.         float **, float **, float *, float *, void (*)());
  230.     void svdvar(float **, int, float *, float **);
  231.     void toeplz(float *, float *, float *, int);
  232.     void tptest(float *, float *, int, float *, float *);
  233.     void tqli(float *, float *, int, float **);
  234.     float trapzd(float (*)(float), float, float, int);
  235.     void tred2(float **, int, float *, float *);
  236.     void tridag(float *, float *, float *, float *, float *, int);
  237.     void ttest(float *, int, float *, int, float *, float *);
  238.     void tutest(float *, int, float *, int, float *, float *);
  239.     void twofft(float *, float *, float *, float *, int);
  240.     void vander(float *, float *, float *, int);
  241.     int zbrac(float (*)(), float *, float *);
  242.     void zbrak(float (*)(), float, float, int, float *, float *, int *);
  243.     float zbrent(float (*)(), float, float, float);
  244.     void zroots(fcomplex *, int, fcomplex *, int);
  245. #endif
  246. #ifdef ANSI
  247.     void  adi(double **a, double **b, double **c, double **d, double **e,
  248.         double **f, double **g, double **u, int jmax, int k,
  249.         double alpha, double beta, double eps);
  250.     void  amoeba(float **p, float *y, int ndim, float ftol,
  251.         float (*funk)(float *), int *iter);
  252.     void  anneal(float *x, float *y, int *iorder, int ncity);
  253.     void  avevar(float *data, int n, float *ave, float *svar);
  254.     void  balanc(float **a, int n);
  255.     void  bcucof(float *y, float *y1, float *y2, float *y12, float d1,
  256.         float d2, float **c);
  257.     void  bcuint(float *y, float *y1, float *y2, float *y12, float x1l, 
  258.         float x1u, float x2l, float x2u, float x1, float x2, 
  259.         float *ansy, float *ansy1, float *ansy2);
  260.     float bessi(int n, float x);
  261.     float bessi0(float x);
  262.     float bessi1(float x);
  263.     float bessj(int n, float x);
  264.     float bessj0(float x);
  265.     float bessj1(float x);
  266.     float bessk(int n, float x);
  267.     float bessk0(float x);
  268.     float bessk1(float x);
  269.     float bessy(int n, float x);
  270.     float bessy0(float x);
  271.     float bessy1(float x);
  272.     float beta(float z, float w);
  273.     float betacf(float a, float b, float x);
  274.     float betai(float a, float b, float x);
  275.     float bico(int n, int k);
  276.     void  bksub(int ne, int nb, int jf, int k1, int k2, float ***c);
  277.     float bnldev(float pp, int n, int *idum);
  278.     float brent(float ax, float bx, float cx, float (*f)(float), float tol,
  279.         float *xmin);
  280.     void  bsstep(float *y, float *dydx, int nv, float *xx, float htry,
  281.         float eps, float *yscal, float *hdid, float *hnext, 
  282.         void (*derivs)(float,float *,float *));
  283.     void  caldat(long julian, int *mm, int *id, int *iyyy);
  284.     float cel(float qqc, float pp, float aa, float bb);
  285.     void  chder(float a, float b, float *c, float *cder, int n);
  286.     float chebev(float a, float b, float *c, int m, float x);
  287.     void  chebft(float a, float b, float *c, int n, float (*func)(float));
  288.     void  chebpc(float *c, float *d, int n);
  289.     void  chint(float a, float b, float *c, float *cint, int n);
  290.     void  chsone(float *bins, float *ebins, int nbins, int knstrn, 
  291.         float *df, float *chsq, float *prob);
  292.     void  chstwo(float *bins1, float *bins2, int nbins, int knstrn, 
  293.         float *df, float *chsq, float *prob);
  294.     void  cntab1(int **nn, int n1, int nj, float *chisq, float *df, 
  295.         float *prob, float *cramrv, float *ccc);
  296.     void  cntab2(int **nn, int ni, int nj, float *h, float *hx, float *hy, 
  297.         float *hygx, float *hxgy, float *uygx, float *uxgy,
  298.         float *uxy);
  299.     void  convlv(float *data, int n, float *respns, int m, int isign, 
  300.         float *ans);
  301.     void  correl(float *data1, float *data2, int n, float *ans);
  302.     void  cosft(float *y, int n, int isign);
  303.     void  covsrt(float **covar, int ma, int *lista, int mfit);
  304.     void  crank(int n, float *w, float *s);
  305.     float dbrent(float ax, float bx, float cx, float (*f)(float),
  306.         float (*df)(float), float tol, float *xmin);
  307.     void  ddpoly(float *c, int nc, float x, float *pd, int nd);
  308.     void  des(immense inp, immense key, int *newkey, int isw, immense *out);
  309.     void  ks(immense key, int n, great *kn);
  310.     void  cyfun(unsigned long ir, great k, unsigned long *iout);
  311.     float df1dim(float x);
  312.     void  dfpmin(float *p, int n, float ftol, int *iter, float *fret, 
  313.         float (*func)(float *), void (*dfunc)(float *,float *));
  314.     void  difeq(int k, int k1, int k2, int jsf, int is1, int isf, 
  315.         int *indexv, int ne, float **s, float **y);
  316.     void  dlinmin(float *p, float *xi, int n, float *fret,
  317.         float (*func)(float *), void (*dfunc)(float *,float *));
  318.     void  eclass(int *nf, int n, int *lista, int *listb, int m);
  319.     void  eclazz(int *nf, int n, int (*equiv)(int,int));
  320.     void  eigsrt(float *d, float **v, int n);
  321.     float el2(float x, float qqc, float aa, float bb);
  322.     void  elmhes(float **a, int n);
  323.     float erf(float x);
  324.     float erfc(float x);
  325.     float erfcc(float x);
  326.     void  eulsum(float *sum, float term, int jterm, float *wksp);
  327.     float evlmem(float fdt, float *cof, int m, float pm);
  328.     float expdev(int *idum);
  329.     float f1dim(float x);
  330.     float factln(int n);
  331.     float factrl(int n);
  332.     void  fgauss(float x, float *a, float *y, float *dyda, int na);
  333.     void  fit(float *x, float *y, int ndata, float *sig, int mwt, float *a, 
  334.         float *b, float *siga, float *sigb, float *chi2, float *q);
  335.     void  fixrts(float *d, int npoles);
  336.     void  fleg(float x, float *pl, int nl);
  337.     void  flmoon(int n, int nph, long *jd, float *frac);
  338.     void  four1(float *data, int nn, int isign);
  339.     void  fourn(float *data, int *nn, int ndim, int isign);
  340.     void  fpoly(float x, float *p, int np);
  341.     void  frprmn(float *p, int n, float ftol, int *iter, float *fret, 
  342.         float (*func)(float *), void (*dfunc)(float *,float *));
  343.     void  ftest(float *data1, int n1, float *data2, int n2, float *f, 
  344.         float *prob);
  345.     float gamdev(int ia, int *idum);
  346.     float gammln(float xx);
  347.     float gammp(float a, float x);
  348.     float gammq(float a, float x);
  349.     float gasdev(int *idum);
  350.     void  gauleg(double x1, double x2, double *x, double *w, int n);
  351.     void  gaussj(float **a, int n, float **b, int m);
  352.     void  gcf(float *gammcf, float a, float x, float *gln);
  353.     float golden(float ax, float bx, float cx, float (*f)(float), float tol, 
  354.         float *xmin);
  355.     void  gser(float *gamser, float a, float x, float *gln);
  356.     void  hqr(float **a, int n, float *wr, float *wi);
  357.     void  hunt(float *xx, int n, float x, int *jlo);
  358.     void  indexx(int n, float *arrin, int *indx);
  359.     int   irbit1(unsigned long int *iseed);
  360.     int   irbit2(unsigned long int *iseed);
  361.     void  jacobi(float **a, int n, float *d, float **v, int *nrot);
  362.     long  julday(int mm, int id, int iyyy);
  363.     void  kendl1(float *data1, float *data2, int n, float *tau, float *z,
  364.         float *prob);
  365.     void  kendl2(float **tab, int i, int j, float *tau, float *z,
  366.         float *prob);
  367.     void  ksone(float *data, int n, float (*func)(float), float *d,
  368.         float *prob);
  369.     void  kstwo(float *data1, int n1, float *data2, int n2, float *d,
  370.         float *prob);
  371.     void  laguer(fcomplex *a, int m, fcomplex *x, float eps, int polish);
  372.     void  lfit(float *x, float *y, float *sig, int ndata, float *a, int ma, 
  373.         int *lista, int mfit, float **covar, float *chisq,
  374.         void (*funcs)(float,float *,int));
  375.     void  linmin(float *p, float *xi, int n, float *fret, float (*func)(float));
  376.     void  locate(float *xx, int n, float x, int *j);
  377.     void  lubksb(float **a, int n, int *indx, float *b);
  378.     void  ludcmp(float **a, int n, int *indx, float *d);
  379.     void  mdian1(float *x, int n, float *xmed);
  380.     void  mdian2(float *x, int n, float *xmed);
  381.     void  medfit(float *x, float *y, int ndata, float *a, float *b,
  382.         float *abdev);
  383.     void  memcof(float *data, int n, int m, float *pm, float *cof);
  384.     float midexp(float (*funk)(float), float aa, float bb, int n);
  385.     float midinf(float (*funk)(float), float aa, float bb, int n);
  386.     float midpnt(float (*func)(float), float a, float b, int n);
  387.     float midsql(float (*funk)(float), float aa, float bb, int n);
  388.     float midsqu(float (*funk)(float), float aa, float bb, int n);
  389.     void  mmid(float *y, float *dydx, int nvar, float xs, float htot,
  390.         int nstep, float *yout,
  391.         void (*derivs)(float,float *,float *));
  392.     void  mnbrak(float *ax, float *bx, float *cx, float *fa, float *fb, 
  393.         float *fc, float (*func)(float));
  394.     void  mnewt(int ntrial, float *x, int n, float tolx, float tolf);
  395.     void  moment(float *data, int n, float *ave, float *adev, float *sdev, 
  396.         float *svar, float *skew, float *curt);
  397.     void  mprove(float **a, float **alud, int n, int *indx, float *b, 
  398.         float *x);
  399.     void  mrqcof(float *x, float *y, float *sig, int ndata, float *a, int ma, 
  400.         int *lista, int mfit, float **alpha, float *beta, float
  401.         *chisq, void (*funcs)(float,float *,float *,float *,int));
  402.     void  mrqmin(float *x, float *y, float *sig, int ndata, float *a,
  403.         int ma, int *lista, int mfit, float **covar, float **alpha, 
  404.         float *chisq, void (*funcs)(float,float *,float *,float *,
  405.         int),float *alamda);
  406.     void  odeint(float *ystart, int nvar, float x1, float x2, float eps,
  407.         float h1, float hmin, int *nok, int *nbad,
  408.         void (*derivs)(float,float *,float *),
  409.         void  (*rkqc)(float *,float *,int,float *,float,float,float
  410.         *,float *,float *,void (*)(float,float *,float *)));
  411.     void  pcshft(float a, float b, float *d, int n);
  412.     void  pearsn(float *x, float *y, int n, float *r, float *prob, float *z);
  413.     void  piksr2(int n, float *arr, float *brr);
  414.     void  piksrt(int n, float *arr);
  415.     void  pinvs(int ie1, int ie2, int je1, int jsf, int jc1, int k,
  416.         float ***c, float **s);
  417.     float plgndr(int l, int m, float x);
  418.     float poidev(float xm, int *idum);
  419.     void  polcoe(float *x, float *y, int n, float *cof);
  420.     void  polcof(float *xa, float *ya, int n, float *cof);
  421.     void  poldiv(float *u, int n, float *v, int nv, float *q, float *r);
  422.     void  polin2(float *x1a, float *x2a, float **ya, int m, int n, float x1, 
  423.         float x2, float *y, float *dy);
  424.     void  polint(float *xa, float *ya, int n, float x, float *y, float *dy);
  425.     void  powell(float *p, float **xi, int n, float ftol, int *iter,
  426.         float *fret, float (*func)(float *));
  427.     void  predic(float *data, int ndata, float *d, int npoles, 
  428.         float *future, int nfut);
  429.     float probks(float alam);
  430.     void  pzextr(int iest, float xest, float *yest, float *yz, float *dy,
  431.         int nv, int nuse);
  432.     void  qcksrt(int n, float *arr);
  433.     float qgaus(float (*func)(float), float a, float b);
  434.     float qromb(float (*func)(float), float a, float b);
  435.     float qromo(float (*func)(float), float a, float b,
  436.         float (*choose)(float (*)(float),float,float,int));
  437.     void  qroot(float *p, int n, float *b, float *c, float eps);
  438.     float qsimp(float (*func)(float), float a, float b);
  439.     float qtrap(float (*func)(float), float a, float b);
  440.     float quad3d(float (*func)(float,float,float), float x1, float x2);
  441.     float ran0(int *idum);
  442.     float ran1(int *idum);
  443.     float ran2(long *idum);
  444.     float ran3(int *idum);
  445.     float ran4(int *idum);
  446.     void  rank(int n, int *indx, int *irank);
  447.     void  ratint(float *xa, float *ya, int n, float x, float *y, float *dy);
  448.     void  realft(float *data, int n, int isign);
  449.     void  red(int iz1, int iz2, int jz1, int jz2, int jm1, int jm2, int jmf,
  450.         int ic1, int jc1, int jcf, int kc, float ***c, float **s);
  451.     void  rk4(float *y, float *dydx, int n, float x, float h, float *yout,
  452.         void (*derivs)(float,float *,float *));
  453.     void  rkdumb(float *vstart, int nvar, float x1, float x2, int nstep, 
  454.         void (*derivs)(float,float *,float *));
  455.     void  rkqc(float *y, float *dydx, int n, float *x, float htry, 
  456.         float eps, float *yscal, float *hdid, float *hnext, 
  457.         void (*derivs)(float,float *,float *));
  458.     float rofunc(float b);
  459.     float rtbis(float (*func)(float), float x1, float x2, float xacc);
  460.     float rtflsp(float (*func)(float), float x1, float x2, float xacc);
  461.     float rtnewt(void (*funcd)(float,float *,float *), float x1, float x2,
  462.         float xacc);
  463.     float rtsafe(void (*funcd)(float,float *,float *), float x1, float x2,
  464.         float xacc);
  465.     float rtsec(float (*func)(float), float x1, float x2, float xacc);
  466.     void  rzextr(int iest, float xest, float *yest, float *yz, float *dy,
  467.         int nv, int nuse);
  468.     void  scrsho(float (*fx)(float));
  469.     void  shell(int n, float *arr);
  470.     void  shoot(int nvar, float *v, float *delv, int n2, float x1, float x2,
  471.         float eps, float h1, float hmin, float *f, float *dv);
  472.     void  shootf(int nvar, float *v1, float *v2, float *delv1, float *delv2,
  473.         int n1, int n2, float x1, float x2, float xf, float eps, 
  474.         float h1, float hmin, float *f, float *dv1, float *dv2);
  475.     void  simp1(float **a, int mm, int *ll, int nll, int iabf, int *kp,
  476.         float *bmax);
  477.     void  simp2(float **a, int n, int *l2, int nl2, int *ip, int kp,
  478.         float *q1);
  479.     void  simp3(float **a, int i1, int k1, int ip, int kp);
  480.     void  simplx(float **a, int m, int n, int m1, int m2, int m3, 
  481.         int *icase, int *izrov, int *iposv);
  482.     void  sinft(float *y, int n);
  483.     void  smooft(float *y, int n, float pts);
  484.     void  sncndn(float uu, float emmc, float *sn, float *cn, float *dn);
  485.     void  solvde(int itmax, float conv, float slowc, float *scalv,
  486.         int *indexv, int ne, int nb, int m, float **y, float ***c,
  487.         float **s);
  488.     void  sor(double **a, double **b, double **c, double **d, double **e, 
  489.         double **f, double **u, int jmax, double rjac);
  490.     void  sort(int n, float *ra);
  491.     void  sort2(int n, float *ra, float *rb);
  492.     void  sort3(int n, float *ra, float *rb, float *rc);
  493.     void  sparse(float *b, int n, float *x, float *rsq);
  494.     void  spctrm(FILE *fp, float *p, int m, int k, int ovrlap);
  495.     void  spear(float *data1, float *data2, int n, float *d, float *zd,
  496.         float *probd, float *rs, float *probrs);
  497.     void  splie2(float *x1a, float *x2a, float **ya, int m, int n,
  498.         float **y2a);
  499.     void  splin2(float *x1a, float *x2a, float **ya, float **y2a, int m,
  500.         int n, float x1, float x2, float *y);
  501.     void  spline(float *x, float *y, int n, float yp1, float ypn, float *y2);
  502.     void  splint(float *xa, float *ya, float *y2a, int n, float x, float *y);
  503.     void  svbksb(float **u, float *w, float **v, int m, int n, float *b,
  504.         float *x);
  505.     void  svdcmp(float **a, int m, int n, float *w, float **v);
  506.     void  svdfit(float *x, float *y, float *sig, int ndata, float *a, 
  507.         int ma, float **u, float **v, float *w, float *chisq,
  508.         void (*funcs)(float,float *,int));
  509.     void  svdvar(float **v, int ma, float *w, float **cvm);
  510.     void  toeplz(float *r, float *x, float *y, int n);
  511.     void  tptest(float *data1, float *data2, int n, float *t, float *prob);
  512.     void  tqli(float *d, float *e, int n, float **z);
  513.     float trapzd(float (*func)(float), float a, float b, int n);
  514.     void  tred2(float **a, int n, float *d, float *e);
  515.     void  tridag(float *a, float *b, float *c, float *r, float *u, int n);
  516.     void  ttest(float *data1, int n1, float *data2, int n2, float *t,
  517.         float *prob);
  518.     void  tutest(float *data1, int n1, float *data2, int n2, float *t,
  519.         float *prob);
  520.     void  twofft(float *data1, float *data2, float *fft1, float *fft2,
  521.         int n);
  522.     void  vander(float *x, float *w, float *q, int n);
  523.     int   zbrac(float (*func)(float), float *x1, float *x2);
  524.     void  zbrak(float (*fx)(float), float x1, float x2, int n, float *xb1,
  525.         float *xb2, int *nb);
  526.     float zbrent(float (*func)(float), float x1, float x2, float tol);
  527.     void  zroots(fcomplex *a, int m, fcomplex *roots, int polish);
  528. #endif
  529. #ifdef TRADITIONAL
  530.     void adi();
  531.     void amoeba();
  532.     void anneal();
  533.     void avevar();
  534.     void balanc();
  535.     void bcucof();
  536.     void bcuint();
  537.     float bessi();
  538.     float bessi0();
  539.     float bessi1();
  540.     float bessj();
  541.     float bessj0();
  542.     float bessj1();
  543.     float bessk();
  544.     float bessk0();
  545.     float bessk1();
  546.     float bessy();
  547.     float bessy0();
  548.     float bessy1();
  549.     float beta();
  550.     float betacf();
  551.     float betai();
  552.     float bico();
  553.     void bksub();
  554.     float bnldev();
  555.     float brent();
  556.     void bsstep();
  557.     void caldat();
  558.     float cel();
  559.     void chder();
  560.     float chebev();
  561.     void chebft();
  562.     void chebpc();
  563.     void chint();
  564.     void chsone();
  565.     void chstwo();
  566.     void cntab1();
  567.     void cntab2();
  568.     void convlv();
  569.     void correl();
  570.     void cosft();
  571.     void covsrt();
  572.     void crank();
  573.     float dbrent();
  574.     void ddpoly();
  575.     void des();
  576.     void ks();
  577.     void cyfun();
  578.     float df1dim();
  579.     void dfpmin();
  580.     void dlinmin();
  581.     void difeq();
  582.     void eclass();
  583.     void eclazz();
  584.     void eigsrt();
  585.     float el2();
  586.     void elmhes();
  587.     float erfcc();
  588.     void eulsum();
  589.     float evlmem();
  590.     float expdev();
  591.     float f1dim();
  592.     float factln();
  593.     float factrl();
  594.     void fgauss();
  595.     void fit();
  596.     void fixrts();
  597.     void fleg();
  598.     void flmoon();
  599.     void four1();
  600.     void fourn();
  601.     void fpoly();
  602.     void frprmn();
  603.     void ftest();
  604.     float gamdev();
  605.     float gammln();
  606.     float gammp();
  607.     float gammq();
  608.     float gasdev();
  609.     void gauleg();
  610.     void gaussj();
  611.     void gcf();
  612.     float golden();
  613.     void gser();
  614.     void hqr();
  615.     void hunt();
  616.     void indexx();
  617.     int irbit1();
  618.     int irbit2();
  619.     void jacobi();
  620.     long julday();
  621.     void kendl1();
  622.     void kendl2();
  623.     void ksone();
  624.     void kstwo();
  625.     void laguer();
  626.     void lfit();
  627.     void linmin();
  628.     void locate();
  629.     void lubksb();
  630.     void ludcmp();
  631.     void mdian1();
  632.     void mdian2();
  633.     void medfit();
  634.     void memcof();
  635.     float midexp();
  636.     float midinf();
  637.     float midpnt();
  638.     float midsql();
  639.     float midsqu();
  640.     void mmid();
  641.     void mnbrak();
  642.     void mnewt();
  643.     void moment();
  644.     void mprove();
  645.     void mrqcof();
  646.     void mrqmin();
  647.     void odeint();
  648.     void pcshft();
  649.     void pearsn();
  650.     void piksr2();
  651.     void piksrt();
  652.     void pinvs();
  653.     float plgndr();
  654.     float poidev();
  655.     void polcoe();
  656.     void polcof();
  657.     void poldiv();
  658.     void polin2();
  659.     void polint();
  660.     void powell();
  661.     void predic();
  662.     float probks();
  663.     void pzextr();
  664.     void qcksrt();
  665.     float qgaus();
  666.     float qromb();
  667.     float qromo();
  668.     void qroot();
  669.     float qsimp();
  670.     float qtrap();
  671.     float quad3d();
  672.     float ran0();
  673.     float ran1();
  674.     float ran2();
  675.     float ran3();
  676.     float ran4();
  677.     void rank();
  678.     void ratint();
  679.     void realft();
  680.     void red();
  681.     void rk4();
  682.     void rkdumb();
  683.     void rkqc();
  684.     float rofunc();
  685.     float rtbis();
  686.     float rtflsp();
  687.     float rtnewt();
  688.     float rtsafe();
  689.     float rtsec();
  690.     void rzextr();
  691.     void scrsho();
  692.     void shell();
  693.     void shoot();
  694.     void shootf();
  695.     void simp1();
  696.     void simp2();
  697.     void simp3();
  698.     void simplx();
  699.     void sinft();
  700.     void smooft();
  701.     void sncndn();
  702.     void solvde();
  703.     void sor();
  704.     void sort();
  705.     void sort2();
  706.     void sort3();
  707.     void sparse();
  708.     void spctrm();
  709.     void spear();
  710.     void splie2();
  711.     void splin2();
  712.     void spline();
  713.     void splint();
  714.     void svbksb();
  715.     void svdcmp();
  716.     void svdfit();
  717.     void svdvar();
  718.     void toeplz();
  719.     void tptest();
  720.     void tqli();
  721.     float trapzd();
  722.     void tred2();
  723.     void tridag();
  724.     void ttest();
  725.     void tutest();
  726.     void twofft();
  727.     void vander();
  728.     int zbrac();
  729.     void zbrak();
  730.     float zbrent();
  731.     void zroots();
  732. #endif
  733.