GDAL
gvgcpfit.h
1 /* $Id$ */
2 
3 #ifndef GVGCPFIT_H_INCLUDED
4 #define GVGCPFIT_H_INCLUDED
5 
6 #include "cpl_port.h"
7 #include "cpl_conv.h"
8 #include "cpl_error.h"
9 
10 #define EXTERNAL
11 #define LOCAL static
12 
13 #define SUCCESS 0
14 #define ABORT -1
15 
16 /*------------------------ Start of file CURVEFIT.H -----------------------*/
17 
18 /*
19 ******************************************************************************
20 * *
21 * CURVEFIT.H *
22 * ========= *
23 * *
24 * This file contains the function prototype for CURVEFIT.C. *
25 ******************************************************************************
26 */
27 
28 #ifndef CURVEFIT_H
29 #define CURVEFIT_H
30 
31 /*- Function prototypes in CURVEFIT.C. -*/
32 
33 EXTERNAL int svdfit(float x[], float y[], int ndata, double a[], int ma,
34  double **u, double **v, double w[], double *chisq,
35  void (*funcs)(double, double *, int));
36 
37 EXTERNAL void svbksb(double **u, double w[], double **v, int m, int n,
38  double b[], double x[]);
39 
40 EXTERNAL void svdvar(double **v, int ma, double w[], double **cvm);
41 
42 EXTERNAL int svdcmp(double **a, int m, int n, double *w, double **v);
43 
44 #endif
45 
46 /*-------------------------- End of file CURVEFIT.H -----------------------*/
47 
48 /*----------------------------- FILE polyfit.h ----------------------------*/
49 #ifndef POLYFIT_H
50 #define POLYFIT_H
51 
52 EXTERNAL int OneDPolyFit(double *rms_err, double *coeffs_array, int fit_order,
53  int no_samples, double *f_array, double *x_array);
54 
55 EXTERNAL double OneDPolyEval(double *coeff, int order, double x);
56 
57 EXTERNAL int TwoDPolyFit(double *rms_err, double *coeffs_array, int fit_order,
58  int no_samples, double *f_array, double *x_array,
59  double *y_array);
60 
61 EXTERNAL double TwoDPolyEval(double *coeff, int order, double x, double y);
62 
63 EXTERNAL int TwoDPolyGradFit(double *rms_err, double *coeffs_array,
64  int fit_order, int no_samples,
65  double *gradxy_array, double *x_array,
66  double *y_array);
67 
68 EXTERNAL void TwoDPolyGradEval(double *fgradx, double *fgrady, double *coeff,
69  int order, double x, double y);
70 
71 EXTERNAL void GetPolyInX(double *xcoeffs, double *xycoeffs, int order,
72  double y);
73 
74 EXTERNAL void GetPolyInY(double *ycoeffs, double *xycoeffs, int order,
75  double x);
76 
77 EXTERNAL int ThreeDPolyFit(double *rms_err, double *coeffs_array, int fit_order,
78  int no_samples, double *f_array, double *x_array,
79  double *y_array, double *z_array);
80 
81 EXTERNAL double ThreeDPolyEval(double *coeff, int order, double x, double y,
82  double z);
83 
84 #endif /* POLYFIT_H */
85 
86 /*---------------------- End of FILE polyfit.h ----------------------------*/
87 
88 #endif /* ndef _GVGCPFIT_INCLUDED */
Various convenience functions for CPL.
CPL error handling services.
Core portability definitions for CPL.