File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -194,16 +194,14 @@ static nlopt_result divide_rect(double *rdiv, params *p)
194194 rdiv [2 ] = p -> age ++ ;
195195 node = nlopt_rb_tree_resort (& p -> rtree , node );
196196 for (k = 0 ; k <= 1 ; ++ k ) {
197+ if (!isfinite (fv [2 * isort [i ]+ k ]))
198+ return NLOPT_FAILURE ;
197199 double * rnew ;
198200 ALLOC_RECT (rnew , L );
199201 memcpy (rnew , rdiv , sizeof (double ) * L );
200202 rnew [3 + isort [i ]] += w [isort [i ]] * (2 * k - 1 );
201203 rnew [1 ] = fv [2 * isort [i ]+ k ];
202204 rnew [2 ] = p -> age ++ ;
203- if (!isfinite (rnew [1 ])) {
204- free (rnew );
205- return NLOPT_FAILURE ;
206- }
207205 if (!nlopt_rb_tree_insert (& p -> rtree , rnew )) {
208206 free (rnew );
209207 return NLOPT_OUT_OF_MEMORY ;
@@ -237,10 +235,10 @@ static nlopt_result divide_rect(double *rdiv, params *p)
237235 rnew [3 + i ] += w [i ] * (2 * k - 1 );
238236 FUNCTION_EVAL (rnew [1 ], rnew + 3 , p , rnew );
239237 rnew [2 ] = p -> age ++ ;
240- if (!isfinite (rnew [1 ])) {
241- free (rnew );
242- return NLOPT_FAILURE ;
243- }
238+ if (!isfinite (rnew [1 ])) {
239+ free (rnew );
240+ return NLOPT_FAILURE ;
241+ }
244242 if (!nlopt_rb_tree_insert (& p -> rtree , rnew )) {
245243 free (rnew );
246244 return NLOPT_OUT_OF_MEMORY ;
You can’t perform that action at this time.
0 commit comments