00001
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef _NR_H
00038 #define _NR_H
00039
00042 #define float double
00043
00044
00045 #ifndef NR_CPP
00046 #define NR_CPP
00047 #endif
00048
00049
00050
00051 #ifdef __cplusplus
00052
00053 #ifndef NR_CPP
00054 extern "C" {
00055 #else
00056
00057 namespace nr {
00058 #endif
00059 #endif
00060
00061
00062
00063
00064 void bcucof(float *y, float *y1, float *y2, float *y12, float d1,
00065 float d2, float **c);
00066 void bcuint(float *y, float *y1, float *y2, float *y12, float x1l,
00067 float x1u, float x2l, float x2u, float x1, float x2,
00068 float *ansy, float *ansy1, float *ansy2);
00069 float bessj1(float x);
00070 float brent(float ax, float bx, float cx, float (*f)(float), float tol,
00071 float *xmin);
00072 float f1dim(float x);
00073 void four1(float *data, int nn, int isign);
00074 float gammln(float xx);
00075 float gasdev(int *idum);
00076 void hunt(float *xx, int n, float x, int *jlo);
00077 void linmin(float *p, float *xi, int n, float *fret, float (*func)(float*));
00078 void locate(float *xx, int n, float x, int *j);
00079 float midpnt(float (*func)(float), float a, float b, int n);
00080 void mnbrak(float *ax, float *bx, float *cx, float *fa, float *fb,
00081 float *fc, float (*func)(float));
00082 float poidev(float xm, int *idum);
00083 void polcoe(float *x, float *y, int n, float *cof);
00084 void polcof(float *xa, float *ya, int n, float *cof);
00085 void polin2(float *x1a, float *x2a, float **ya, int m, int n, float x1,
00086 float x2, float *y, float *dy);
00087 void polint(float *xa, float *ya, int n, float x, float *y, float *dy);
00088 void powell(float *p, float **xi, int n, float ftol, int *iter,
00089 float *fret, float (*func)(float *));
00098 float qromo(float (*func)(float), float a, float b,
00099 float (*choose)(float (*)(float),float,float,int)
00100 ,double EPS);
00101 float ran1(int *idum);
00102 float ran2(long *idum);
00103 void ratint(float *xa, float *ya, int n, float x, float *y, float *dy);
00104 void sort(int n, float *ra);
00105 void splie2(float *x1a, float *x2a, float **ya, int m, int n,
00106 float **y2a);
00107 void splin2(float *x1a, float *x2a, float **ya, float **y2a, int m,
00108 int n, float x1, float x2, float *y);
00109 void spline(float *x, float *y, int n, float yp1, float ypn, float *y2);
00110 void splint(float *xa, float *ya, float *y2a, int n, float x, float *y);
00111 void svbksb(float **u, float *w, float **v, int m, int n, float *b,
00112 float *x);
00113 void svdcmp(float **a, int m, int n, float *w, float **v);
00114 void svdfit(float *x, float *y, float *sig, int ndata, float *a,
00115 int ma, float **u, float **v, float *w, float *chisq,
00116 void (*funcs)(float,float *,int));
00117 void svdvar(float **v, int ma, float *w, float **cvm);
00118
00119
00120
00121 #ifdef __cplusplus
00122 }
00123 #endif
00124
00125 #undef float
00126
00127 #endif