Main Page   Data Structures   File List   Data Fields   Globals  

interpolation.h

Go to the documentation of this file.
00001 
00002 #define POLYMAX 100
00003 #define SP_NATURAL 1
00004 #define SP_DERIVATIVE 2
00005 #define SP_PERIODIC 3
00006 
00007 #define splint(poly,x) (poly.a + (x)*(poly.b + (x)*(poly.c + (x)*poly.d)))
00008 #define splint1(poly,x) (poly.b + (x)*(2.*poly.c + (x)*3.*poly.d))
00009 #define splint2(poly,x) (2.*poly.c + (x)*6.*poly.d)
00010 
00011 
00012 typedef struct {
00013   real a, b, c, d;
00014 } polynom3;
00015 
00016 extern real polynomial(real *xp, real *yp, real *z, real x, real y);
00017 
00018 extern void CubicPolynom(real x0, real y0, real x1, real y1, 
00019                          real x2, real y2, real x3, real y3, 
00020                          real *ex, real *fx, real *gx,
00021                          real *ey, real *fy, real *gy,
00022                          real *rd2);
00023 
00024 extern void spline(real1D x, real1D y, int n, real yp1, real ypn, real1D d2y,
00025                    polynom3 *poly, int flag);
00026 
00027 extern void tridag(real1D a, real1D b, real1D c, real1D r, real1D u, int n);
00028 
00029 extern void Pspline(real1D x, real1D y, real1D d2y, real lp,
00030                     int n, polynom3 *poly);
00031 
00032 extern real splint_find(real1D xa, polynom3 *poly, int n, real x);
00033 
00034 extern int distmin(polynom3 px, polynom3 py, real xp, real yp, real *tmin,
00035                    real t1, real t2, real prec);
00036 
00037 extern int polyroot(polynom3 poly, real x1, real x2, real *x, real prec);
00038 
00039 extern int polyroots(polynom3 poly, real x1, real x2, 
00040                      real *x, real y, real prec);
00041 
00042 extern void bcucof(real2D f, int i, int j, real *c, int nx, int ny);
00043 
00044 extern real bcuint(real t, real u, real *c);
00045 
00046 extern real polydistmin(polynom3 px1, polynom3 px2, polynom3 py1, polynom3 py2,
00047                         real *t1, real *t2, real ftol);
00048 
00049 extern real trapzd(real (*func)(polynom3, polynom3, real), 
00050                    polynom3 px, polynom3 py,
00051                    real a, real b, int n);
00052 
00053 extern real qtrap(real (*func)(polynom3, polynom3, real), 
00054                   polynom3 px, polynom3 py,
00055                   real a, real b, real eps);
00056 

Generated on Wed Feb 19 22:26:49 2003 for Markers by doxygen1.2.18