33 #include <cpl_macros.h>
34 #include <cpl_matrix.h>
49 typedef enum GiModelType GiModelType;
51 typedef struct GiModel GiModel;
61 typedef struct GiFitSetup GiFitSetup;
64 GiModel* giraffe_model_new(
const cxchar* name);
65 GiModel* giraffe_model_clone(
const GiModel* other);
66 void giraffe_model_delete(GiModel*
self);
68 const cxchar* giraffe_model_get_name(
const GiModel*
self);
69 GiModelType giraffe_model_get_type(
const GiModel*
self);
71 cxsize giraffe_model_count_arguments(
const GiModel*
self);
72 cxsize giraffe_model_count_parameters(
const GiModel*
self);
74 const cxchar* giraffe_model_argument_name(
const GiModel*
self,
76 const cxchar* giraffe_model_parameter_name(
const GiModel*
self,
79 cxint giraffe_model_set_argument(GiModel*
self,
const cxchar* name,
81 cxdouble giraffe_model_get_argument(
const GiModel*
self,
84 cxint giraffe_model_set_parameter(GiModel*
self,
const cxchar* name,
86 cxdouble giraffe_model_get_parameter(
const GiModel*
self,
89 cxint giraffe_model_freeze_parameter(GiModel*
self,
const cxchar* name);
90 cxint giraffe_model_thaw_parameter(GiModel*
self,
const cxchar* name);
92 cxbool giraffe_model_frozen_parameter(
const GiModel*
self,
95 cxint giraffe_model_freeze(GiModel*
self);
96 cxint giraffe_model_thaw(GiModel*
self);
98 cxint giraffe_model_evaluate(
const GiModel*
self, cxdouble* result,
101 cxint giraffe_model_fit(GiModel*
self, cpl_matrix* x, cpl_matrix* y,
103 cxint giraffe_model_fit_sequence(GiModel*
self, cpl_matrix* x,
104 cpl_matrix* y, cpl_matrix* sigma,
105 cxint ndata, cxint start, cxint stride);
107 cxint giraffe_model_set_iterations(GiModel*
self, cxint iterations);
108 cxint giraffe_model_get_iterations(
const GiModel*
self);
110 cxint giraffe_model_set_delta(GiModel*
self, cxdouble delta);
111 cxdouble giraffe_model_get_delta(
const GiModel*
self);
113 cxint giraffe_model_set_tests(GiModel*
self, cxint tests);
114 cxint giraffe_model_get_tests(
const GiModel*
self);
116 cxint giraffe_model_get_position(
const GiModel*
self);
117 cxint giraffe_model_get_df(
const GiModel*
self);
118 cxdouble giraffe_model_get_chisq(
const GiModel*
self);
119 cxdouble giraffe_model_get_rsquare(
const GiModel*
self);
121 cxdouble giraffe_model_get_variance(
const GiModel*
self,
123 cxdouble giraffe_model_get_sigma(
const GiModel*
self,