Linear least-squares fitting is performed by fit_linear. Non-linear least-squares Fitting is performed by descendants of fit_base and fitting functions can be specified using fit_funct. The GSL fitting routines (scaled and unscaled) are implemented in fit_nonlin. A generic fitting routine using a minimizer object specified as a child of mmin_base is implemented in fit_min. When the mmin_base object is (for example) a anneal_base object, fit_min can avoid local minima which can occur when fitting noisy data.