]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1996/04/01 15:02:22 mclareni | |
6 | * Mathlib gen | |
7 | * | |
8 | * | |
9 | #include "gen/pilot.h" | |
10 | SUBROUTINE D700SU | |
11 | C PREPARE FIXED DATA FOR FAST FOURIER TRANSFORM. | |
12 | C | |
13 | COMMON /D700DT/ N, N2, N4, M, F, RTTWO | |
14 | COMMON /FWORK/ W(321) | |
15 | C | |
16 | IF(M .LT. 2) GO TO 90 | |
17 | N4 = 2 ** (M-2) | |
18 | N2 = N4 + N4 | |
19 | N = N2 + N2 | |
20 | F = 1.0 / SQRT(REAL(N)) | |
21 | DA = 4.0 * ATAN(1.0) / N2 | |
22 | RTTWO = SQRT(2.0) | |
23 | C | |
24 | NC = N4 - 1 | |
25 | IF(NC .LE. 0) RETURN | |
26 | DO 10 MC = 1, NC | |
27 | W(MC) = COS(DA*MC) | |
28 | 10 CONTINUE | |
29 | C | |
30 | RETURN | |
31 | C M MUST BE AT LEAST 2, I.E. THE PERIOD HAS AT LEAST 4 POINTS. | |
32 | 90 WRITE(6,100) M | |
33 | STOP | |
34 | C | |
35 | 100 FORMAT('1* ERROR IN RFT ... M =',I5,', SHOULD BE .GE. 2 *') | |
36 | END |