! Program to test SIGN intrinsic program intrinsic_sign implicit none integer i, j real r, s i = 2 j = 3 if (sign (i, j) .ne. 2) call abort i = 4 j = -5 if (sign (i, j) .ne. -4) call abort i = -6 j = 7 if (sign (i, j) .ne. 6) call abort i = -8 j = -9 if (sign (i, j) .ne. -8) call abort r = 1 s = 2 if (sign (r, s) .ne. 1) call abort r = 1 s = -2 if (sign (r, s) .ne. -1) call abort s = 0 if (sign (r, s) .ne. 1) call abort ! Will fail on machines which cannot represent negative zero. s = -s ! Negative zero if (sign (r, s) .ne. -1) call abort end program