Description:  Returns the absolute value of A times the sign of B.  
Class:  Elemental function; Generic  
Arguments:  A  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 appropriate 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  REAL(16)  REAL(16) 
^{1} Or JISIGN. For compatibility with older versions of Fortran, ISIGN can also be specified as a generic function. 
Examples
SIGN (4.0, 6.0) has the value 4.0.
SIGN (5.0, 2.0) has the value 5.0.