1! Test complex munbers 2program testcmplx 3 implicit none 4 complex(kind=4) c, d 5 complex(kind=8) z 6 real(kind=4) x, y 7 real(kind=8) q 8 9 ! cmplx intrinsic 10 x = 3 11 y = 4 12 c = cmplx(x,y) 13 if (c .ne. (3.0, 4.0)) STOP 1 14 x = 4 15 y = 3 16 z = cmplx(x, y, 8) 17 if (z .ne. (4.0, 3.0)) STOP 2 18 z = c 19 if (z .ne. (3.0, 4.0)) STOP 3 20 21 ! dcmplx intrinsic 22 x = 3 23 y = 4 24 z = dcmplx (x, y) 25 if (z .ne. (3.0, 4.0)) STOP 4 26 27 ! conjucates and aimag 28 c = (1.0, 2.0) 29 c = conjg (c) 30 x = aimag (c) 31 if (abs (c - (1.0, -2.0)) .gt. 0.001) STOP 5 32 if (x .ne. -2.0) STOP 6 33 z = (2.0, 1.0) 34 z = conjg (z) 35 q = aimag (z) 36 if (z .ne. (2.0, -1.0)) STOP 7 37 if (q .ne. -1.0) STOP 8 38 39 ! addition, subtraction and multiplication 40 c = (1, 3) 41 d = (5, 2) 42 if (c + d .ne. ( 6, 5)) STOP 9 43 if (c - d .ne. (-4, 1)) STOP 10 44 if (c * d .ne. (-1, 17)) STOP 11 45 46 ! test for constant folding 47 if ((35.,-10.)**0.NE.(1.,0.)) STOP 12 48end program 49