2 ! { dg-options "-std=gnu -O2" }
4 subroutine CalcCgr(C
,rmax
,ordgr_max
)
5 integer, intent(in
) :: rmax
,ordgr_max
6 double complex :: Zadj(2,2), Zadj2(2,2)
7 double complex, intent(out
) :: C(0:rmax
,0:rmax
,0:rmax
)
8 double complex, allocatable
:: Cexpgr(:,:,:,:)
10 integer :: rmaxB
,rmaxExp
,r
,n0
,n1
,n2
,k
,l
,i
,j
,m
,n
,nn
14 allocate(Cexpgr(0:rmaxExp
/2,0:rmaxExp
,0:rmaxExp
,0:ordgr_max
))
16 rloop
: do r
=0,rmaxExp
/2
20 Caux
= Caux
- Zadj(i
,l
)
22 Cexpgr(n0
,0,0,0) = Caux
/(2*(nn
+1))
28 C(0,n1
,n2
) = Cexpgr(0,n1
,n2
,0)
32 end subroutine CalcCgr