1 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
5 C Authors: Paul N. Swarztrauber and Richard A. Valent
9 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
11 SUBROUTINE SINTB1
(N
,INC
,X
,WSAVE
,XH
,WORK
,IER
)
12 REAL X
(INC
,*) ,WSAVE
(*) ,XH
(*)
16 102 SRT3S2
= SQRT
(3.)/2.
17 XHOLD
= SRT3S2*
(X
(1,1)+X
(1,2))
18 X
(1,2) = SRT3S2*
(X
(1,1)-X
(1,2))
26 T2
= WSAVE
(K
)*(X
(1,K
)+X
(1,KC
))
31 IF (MODN
.EQ
. 0) GO TO 124
32 XH
(NS2
+2) = 4.*X
(1,NS2
+1)
35 LNSV
= NP1
+ INT
(LOG
(REAL(NP1
))/LOG
(2.)) + 4
38 CALL RFFT1F
(NP1
,1,XH
,LNXH
,WSAVE
(NS2
+1),LNSV
,WORK
,LNWK
,IER1
)
41 CALL XERFFT
('SINTB1',-5)
45 IF(MOD
(NP1
,2) .NE
. 0) GO TO 30
46 XH
(NP1
) = XH
(NP1
)+XH
(NP1
)
47 30 FNP1S4
= FLOAT
(NP1
)/4.
51 X
(1,I
-1) = FNP1S4*XH
(I
)
52 DSUM
= DSUM
+FNP1S4*XH
(I
-1)
55 IF (MODN
.NE
. 0) GO TO 200
56 X
(1,N
) = FNP1S4*XH
(N
+1)