This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / d / rft.F
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 RFT (MM, X, IX, Y, IY, MODE)
11 C     EXECUTE REAL FAST FOURIER TRANSFORM.
12 C
13 C     INPUT     ... (X(I*IX+1), I = 0, N)
14 C     OUTPUT    ... (Y(I*IY+1), I = 0, N)
15 C     MM        ... INTEGER, SUCH THAT N = 2 ** MM.
16 C     MODE = 1  ... ANALYSIS OF A REAL PERIODIC FUNCTION.
17 C     MODE = 2  ... ANALYSIS OF A REAL EVEN FUNCTION.
18 C     MODE = 3  ... ANALYSIS OF A REAL ODD FUNCTION.
19 C     MODE = 4  ... SYNTHESIS OF A REAL PERIODIC FUNCTION.
20 C     MODE = 5  ... SYNTHESIS OF A REAL EVEN FUNCTION.
21 C     MODE = 6  ... SYNTHESIS OF A REAL ODD FUNCTION.
22 C
23       REAL X(128), Y(128)
24       COMMON /D700DT/ N, N2, N4, M, F, RTTWO
25       COMMON /FWORK/ W(321)
26 C
27       GO TO (10, 20, 30, 40, 20, 30), MODE
28 C
29 C     ANALYSIS OF A REAL PERIODIC FUNCTION.
30    10 CALL RPA (MM, X, IX, Y, IY)
31       RETURN
32 C
33 C     ANALYSIS OR SYNTHESIS OF A REAL EVEN FUNCTION.
34    20 CALL RCA (MM, X, IX, Y, IY)
35       RETURN
36 C
37 C     ANALYSIS OR SYNTHESIS OF A REAL ODD FUNCTION.
38    30 CALL RSA (MM, X, IX, Y, IY)
39       RETURN
40 C
41 C     SYNTHESIS OF A REAL PERIODIC FUNCTION.
42    40 CALL RPS (MM, X, IX, Y, IY)
43       RETURN
44       END