提交 40f664a9 编写于 作者: S stevenj

when adding mconstraints, allow tol==NULL as synonym for zero tolerances

Ignore-this: db03978604ff683b95100eb50764dab9

darcs-hash:20111115204117-c8de0-f16c8f5ab44f1aa3ade48b350675d4a094c25e03.gz
上级 57688ca7
......@@ -342,13 +342,17 @@ static nlopt_result add_constraint(unsigned *m, unsigned *m_alloc,
double *tolcopy;
unsigned i;
if ((fc && mfc) || (fc && fm != 1) || (!fc && !mfc) || !tol)
if ((fc && mfc) || (fc && fm != 1) || (!fc && !mfc))
return NLOPT_INVALID_ARGS;
for (i = 0; i < fm; ++i) if (tol[i] < 0) return NLOPT_INVALID_ARGS;
if (tol)
for (i = 0; i < fm; ++i) if (tol[i] < 0) return NLOPT_INVALID_ARGS;
tolcopy = (double *) malloc(sizeof(double) * fm);
if (fm && !tolcopy) return NLOPT_OUT_OF_MEMORY;
memcpy(tolcopy, tol, sizeof(double) * fm);
if (tol)
memcpy(tolcopy, tol, sizeof(double) * fm);
else
for (i = 0; i < fm; ++i) tolcopy[i] = 0;
*m += 1;
if (*m > *m_alloc) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册