## SIGN intrinsic function

### Standard: F77 F90 F95 F2003 F2008 F2018 Example program

### ＜Syntax＞

SIGN ( A, B )

A : Integer or Real;

B : Same type and kind as A, conformable with A;
Fortran 2018 permits B to have a different kind;

Result : Same type and kind as A.

### ＜Semantics＞

The result has the magnitude of A with the sign of B.

Prior to Fortran 95, if B was zero it was treated as being positive, even when it was an IEEE negative zero.
From Fortran 95 onwards, the treatment of IEEE negative zero depends on the compiler; the NAG Fortran compiler treats IEEE negative zero as negative, unless the *-f90_sign* option was used at compilation time.

Like many intrinsic functions, this is **elemental**; if either (or both) of A and B is an array, the result will be an array with that shape, with the value being computed elementwise.