annotate gcc/testsuite/gfortran.dg/pr81529.f90 @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! { dg-do compile }
kono
parents:
diff changeset
2 ! { dg-options "-std=gnu -fno-tree-scev-cprop -Ofast" }
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 subroutine CalcCgr(C,rmax,ordgr_max)
kono
parents:
diff changeset
5 integer, intent(in) :: rmax,ordgr_max
kono
parents:
diff changeset
6 double complex :: Zadj(2,2), Zadj2(2,2)
kono
parents:
diff changeset
7 double complex, intent(out) :: C(0:rmax,0:rmax,0:rmax)
kono
parents:
diff changeset
8 double complex, allocatable :: Cexpgr(:,:,:,:)
kono
parents:
diff changeset
9 double complex :: Caux
kono
parents:
diff changeset
10 integer :: rmaxB,rmaxExp,r,n0,n1,n2,k,l,i,j,m,n,nn
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 rmaxB = 2*rmax
kono
parents:
diff changeset
13 rmaxExp = rmaxB
kono
parents:
diff changeset
14 allocate(Cexpgr(0:rmaxExp/2,0:rmaxExp,0:rmaxExp,0:ordgr_max))
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 rloop: do r=0,rmaxExp/2
kono
parents:
diff changeset
17 do n0=r,1,-1
kono
parents:
diff changeset
18 do nn=r-n0,0,-1
kono
parents:
diff changeset
19 do i=1,2
kono
parents:
diff changeset
20 Caux = Caux - Zadj(i,l)
kono
parents:
diff changeset
21 end do
kono
parents:
diff changeset
22 Cexpgr(n0,0,0,0) = Caux/(2*(nn+1))
kono
parents:
diff changeset
23 end do
kono
parents:
diff changeset
24 end do
kono
parents:
diff changeset
25 do n1=0,r
kono
parents:
diff changeset
26 n2 = r-n1
kono
parents:
diff changeset
27 if (r.le.rmax) then
kono
parents:
diff changeset
28 C(0,n1,n2) = Cexpgr(0,n1,n2,0)
kono
parents:
diff changeset
29 end if
kono
parents:
diff changeset
30 end do
kono
parents:
diff changeset
31 end do rloop
kono
parents:
diff changeset
32 end subroutine CalcCgr