E05 Chapter Contents
E05 Chapter Introduction
NAG Library Manual

# NAG Library Routine DocumentE05JDF

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.

## 1  Purpose

E05JDF may be used to supply individual optional parameters to E05JBF. The initialization routine E05JAF must have been called before calling E05JDF.

## 2  Specification

 SUBROUTINE E05JDF ( OPTSTR, COMM, LCOMM, IFAIL)
 INTEGER LCOMM, IFAIL REAL (KIND=nag_wp) COMM(LCOMM) CHARACTER(*) OPTSTR

## 3  Description

E05JDF may be used to supply values for optional parameters to E05JBF. It is only necessary to call E05JDF for those parameters whose values are to be different from their default values. One call to E05JDF sets one parameter value.
Each optional parameter is defined by a single character string, of up to $72$ characters, consisting of one or more items. The items associated with a given optional parameter must be separated by spaces, or equals signs $\left[=\right]$. Alphabetic characters may be upper or lower case. The string
`Static Limit = 100`
is an example of a string used to set an optional parameter. For each optional parameter the string contains one or more of the following items:
 – a mandatory keyword; – a phrase that qualifies the keyword; – a number that specifies an integer or real value. Such numbers may be up to $16$ contiguous characters.
For E05JDF, each user-specified optional parameter is not normally printed as it is defined, but this printing may be turned on using the keyword List. Thus the statement
```CALL E05JDF ('List', COMM, LCOMM, IFAIL)
```
turns on printing of this and subsequent options. Printing may be turned off again using the keyword Nolist.
Optional parameter settings are preserved following a call to E05JBF and so the keyword Defaults is provided to allow you to reset all the optional parameters to their default values before a subsequent call to E05JBF.
A complete list of optional parameters, their symbolic names and default values is given in Section 11 in E05JBF.

None.

## 5  Parameters

1:     OPTSTR – CHARACTER(*)Input
On entry: a string defining a single optional parameter (as described in Section 3 and in Section 11 in E05JBF). The implied data type (character, integer or real) of each value to set must match that expected by the optional parameter.
2:     COMM(LCOMM) – REAL (KIND=nag_wp) arrayCommunication Array
On exit: COMM must not be altered between calls to any of the routines E05JBF, E05JCF, E05JDF, E05JEF, E05JFF, E05JGF, E05JHF, E05JJF, E05JKF and E05JLF.
3:     LCOMM – INTEGERInput
On entry: the dimension of the array COMM as declared in the (sub)program from which E05JDF is called.
Constraint: ${\mathbf{LCOMM}}\ge 100$.
4:     IFAIL – INTEGERInput/Output
On entry: IFAIL must be set to $0$, $-1\text{​ or ​}1$. If you are unfamiliar with this parameter you should refer to Section 3.3 in the Essential Introduction for details.
For environments where it might be inappropriate to halt program execution when an error is detected, the value $-1\text{​ or ​}1$ is recommended. If the output of error messages is undesirable, then the value $1$ is recommended. Otherwise, if you are not familiar with this parameter, the recommended value is $0$. When the value $-\mathbf{1}\text{​ 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).

## 6  Error Indicators and Warnings

If on entry ${\mathbf{IFAIL}}={\mathbf{0}}$ or $-{\mathbf{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{LCOMM}}<100$, or the initialization routine E05JAF has not been called.
${\mathbf{IFAIL}}=2$
The supplied optional parameter is invalid. A keyword or keyword combination was not recognized.
${\mathbf{IFAIL}}=3$
The option value to be set is out of range with respect to the optional parameter given in OPTSTR. See Section 11 in E05JBF for allowable values of the optional parameters.
${\mathbf{IFAIL}}=5$
The value to be set could not be parsed. Check that the value specifies a valid integer or real value.

Not applicable.