goto L340;
}
- if (nlopt_stop_evals(stop)) return NLOPT_MAXEVAL_REACHED;
+ if (nlopt_stop_forced(stop)) return NLOPT_FORCE_STOP;
+ else if (nlopt_stop_evals(stop)) return NLOPT_MAXEVAL_REACHED;
else if (nlopt_stop_time(stop)) return NLOPT_MAXTIME_REACHED;
ih = 0;
if (f < fval[*kopt]) {
*kopt = kpt;
}
- if (f < stop->minf_max) return NLOPT_MINF_MAX_REACHED;
+ if (nlopt_stop_forced(stop)) return NLOPT_FORCE_STOP;
+ else if (f < stop->minf_max) return NLOPT_MINF_MAX_REACHED;
else if (nlopt_stop_evals(stop)) return NLOPT_MAXEVAL_REACHED;
else if (nlopt_stop_time(stop)) return NLOPT_MAXTIME_REACHED;
temp = xpt[nf + ipt * xpt_dim1] * xpt[nf + jpt * xpt_dim1];
hq[ih] = (fbeg - fval[ipt + 1] - fval[jpt + 1] + f) / temp;
}
- if (f < stop->minf_max) return NLOPT_MINF_MAX_REACHED;
+ if (nlopt_stop_forced(stop)) return NLOPT_FORCE_STOP;
+ else if (f < stop->minf_max) return NLOPT_MINF_MAX_REACHED;
else if (nlopt_stop_evals(stop)) return NLOPT_MAXEVAL_REACHED;
else if (nlopt_stop_time(stop)) return NLOPT_MAXTIME_REACHED;
if (nf < *npt) {
/* L380: */
}
- if (nlopt_stop_evals(stop)) rc = NLOPT_MAXEVAL_REACHED;
+ if (nlopt_stop_forced(stop)) rc = NLOPT_FORCE_STOP;
+ else if (nlopt_stop_evals(stop)) rc = NLOPT_MAXEVAL_REACHED;
else if (nlopt_stop_time(stop)) rc = NLOPT_MAXTIME_REACHED;
if (rc != NLOPT_SUCCESS) goto L720;