@@ -65,12 +65,12 @@ PROGRAM TSTFFT
6565 DO 157 NZ= 1 ,NNS
6666 N = ND(NZ)
6767 MODN = MOD (N,2 )
68- FN = FLOAT(N )
68+ FN = REAL (N,RK )
6969 TFN = FN+ FN
7070 NP1 = N+1
7171 NM1 = N-1
7272 DO 101 J= 1 ,NP1
73- X(J) = SIN (FLOAT(J )* SQRT2)
73+ X(J) = SIN (REAL (J,RK )* SQRT2)
7474 Y(J) = X(J)
7575 XH(J) = X(J)
7676 101 CONTINUE
@@ -85,9 +85,9 @@ PROGRAM TSTFFT
8585 DO 103 K= 2 ,NS2
8686 SUM1 = 0.0D0
8787 SUM2 = 0.0D0
88- ARG = FLOAT (K-1 )* DT
88+ ARG = REAL (K-1 ,RK )* DT
8989 DO 102 I= 1 ,N
90- ARG1 = FLOAT (I-1 )* ARG
90+ ARG1 = REAL (I-1 ,RK )* ARG
9191 SUM1 = SUM1+ X(I)* COS (ARG1)
9292 SUM2 = SUM2+ X(I)* SIN (ARG1)
9393 102 CONTINUE
@@ -112,13 +112,13 @@ PROGRAM TSTFFT
112112 RFTF = RFTF/ FN
113113 DO 109 I= 1 ,N
114114 SUM = 0.5D0 * X(1 )
115- ARG = FLOAT (I-1 )* DT
115+ ARG = REAL (I-1 ,RK )* DT
116116 IF (NS2 .LT. 2 ) GO TO 108
117117 DO 107 K= 2 ,NS2
118- ARG1 = FLOAT (K-1 )* ARG
118+ ARG1 = REAL (K-1 ,RK )* ARG
119119 SUM = SUM+ X(2 * K-2 )* COS (ARG1)- X(2 * K-1 )* SIN (ARG1)
120120 107 CONTINUE
121- 108 IF (MODN .EQ. 0 ) SUM = SUM+ .5 * FLOAT ((- 1 )** (I-1 ))* X(N)
121+ 108 IF (MODN .EQ. 0 ) SUM = SUM+ .5 * REAL ((- 1 )** (I-1 ),RK )* X(N)
122122 Y(I) = SUM+ SUM
123123 109 CONTINUE
124124 CALL DFFTB (N,X,W)
@@ -144,9 +144,9 @@ PROGRAM TSTFFT
144144 112 CONTINUE
145145 DO 114 I= 1 ,NM1
146146 Y(I) = 0.0D0
147- ARG1 = FLOAT(I )* DT
147+ ARG1 = REAL (I,RK )* DT
148148 DO 113 K= 1 ,NM1
149- Y(I) = Y(I)+ X(K)* SIN (FLOAT(K )* ARG1)
149+ Y(I) = Y(I)+ X(K)* SIN (REAL (K,RK )* ARG1)
150150 113 CONTINUE
151151 Y(I) = Y(I)+ Y(I)
152152 114 CONTINUE
@@ -173,10 +173,10 @@ PROGRAM TSTFFT
173173 X(I) = XH(I)
174174 117 CONTINUE
175175 DO 119 I= 1 ,NP1
176- Y(I) = 0.5D0 * (X(1 )+ FLOAT ((- 1 )** (I+1 ))* X(N+1 ))
177- ARG = FLOAT (I-1 )* DT
176+ Y(I) = 0.5D0 * (X(1 )+ REAL ((- 1 )** (I+1 ),RK )* X(N+1 ))
177+ ARG = REAL (I-1 ,RK )* DT
178178 DO 118 K= 2 ,N
179- Y(I) = Y(I)+ X(K)* COS (FLOAT (K-1 )* ARG)
179+ Y(I) = Y(I)+ X(K)* COS (REAL (K-1 ,RK )* ARG)
180180 118 CONTINUE
181181 Y(I) = Y(I)+ Y(I)
182182 119 CONTINUE
@@ -205,9 +205,9 @@ PROGRAM TSTFFT
205205 DT = PI/ (FN+ FN)
206206 DO 124 I= 1 ,N
207207 X(I) = 0.0D0
208- ARG = DT* FLOAT(I )
208+ ARG = DT* REAL (I,RK )
209209 DO 123 K= 1 ,N
210- X(I) = X(I)+ Y(K)* SIN (FLOAT (K+ K-1 )* ARG)
210+ X(I) = X(I)+ Y(K)* SIN (REAL (K+ K-1 ,RK )* ARG)
211211 123 CONTINUE
212212 X(I) = 4.0D0 * X(I)
213213 124 CONTINUE
@@ -220,10 +220,10 @@ PROGRAM TSTFFT
220220 125 CONTINUE
221221 SINQBT = CF* SINQBT
222222 DO 127 I= 1 ,N
223- ARG = FLOAT (I+ I-1 )* DT
224- Y(I) = 0.5D0 * FLOAT ((- 1 )** (I+1 ))* X(N)
223+ ARG = REAL (I+ I-1 ,RK )* DT
224+ Y(I) = 0.5D0 * REAL ((- 1 )** (I+1 ),RK )* X(N)
225225 DO 126 K= 1 ,NM1
226- Y(I) = Y(I)+ X(K)* SIN (FLOAT(K )* ARG)
226+ Y(I) = Y(I)+ X(K)* SIN (REAL (K,RK )* ARG)
227227 126 CONTINUE
228228 Y(I) = Y(I)+ Y(I)
229229 127 CONTINUE
@@ -248,9 +248,9 @@ PROGRAM TSTFFT
248248 130 CONTINUE
249249 DO 132 I= 1 ,N
250250 X(I) = 0.0D0
251- ARG = FLOAT (I-1 )* DT
251+ ARG = REAL (I-1 ,RK )* DT
252252 DO 131 K= 1 ,N
253- X(I) = X(I)+ Y(K)* COS (FLOAT (K+ K-1 )* ARG)
253+ X(I) = X(I)+ Y(K)* COS (REAL (K+ K-1 ,RK )* ARG)
254254 131 CONTINUE
255255 X(I) = 4.0D0 * X(I)
256256 132 CONTINUE
@@ -264,9 +264,9 @@ PROGRAM TSTFFT
264264 COSQBT = CF* COSQBT
265265 DO 135 I= 1 ,N
266266 Y(I) = 0.5D0 * X(1 )
267- ARG = FLOAT (I+ I-1 )* DT
267+ ARG = REAL (I+ I-1 ,RK )* DT
268268 DO 134 K= 2 ,N
269- Y(I) = Y(I)+ X(K)* COS (FLOAT (K-1 )* ARG)
269+ Y(I) = Y(I)+ X(K)* COS (REAL (K-1 ,RK )* ARG)
270270 134 CONTINUE
271271 Y(I) = Y(I)+ Y(I)
272272 135 CONTINUE
@@ -292,17 +292,17 @@ PROGRAM TSTFFT
292292 X(I) = XH(I)
293293 138 CONTINUE
294294 TPI = 8.0D0 * ATAN (1.0D0 )
295- DT = TPI/ FLOAT(N )
295+ DT = TPI/ REAL (N,RK )
296296 NS2 = (N+1 )/ 2
297- CF = 2.0D0 / FLOAT(N )
297+ CF = 2.0D0 / REAL (N,RK )
298298 NS2M = NS2-1
299299 IF (NS2M .LE. 0 ) GO TO 141
300300 DO 140 K= 1 ,NS2M
301301 SUM1 = 0.0D0
302302 SUM2 = 0.0D0
303- ARG = FLOAT(K )* DT
303+ ARG = REAL (K,RK )* DT
304304 DO 139 I= 1 ,N
305- ARG1 = FLOAT (I-1 )* ARG
305+ ARG1 = REAL (I-1 ,RK )* ARG
306306 SUM1 = SUM1+ X(I)* COS (ARG1)
307307 SUM2 = SUM2+ X(I)* SIN (ARG1)
308308 139 CONTINUE
@@ -330,9 +330,9 @@ PROGRAM TSTFFT
330330 IF (MODN .EQ. 0 ) B(NS2) = 0.0D0
331331 DO 146 I= 1 ,N
332332 SUM = AZERO
333- ARG1 = FLOAT (I-1 )* DT
333+ ARG1 = REAL (I-1 ,RK )* DT
334334 DO 145 K= 1 ,NS2
335- ARG2 = FLOAT(K )* ARG1
335+ ARG2 = REAL (K,RK )* ARG1
336336 SUM = SUM+ A(K)* COS (ARG2)+ B(K)* SIN (ARG2)
337337 145 CONTINUE
338338 X(I) = SUM
@@ -353,14 +353,14 @@ PROGRAM TSTFFT
353353C TEST CFFTI,CFFTF,CFFTB
354354C
355355 DO 149 I= 1 ,N
356- CX(I) = DCMPLX(COS (SQRT2* FLOAT(I )),SIN (SQRT2* FLOAT (I* I)))
356+ CX(I) = DCMPLX(COS (SQRT2* REAL (I,RK )),SIN (SQRT2* REAL (I* I,RK )))
357357 149 CONTINUE
358358 DT = (PI+ PI)/ FN
359359 DO 151 I= 1 ,N
360- ARG1 = - FLOAT (I-1 )* DT
360+ ARG1 = - REAL (I-1 ,RK )* DT
361361 CY(I) = (0.0D0 ,0.0D0 )
362362 DO 150 K= 1 ,N
363- ARG2 = FLOAT (K-1 )* ARG1
363+ ARG2 = REAL (K-1 ,RK )* ARG1
364364 CY(I) = CY(I)+ DCMPLX(COS (ARG2),SIN (ARG2))* CX(K)
365365 150 CONTINUE
366366 151 CONTINUE
@@ -373,10 +373,10 @@ PROGRAM TSTFFT
373373 152 CONTINUE
374374 DCFFTF = DCFFTF/ FN
375375 DO 154 I= 1 ,N
376- ARG1 = FLOAT (I-1 )* DT
376+ ARG1 = REAL (I-1 ,RK )* DT
377377 CY(I) = (0.0D0 ,0.0D0 )
378378 DO 153 K= 1 ,N
379- ARG2 = FLOAT (K-1 )* ARG1
379+ ARG2 = REAL (K-1 ,RK )* ARG1
380380 CY(I) = CY(I)+ DCMPLX(COS (ARG2),SIN (ARG2))* CX(K)
381381 153 CONTINUE
382382 154 CONTINUE
0 commit comments