Fix compilation failure with C++98 compilers
[official-gcc.git] / gcc / testsuite / gfortran.dg / atan2_1.f90
blobdf9381b113792378d934b9e6cc23324ec0e12aec
1 ! { dg-do run }
2 ! { dg-options "-ffloat-store" }
4 ! PR fortran/33197
6 ! Check for Fortran 2008's ATAN(Y,X) - which is equivalent
7 ! to Fortran 77's ATAN2(Y,X).
9 integer :: i
10 real, parameter :: pi4 = 2*acos(0.0)
11 real, parameter :: pi8 = 2*acos(0.0d0)
12 do i = 1, 10
13 if(atan(1.0, i/10.0) -atan2(1.0, i/10.) /= 0.0) STOP 1
14 if(atan(1.0d0,i/10.0d0)-atan2(1.0d0,i/10.0d0) /= 0.0d0) STOP 2
15 end do
17 ! Atan(1,1) = Pi/4
18 if (abs(atan(1.0,1.0) -pi4/4.0) > epsilon(pi4)) STOP 3
19 if (abs(atan(1.0d0,1.0d0)-pi8/4.0d0) > epsilon(pi8)) STOP 4
21 ! Atan(-1,1) = -Pi/4
22 if (abs(atan(-1.0,1.0) +pi4/4.0) > epsilon(pi4)) STOP 5
23 if (abs(atan(-1.0d0,1.0d0)+pi8/4.0d0) > epsilon(pi8)) STOP 6
25 ! Atan(1,-1) = 3/4*Pi
26 if (abs(atan(1.0,-1.0) -3.0*pi4/4.0) > epsilon(pi4)) STOP 7
27 if (abs(atan(1.0d0,-1.0d0)-3.0d0*pi8/4.0d0) > epsilon(pi8)) STOP 8
29 ! Atan(-1,-1) = -3/4*Pi
30 if (abs(atan(-1.0,-1.0) +3.0*pi4/4.0) > epsilon(pi4)) STOP 9
31 if (abs(atan(-1.0d0,-1.0d0)+3.0d0*pi8/4.0d0) > epsilon(pi8)) STOP 10
33 ! Atan(3,-5) = 2.60117315331920908301906501867... = Pi - 3/2 atan(3/5)
34 if (abs(atan(3.0,-5.0) -2.60117315331920908301906501867) > epsilon(pi4)) STOP 11
35 if (abs(atan(3.0d0,-5.0d0)-2.60117315331920908301906501867d0) > epsilon(pi8)) STOP 12
37 end