### NDF_STYPE

Set a new type for an NDF array component

#### Description:

The routine sets a new full type for an NDF array component, causing its storage type to be changed. If the component’s values are defined, they will be converted from from the old type to the new one. If they are undefined, then no conversion will be necessary. Subsequent enquiries will reflect the new type. Conversion may be performed between any types supported by the NDF_ routines, including from a non-complex type to a complex type (and vice versa).

#### Invocation

CALL NDF_STYPE( FTYPE, INDF, COMP, STATUS )

#### Arguments

##### FTYPE = CHARACTER $\ast$ ( $\ast$ ) (Given)
The new full type specification for the NDF component (e.g. ’_REAL’ or ’COMPLEX_INTEGER’).
NDF identifier.
##### COMP = CHARACTER $\ast$ ( $\ast$ ) (Given)
Name of the array component whose type is to be set: ’DATA’ or ’VARIANCE’.
##### STATUS = INTEGER (Given and Returned)
The global status.

#### Notes:

• The routine may only be used to change the type of a component of a base NDF. If it is called for an NDF which is not a base NDF, then it will return without action. No error will result.

• A comma-separated list of component names may also be supplied, in which case the type of each component will be set to the same value in turn.

• An error will result if a component being modified, or any part of it, is currently mapped for access (e.g. through another identifier).

• If the type of a component is to be changed without its values being retained, then a call to NDF_RESET should be made beforehand. This will avoid the cost of converting all the values.