diff options
Diffstat (limited to 'src/fit.c')
-rw-r--r-- | src/fit.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -127,10 +127,14 @@ int fit_event(event *ev, double *xopt, double *fmin) do { *fmin = fval; + memcpy(xopt,x,sizeof(x)); rv = nlopt_optimize(opt,x,&fval); - } while (fabs(fval-*fmin) > 1e-5); + } while (fval < *fmin && fabs(fval-*fmin) > 1e-5); - memcpy(xopt,x,sizeof(x)); + if (fval < *fmin) { + *fmin = fval; + memcpy(xopt,x,sizeof(x)); + } nlopt_destroy(opt); |