XL Fortran for AIX 8.1

Language Reference


SIGN(A, B)

Returns the absolute value of A times the sign of B. If A is non-zero, you can use the result to determine whether B is negative or non-negative, as the sign of the result is the same as the sign of B.

Note that if you have declared B as REAL(4) or REAL(8), and B has a negative zero value, the sign of the result depends on whether you have specified the -qxlf90=signedzero compiler option.

A
must be of type integer or real.

B
must be of the same type and kind type parameter as A.

Class

Elemental function

Result Type and Attributes

Same as A.

Result Value

The result is sgn*|A|, where:

+---------------------------------Fortran 95---------------------------------+

Fortran 95 allows a processor to distinguish between a positive and a negative real zero, whereas Fortran 90 did not. Using the -qxlf90=signedzero option allows you to specify the Fortran 95 behavior (except in the case of REAL(16) numbers), which is consistent with the IEEE standard for binary floating-point arithmetic. -qxlf90=signedzero is the default for the xlf95, xlf95_r, and xlf95_r7 invocation commands.

+-----------------------------End of Fortran 95------------------------------+

Examples

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


Specific Name Argument Type Result Type Pass As Arg?
SIGN default real default real yes
ISIGN any integer (1) same as argument yes
DSIGN double precision real double precision real yes
QSIGN REAL(16) REAL(16) yes (2)

Notes:

  1. IBM Extension: the ability to specify a nondefault integer argument.

  2. IBM Extension: the ability to pass the name as an argument.

Related Information

See the "-qxlf90 Option" in the User's Guide.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]