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 a specific compiler option is specified and the processor can distinguish between positive and negative real zero, 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.