gilevenberg.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef GILEVENBERG_H
00029 #define GILEVENBERG_H
00030
00031 #include <cxtypes.h>
00032
00033 #include <cpl_macros.h>
00034 #include <cpl_matrix.h>
00035
00036
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040
00041
00047 struct GiFitParams {
00048
00053 cxint iterations;
00054
00059 cxint tests;
00060
00064 cxdouble dchisq;
00065
00066 };
00067
00068 typedef struct GiFitParams GiFitParams;
00069
00070
00076 typedef void (*GiFitFunc)(cxdouble *result, cxdouble *x, cxdouble *a,
00077 cxint na, cxdouble *dyda, cxdouble *r);
00078
00079
00080 cxint giraffe_nlfit(cpl_matrix *x, cpl_matrix *y, cpl_matrix *sigma,
00081 cxint ndata, cpl_matrix *a, cpl_matrix *delta,
00082 cxint *ia, cxint ma, cpl_matrix *alpha, cxdouble *chisq,
00083 GiFitFunc funcs, const GiFitParams *setup);
00084
00085
00086 #ifdef __cplusplus
00087 }
00088 #endif
00089
00090 #endif