gvgcpfit.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #ifndef _GVGCPFIT_H_INCLUDED
  2. #define _GVGCPFIT_H_INCLUDED
  3. #include "cpl_port.h"
  4. #include "cpl_conv.h"
  5. #include "cpl_error.h"
  6. #define EXTERNAL
  7. #define LOCAL static
  8. #define SUCCESS 0
  9. #define ABORT -1
  10. /*------------------------ Start of file CURVEFIT.H -----------------------*/
  11. /*
  12. ******************************************************************************
  13. * *
  14. * CURVEFIT.H *
  15. * ========= *
  16. * *
  17. * This file contains the function prototype for CURVEFIT.C. *
  18. ******************************************************************************
  19. */
  20. #ifndef CURVEFIT_H
  21. #define CURVEFIT_H
  22. /*- Function prototypes in CURVEFIT.C. -*/
  23. EXTERNAL int svdfit(float x[], float y[], int ndata,
  24. double a[], int ma, double **u, double **v, double w[],
  25. double *chisq, void (*funcs)(double, double *, int));
  26. EXTERNAL void svbksb(double **u, double w[], double **v, int m,int n,
  27. double b[], double x[]);
  28. EXTERNAL void svdvar(double **v, int ma, double w[], double **cvm);
  29. EXTERNAL int svdcmp(double **a, int m, int n, double *w, double **v);
  30. #endif
  31. /*-------------------------- End of file CURVEFIT.H -----------------------*/
  32. /*----------------------------- FILE polyfit.h ----------------------------*/
  33. #ifndef __POLYFIT_H
  34. #define __POLYFIT_H
  35. EXTERNAL int OneDPolyFit( double *rms_err, double *coeffs_array,
  36. int fit_order, int no_samples, double *f_array, double *x_array );
  37. EXTERNAL double OneDPolyEval( double *coeff, int order, double x );
  38. EXTERNAL int TwoDPolyFit( double *rms_err, double *coeffs_array,
  39. int fit_order, int no_samples, double *f_array, double *x_array,
  40. double *y_array );
  41. EXTERNAL double TwoDPolyEval( double *coeff, int order, double x, double y );
  42. EXTERNAL int TwoDPolyGradFit( double *rms_err, double *coeffs_array,
  43. int fit_order, int no_samples, double *gradxy_array,
  44. double *x_array, double *y_array );
  45. EXTERNAL void TwoDPolyGradEval(double *fgradx, double *fgrady,
  46. double *coeff, int order, double x, double y);
  47. EXTERNAL void GetPolyInX (double *xcoeffs, double *xycoeffs, int order,
  48. double y);
  49. EXTERNAL void GetPolyInY(double *ycoeffs, double *xycoeffs, int order,
  50. double x);
  51. EXTERNAL int ThreeDPolyFit( double *rms_err, double *coeffs_array,
  52. int fit_order, int no_samples, double *f_array, double *x_array,
  53. double *y_array, double *z_array );
  54. EXTERNAL double ThreeDPolyEval( double *coeff, int order, double x, double y, double z );
  55. #endif /* __POLYFIT_H */
  56. /*---------------------- End of FILE polyfit.h ----------------------------*/
  57. #endif /* ndef _GVGCPFIT_INCLUDED */