URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Details |
Compare with Previous |
View Log
Line No. |
Rev |
Author |
Line |
1 |
694 |
jeremybenn |
! { dg-do run }
|
2 |
|
|
! { dg-options "-ffloat-store" }
|
3 |
|
|
!
|
4 |
|
|
! PR fortran/33197
|
5 |
|
|
!
|
6 |
|
|
! Check for Fortran 2008's ATAN(Y,X) - which is equivalent
|
7 |
|
|
! to Fortran 77's ATAN2(Y,X).
|
8 |
|
|
!
|
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) call abort()
|
14 |
|
|
if(atan(1.0d0,i/10.0d0)-atan2(1.0d0,i/10.0d0) /= 0.0d0) call abort()
|
15 |
|
|
end do
|
16 |
|
|
|
17 |
|
|
! Atan(1,1) = Pi/4
|
18 |
|
|
if (abs(atan(1.0,1.0) -pi4/4.0) > epsilon(pi4)) call abort()
|
19 |
|
|
if (abs(atan(1.0d0,1.0d0)-pi8/4.0d0) > epsilon(pi8)) call abort()
|
20 |
|
|
|
21 |
|
|
! Atan(-1,1) = -Pi/4
|
22 |
|
|
if (abs(atan(-1.0,1.0) +pi4/4.0) > epsilon(pi4)) call abort()
|
23 |
|
|
if (abs(atan(-1.0d0,1.0d0)+pi8/4.0d0) > epsilon(pi8)) call abort()
|
24 |
|
|
|
25 |
|
|
! Atan(1,-1) = 3/4*Pi
|
26 |
|
|
if (abs(atan(1.0,-1.0) -3.0*pi4/4.0) > epsilon(pi4)) call abort()
|
27 |
|
|
if (abs(atan(1.0d0,-1.0d0)-3.0d0*pi8/4.0d0) > epsilon(pi8)) call abort()
|
28 |
|
|
|
29 |
|
|
! Atan(-1,-1) = -3/4*Pi
|
30 |
|
|
if (abs(atan(-1.0,-1.0) +3.0*pi4/4.0) > epsilon(pi4)) call abort()
|
31 |
|
|
if (abs(atan(-1.0d0,-1.0d0)+3.0d0*pi8/4.0d0) > epsilon(pi8)) call abort()
|
32 |
|
|
|
33 |
|
|
! Atan(3,-5) = 2.60117315331920908301906501867... = Pi - 3/2 atan(3/5)
|
34 |
|
|
if (abs(atan(3.0,-5.0) -2.60117315331920908301906501867) > epsilon(pi4)) call abort()
|
35 |
|
|
if (abs(atan(3.0d0,-5.0d0)-2.60117315331920908301906501867d0) > epsilon(pi8)) call abort()
|
36 |
|
|
|
37 |
|
|
end
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.