mirror of
https://github.com/autc04/Retro68.git
synced 2024-06-28 11:30:19 +00:00
23 lines
596 B
Fortran
23 lines
596 B
Fortran
! { dg-do compile }
|
|
! { dg-options "-O -fdump-tree-original" }
|
|
program main
|
|
integer, parameter :: n=100
|
|
real, parameter :: pi=4*atan(1.)
|
|
real, parameter :: tmax=20.
|
|
real, parameter :: dt = tmax/(2*pi)/real(n)
|
|
real, parameter :: t0 = dt/30.
|
|
integer :: i
|
|
interface
|
|
pure function purefunc(x)
|
|
real :: purefunc
|
|
real, intent(in) :: x
|
|
end function purefunc
|
|
end interface
|
|
real :: a(n)
|
|
do i=1,n
|
|
a(i) = purefunc(dt*i + t0) * 3. + 2 * purefunc(t0 + i*dt)
|
|
end do
|
|
print *,a
|
|
end program main
|
|
! { dg-final { scan-tree-dump-times "purefunc" 1 "original" } }
|