blob: d3b70c830cdc4df63eaa7135bae03ffbafeab0d2 [file] [log] [blame]
! Test complex munbers
program testcmplx
implicit none
complex(kind=4) c, d
complex(kind=8) z
real(kind=4) x, y
real(kind=8) q
! cmplx intrinsic
x = 3
y = 4
c = cmplx(x,y)
if (c .ne. (3.0, 4.0)) STOP 1
x = 4
y = 3
z = cmplx(x, y, 8)
if (z .ne. (4.0, 3.0)) STOP 2
z = c
if (z .ne. (3.0, 4.0)) STOP 3
! dcmplx intrinsic
x = 3
y = 4
z = dcmplx (x, y)
if (z .ne. (3.0, 4.0)) STOP 4
! conjucates and aimag
c = (1.0, 2.0)
c = conjg (c)
x = aimag (c)
if (abs (c - (1.0, -2.0)) .gt. 0.001) STOP 5
if (x .ne. -2.0) STOP 6
z = (2.0, 1.0)
z = conjg (z)
q = aimag (z)
if (z .ne. (2.0, -1.0)) STOP 7
if (q .ne. -1.0) STOP 8
! addition, subtraction and multiplication
c = (1, 3)
d = (5, 2)
if (c + d .ne. ( 6, 5)) STOP 9
if (c - d .ne. (-4, 1)) STOP 10
if (c * d .ne. (-1, 17)) STOP 11
! test for constant folding
if ((35.,-10.)**0.NE.(1.,0.)) STOP 12
end program