95 lines
2.8 KiB
C
95 lines
2.8 KiB
C
|
#ifndef GVGCPFIT_H_INCLUDED
|
||
|
#define GVGCPFIT_H_INCLUDED
|
||
|
|
||
|
#include "cpl_port.h"
|
||
|
#include "cpl_conv.h"
|
||
|
#include "cpl_error.h"
|
||
|
|
||
|
#define EXTERNAL
|
||
|
#define LOCAL static
|
||
|
|
||
|
#define SUCCESS 0
|
||
|
#define ABORT -1
|
||
|
|
||
|
|
||
|
/*------------------------ Start of file CURVEFIT.H -----------------------*/
|
||
|
|
||
|
/*
|
||
|
******************************************************************************
|
||
|
* *
|
||
|
* CURVEFIT.H *
|
||
|
* ========= *
|
||
|
* *
|
||
|
* This file contains the function prototype for CURVEFIT.C. *
|
||
|
******************************************************************************
|
||
|
*/
|
||
|
|
||
|
|
||
|
#ifndef CURVEFIT_H
|
||
|
#define CURVEFIT_H
|
||
|
|
||
|
/*- Function prototypes in CURVEFIT.C. -*/
|
||
|
|
||
|
EXTERNAL int svdfit(float x[], float y[], int ndata,
|
||
|
double a[], int ma, double **u, double **v, double w[],
|
||
|
double *chisq, void (*funcs)(double, double *, int));
|
||
|
|
||
|
EXTERNAL void svbksb(double **u, double w[], double **v, int m,int n,
|
||
|
double b[], double x[]);
|
||
|
|
||
|
EXTERNAL void svdvar(double **v, int ma, double w[], double **cvm);
|
||
|
|
||
|
EXTERNAL int svdcmp(double **a, int m, int n, double *w, double **v);
|
||
|
|
||
|
|
||
|
#endif
|
||
|
|
||
|
|
||
|
/*-------------------------- End of file CURVEFIT.H -----------------------*/
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/*----------------------------- FILE polyfit.h ----------------------------*/
|
||
|
#ifndef POLYFIT_H
|
||
|
#define POLYFIT_H
|
||
|
|
||
|
EXTERNAL int OneDPolyFit( double *rms_err, double *coeffs_array,
|
||
|
int fit_order, int no_samples, double *f_array, double *x_array );
|
||
|
|
||
|
EXTERNAL double OneDPolyEval( double *coeff, int order, double x );
|
||
|
|
||
|
EXTERNAL int TwoDPolyFit( double *rms_err, double *coeffs_array,
|
||
|
int fit_order, int no_samples, double *f_array, double *x_array,
|
||
|
double *y_array );
|
||
|
|
||
|
EXTERNAL double TwoDPolyEval( double *coeff, int order, double x, double y );
|
||
|
|
||
|
EXTERNAL int TwoDPolyGradFit( double *rms_err, double *coeffs_array,
|
||
|
int fit_order, int no_samples, double *gradxy_array,
|
||
|
double *x_array, double *y_array );
|
||
|
|
||
|
EXTERNAL void TwoDPolyGradEval(double *fgradx, double *fgrady,
|
||
|
double *coeff, int order, double x, double y);
|
||
|
|
||
|
EXTERNAL void GetPolyInX (double *xcoeffs, double *xycoeffs, int order,
|
||
|
double y);
|
||
|
|
||
|
EXTERNAL void GetPolyInY(double *ycoeffs, double *xycoeffs, int order,
|
||
|
double x);
|
||
|
|
||
|
EXTERNAL int ThreeDPolyFit( double *rms_err, double *coeffs_array,
|
||
|
int fit_order, int no_samples, double *f_array, double *x_array,
|
||
|
double *y_array, double *z_array );
|
||
|
|
||
|
EXTERNAL double ThreeDPolyEval( double *coeff, int order, double x, double y, double z );
|
||
|
|
||
|
|
||
|
|
||
|
#endif /* POLYFIT_H */
|
||
|
|
||
|
|
||
|
/*---------------------- End of FILE polyfit.h ----------------------------*/
|
||
|
|
||
|
#endif /* ndef _GVGCPFIT_INCLUDED */
|