# NAG FL Interfacee04wbf (nlp1_​init)

## ▸▿ Contents

Settings help

FL Name Style:

FL Specification Language:

## 1Purpose

e04wbf is used to initialize routines e04dga, e04mfa, e04nca, e04nfa, e04nka, e04uca, e04ufa, e04uga and e04usa.

## 2Specification

Fortran Interface
 Subroutine e04wbf (
 Integer, Intent (In) :: lcwsav, llwsav, liwsav, lrwsav Integer, Intent (Inout) :: ifail Integer, Intent (Out) :: iwsav(liwsav) Real (Kind=nag_wp), Intent (Out) :: rwsav(lrwsav) Logical, Intent (Out) :: lwsav(llwsav) Character (*), Intent (In) :: rname Character (80), Intent (Out) :: cwsav(lcwsav)
#include <nag.h>
 void e04wbf_ (const char *rname, char cwsav[], const Integer *lcwsav, logical lwsav[], const Integer *llwsav, Integer iwsav[], const Integer *liwsav, double rwsav[], const Integer *lrwsav, Integer *ifail, const Charlen length_rname, const Charlen length_cwsav)
The routine may be called by the names e04wbf or nagf_opt_nlp1_init.

## 3Description

e04wbf initializes some or all of the arrays cwsav, lwsav, iwsav and rwsav for the routine specified by rname, and any associated option setting routines.

None.

## 5Arguments

1: $\mathbf{rname}$Character(*) Input
On entry: the name of the routine to be initialized. The name may be abbreviated to the first $5$ letters of the ‘short’ name, or by omitting the nagf_ or opt_ prefixes of the ‘long’ name.
Constraint: rname must be the name of one of the routines initialized by e04wbf.
2: $\mathbf{cwsav}\left({\mathbf{lcwsav}}\right)$Character(80) array Communication Array
3: $\mathbf{lcwsav}$Integer Input
On entry: the dimension of the array cwsav as declared in the (sub)program from which e04wbf is called.
Constraints:
• if ${\mathbf{rname}}=\text{'e04uf'}$ or $\text{'nlp1_rcomm'}$, ${\mathbf{lcwsav}}\ge 5$;
• otherwise ${\mathbf{lcwsav}}\ge 1$.
4: $\mathbf{lwsav}\left({\mathbf{llwsav}}\right)$Logical array Communication Array
5: $\mathbf{llwsav}$Integer Input
On entry: the dimension of the array lwsav as declared in the (sub)program from which e04wbf is called.
Constraints:
• if ${\mathbf{rname}}=\text{'e04nk'}$ or $\text{'qpconvex1_sparse_solve'}$, ${\mathbf{llwsav}}\ge 20$;
• if ${\mathbf{rname}}=\text{'e04ug'}$ or $\text{'nlp1_sparse_solve'}$, ${\mathbf{llwsav}}\ge 20$;
• otherwise ${\mathbf{llwsav}}\ge 120$.
6: $\mathbf{iwsav}\left({\mathbf{liwsav}}\right)$Integer array Communication Array
7: $\mathbf{liwsav}$Integer Input
On entry: the dimension of the array iwsav as declared in the (sub)program from which e04wbf is called.
Constraints:
• if ${\mathbf{rname}}=\text{'e04nk'}$ or $\text{'qpconvex1_sparse_solve'}$, ${\mathbf{liwsav}}\ge 380$;
• if ${\mathbf{rname}}=\text{'e04ug'}$ or $\text{'nlp1_sparse_solve'}$, ${\mathbf{liwsav}}\ge 550$;
• otherwise ${\mathbf{liwsav}}\ge 610$.
8: $\mathbf{rwsav}\left({\mathbf{lrwsav}}\right)$Real (Kind=nag_wp) array Communication Array
9: $\mathbf{lrwsav}$Integer Input
On entry: the dimension of the array rwsav as declared in the (sub)program from which e04wbf is called.
Constraints:
• if ${\mathbf{rname}}=\text{'e04nk'}$ or $\text{'qpconvex1_sparse_solve'}$, ${\mathbf{lrwsav}}\ge 285$;
• if ${\mathbf{rname}}=\text{'e04ug'}$ or $\text{'nlp1_sparse_solve'}$, ${\mathbf{lrwsav}}\ge 550$;
• otherwise ${\mathbf{lrwsav}}\ge 475$.
10: $\mathbf{ifail}$Integer Input/Output
On entry: ifail must be set to $0$, $-1$ or $1$ to set behaviour on detection of an error; these values have no effect when no error is detected.
A value of $0$ causes the printing of an error message and program execution will be halted; otherwise program execution continues. A value of $-1$ means that an error message is printed while a value of $1$ means that it is not.
If halting is not appropriate, the value $-1$ or $1$ is recommended. If message printing is undesirable, then the value $1$ is recommended. Otherwise, the value $0$ is recommended. When the value $-\mathbf{1}$ or $\mathbf{1}$ is used it is essential to test the value of ifail on exit.
On exit: ${\mathbf{ifail}}={\mathbf{0}}$ unless the routine detects an error or a warning has been flagged (see Section 6).

## 6Error Indicators and Warnings

If on entry ${\mathbf{ifail}}=0$ or $-1$, explanatory error messages are output on the current error message unit (as defined by x04aaf).
Errors or warnings detected by the routine:
${\mathbf{ifail}}=1$
On entry, ${\mathbf{rname}}=⟨\mathit{\text{value}}⟩$ was not a valid routine name.
${\mathbf{ifail}}=2$
One or more of the save array lengths is too small. Supplied values are: ${\mathbf{lcwsav}}=⟨\mathit{\text{value}}⟩$, ${\mathbf{llwsav}}=⟨\mathit{\text{value}}⟩$, ${\mathbf{liwsav}}=⟨\mathit{\text{value}}⟩$ and ${\mathbf{lrwsav}}=⟨\mathit{\text{value}}⟩$.
${\mathbf{ifail}}=-99$
See Section 7 in the Introduction to the NAG Library FL Interface for further information.
${\mathbf{ifail}}=-399$
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library FL Interface for further information.
${\mathbf{ifail}}=-999$
Dynamic memory allocation failed.
See Section 9 in the Introduction to the NAG Library FL Interface for further information.

Not applicable.