From de173c02ee172491d5f8c0256e5b9d264493dd69 Mon Sep 17 00:00:00 2001 From: tlatorre Date: Tue, 4 Dec 2018 14:00:04 -0600 Subject: don't quit when maxtime is reached --- src/fit.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/fit.c b/src/fit.c index 9839406..7965441 100644 --- a/src/fit.c +++ b/src/fit.c @@ -5332,7 +5332,7 @@ int fit_event(event *ev, double *xopt, double *fmin, int id, double maxtime) if (time_elapsed > maxtime) goto end; - if (stop) goto end; + if (stop) goto stop; do { *fmin = fval; @@ -5346,7 +5346,7 @@ int fit_event(event *ev, double *xopt, double *fmin, int id, double maxtime) time_elapsed += tv_stop.tv_sec - tv_start.tv_sec + (tv_stop.tv_usec - tv_start.tv_usec)/1e6; - if (stop) goto end; + if (stop) goto stop; } while (fval < *fmin && fabs(fval-*fmin) > 1e-2 && time_elapsed < maxtime); if (fval < *fmin) { @@ -5354,11 +5354,13 @@ int fit_event(event *ev, double *xopt, double *fmin, int id, double maxtime) memcpy(xopt,x,sizeof(x)); } +end: + nlopt_destroy(opt); return 0; -end: +stop: nlopt_destroy(opt); return NLOPT_FORCED_STOP; -- cgit