* Info: Using [gentoo] (https://bugs.gentoo.org/xmlrpc.cgi) * Info: Getting attachment 425760 * Info: Viewing attachment: "fix_fit_gsl_fdfsolver.patch" diff --git a/qtiplot/src/analysis/Fit.cpp b/qtiplot/src/analysis/Fit.cpp index 22cb5be..555f21d 100755 --- a/qtiplot/src/analysis/Fit.cpp +++ b/qtiplot/src/analysis/Fit.cpp @@ -106,6 +106,7 @@ void Fit::init() gsl_multifit_fdfsolver * Fit::fitGSL(gsl_multifit_function_fdf f, int &iterations, int &status) { const gsl_multifit_fdfsolver_type *T; + gsl_matrix *J; if (d_solver) T = gsl_multifit_fdfsolver_lmder; else @@ -128,7 +129,8 @@ gsl_multifit_fdfsolver * Fit::fitGSL(gsl_multifit_function_fdf f, int &iteration } if (status){ - gsl_multifit_covar (s->J, 0.0, covar); + gsl_multifit_fdfsolver_jac (s, J); + gsl_multifit_covar (J, 0.0, covar); iterations = 0; return s; } @@ -155,7 +157,8 @@ gsl_multifit_fdfsolver * Fit::fitGSL(gsl_multifit_function_fdf f, int &iteration status = gsl_multifit_test_delta (s->dx, s->x, d_tolerance, d_tolerance); } while (inRange && status == GSL_CONTINUE && (int)iter < d_max_iterations); - gsl_multifit_covar (s->J, 0.0, covar); + gsl_multifit_fdfsolver_jac (s, J); + gsl_multifit_covar (J, 0.0, covar); iterations = iter; return s;