blob: fbc457d917c02afd98a014d677cd7a52ff7449de [file] [log] [blame]
! 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