SIGN (arg1, sign-arg2) Class: Elemental function - Generic Assigns the sign of the second argument to the absolute value of the first. If the second argument is of type real and zero, the value of the result is |arg1|. However, if the processor can distinguish between positive and negative real zero and the compiler option /ASSUME=MINUS0 is specified, the following occurs: o If the second argument is positive real zero, the value of the result is |arg1|. o If the second argument is negative real zero, the value of the result is -|arg1|. +------+---------+----------+------------+-------------+ | Args | Generic | Specific | Argument | Result Type | +------+---------+----------+------------+-------------+ | 2 | SIGN | -- | INTEGER*1 | INTEGER*1 | | | | IISIGN | INTEGER*2 | INTEGER*2 | | |see note | ISIGN | INTEGER*4 | INTEGER*4 | | | | KISIGN | INTEGER*8 | INTEGER*8 | | | | SIGN | REAL*4 | REAL*4 | | | | DSIGN | REAL*8 | REAL*8 | | | | QSIGN | REAL*16 | REAL*16 | +------+---------+----------+------------+-------------+ NOTE: Or JISIGN. For compatibility with older versions of Fortran, ISIGN can also be specified as a generic function.