SIGN= specifier
Standard: F77 F90 F95 F2003
  Example Program
<Syntax>
SIGN = expression

The expression must be a scalar character expression of default kind. It is permitted in the INQUIRE, OPEN and WRITE statements. In the INQUIRE statement, it must be a variable designator, and is assigned the value 'PLUS', 'SUPPRESS', 'PROCESSOR_DEFINED' or 'UNDEFINED'; in OPEN and WRITE it must evaluate to 'PLUS', 'SUPPRESS' or 'PROCESSOR_DEFINED'(ignoring case).
<Semantics>
The SIGN= specifier determines the default sign mode (for OPEN), returns the default sign mode (for INQUIRE), or specifies the sign mode (for WRITE).

The SIGN= specifier is not permitted in an OPEN or WRITE statement that refers to an unformatted file.

If a file is preconnected, or is opened without a SIGN= specifier, the default sign mode is 'PROCESSOR_DEFINED'.

The sign mode determines whether the optional plus sign is produced when writing a positive numeric value. If the sign mode is 'PLUS', the plus sign is produced (providing it will fit into the format field). If the sign mode is 'SUPPRESS', the plus sign is not produced. If the sign mode is 'PROCESSOR_DEFINED', whether it is produced or not depends on the Fortran processor; for the NAG Fortran Compiler this has the same effect as SIGN='SUPPRESS'.

The current sign mode may be overridden within a format by use of the SP (sign plus), SS (sign suppress) and S (sign processor_defined) edit descriptors.

In an INQUIRE statement, the value assigned is 'UNDEFINED' if the file is connected for unformatted input/output or if there is no connection.

<Related>
FORMAT statement, INQUIRE statement, OPEN statement, WRITE statement