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
33EXTERNAL 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
37EXTERNAL void svbksb(double **u, double w[], double **v, int m, int n,
38 double b[], double x[]);
39
40EXTERNAL void svdvar(double **v, int ma, double w[], double **cvm);
41
42EXTERNAL 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
52EXTERNAL int OneDPolyFit(double *rms_err, double *coeffs_array, int fit_order,
53 int no_samples, double *f_array, double *x_array);
54
55EXTERNAL double OneDPolyEval(double *coeff, int order, double x);
56
57EXTERNAL 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
61EXTERNAL double TwoDPolyEval(double *coeff, int order, double x, double y);
62
63EXTERNAL 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
68EXTERNAL void TwoDPolyGradEval(double *fgradx, double *fgrady, double *coeff,
69 int order, double x, double y);
70
71EXTERNAL void GetPolyInX(double *xcoeffs, double *xycoeffs, int order,
72 double y);
73
74EXTERNAL void GetPolyInY(double *ycoeffs, double *xycoeffs, int order,
75 double x);
76
77EXTERNAL 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
81EXTERNAL 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.