1 SUBROUTINE trigfact(nu, nv, nvh, nuvh, mf, nf, cmunv, smunv,
8 INTEGER :: nu, nv, nvh, nuvh, mf, nf
9 REAL(rprec),
DIMENSION(nuvh,0:mf,-nf:nf) :: cmunv, smunv
10 REAL(rprec),
DIMENSION(nu,0:mf) :: cu, su
11 REAL(rprec),
DIMENSION(nvh,0:nf) :: cv, sv
15 REAL(rprec),
PARAMETER :: one = 1, zero = 0
19 INTEGER :: i, j, m, n, kv, ku
20 REAL(rprec) :: pi2, du, dv, cc, ss, sc, cs
56 cu(i,1) = cu(2,1)*cu(j,1) - su(2,1)*su(j,1)
57 su(i,1) = su(2,1)*cu(j,1) + cu(2,1)*su(j,1)
64 cv(i,1) = cv(2,1)*cv(j,1) - sv(2,1)*sv(j,1)
65 sv(i,1) = sv(2,1)*cv(j,1) + cv(2,1)*sv(j,1)
71 cu(:,i) = cu(:,1)*cu(:,j) - su(:,1)*su(:,j)
72 su(:,i) = su(:,1)*cu(:,j) + cu(:,1)*su(:,j)
78 cv(:,i) = cv(:,1)*cv(:,j) - sv(:,1)*sv(:,j)
79 sv(:,i) = sv(:,1)*cv(:,j) + cv(:,1)*sv(:,j)
90 cc = cu(ku,m)*cv(kv,n)
91 ss = su(ku,m)*sv(kv,n)
92 sc = su(ku,m)*cv(kv,n)
93 cs = cu(ku,m)*sv(kv,n)
94 cmunv(i,m,n) = cc - ss
95 cmunv(i,m,(-n)) = cc + ss
96 smunv(i,m,n) = sc + cs
97 smunv(i,m,(-n)) = sc - cs
103 END SUBROUTINE trigfact