SIGN

Elemental Intrinsic Function (Generic): Returns the absolute value of the first argument times the sign of the second argument.

Syntax

result = SIGN (a, b)

a
(Input) Must be of type integer or real.

b
Must have the same type and kind parameters as a.

Results:

The result type is the same as a. The value of the result is | a | if b >= zero and -| a | if b < zero.

If b is of type real and zero, the value of the result is |a|. However, if the processor can distinguish between positive and negative real zero and the /assume:minus0 compiler option is specified, the following occurs:

Specific Name Argument Type Result Type
  INTEGER(1) INTEGER(1)
IISIGN INTEGER(2) INTEGER(2)
ISIGN 1 INTEGER(4) INTEGER(4)
KISIGN INTEGER(8) INTEGER(8)
SIGN REAL(4) REAL(4)
DSIGN REAL(8) REAL(8)
QSIGN 2 REAL(16) REAL(16)
1 Or JISIGN. For compatibility with older versions of Fortran, ISIGN can also be specified as a generic function.
2 VMS and U*X

Compatibility

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

See Also: ABS

Examples

SIGN (4.0, -6.0) has the value -4.0.

SIGN (-5.0, 2.0) has the value 5.0.

The following shows another example:

 c = SIGN (5.2, -3.1)   ! returns -5.2
 c = SIGN (-5.2, -3.1)  ! returns -5.2
 c = SIGN (-5.2, 3.1)   ! returns  5.2