1 | !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC |
---|
2 | ! |
---|
3 | ! FFTPACK 5.0 |
---|
4 | ! Copyright (C) 1995-2004, Scientific Computing Division, |
---|
5 | ! University Corporation for Atmospheric Research |
---|
6 | ! Licensed under the GNU General Public License (GPL) |
---|
7 | ! |
---|
8 | ! Authors: Paul N. Swarztrauber and Richard A. Valent |
---|
9 | ! |
---|
10 | ! $Id: rfft2i.f,v 1.3 2004/06/15 21:29:20 rodney Exp $ |
---|
11 | ! |
---|
12 | !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC |
---|
13 | |
---|
14 | SUBROUTINE RFFT2I (L, M, WSAVE, LENSAV, IER) |
---|
15 | INTEGER L, M, LENSAV, IER |
---|
16 | INTEGER LWSAV,MWSAV |
---|
17 | REAL WSAVE(LENSAV) |
---|
18 | ! |
---|
19 | ! Initialize IER |
---|
20 | ! |
---|
21 | IER = 0 |
---|
22 | ! |
---|
23 | ! Verify LENSAV |
---|
24 | ! |
---|
25 | LWSAV = L+INT(LOG(REAL(L)))+4 |
---|
26 | MWSAV = 2*M+INT(LOG(REAL(M)))+4 |
---|
27 | IF (LENSAV .LT. LWSAV+MWSAV) THEN |
---|
28 | IER = 2 |
---|
29 | CALL XERFFT ('RFFT2I', 4) |
---|
30 | GO TO 100 |
---|
31 | ENDIF |
---|
32 | ! |
---|
33 | CALL RFFTMI (L, WSAVE(1), L + INT(LOG(REAL(L))) + 4, IER1) |
---|
34 | IF (IER1 .NE. 0) THEN |
---|
35 | IER = 20 |
---|
36 | CALL XERFFT ('RFFT2I',-5) |
---|
37 | GO TO 100 |
---|
38 | ENDIF |
---|
39 | CALL CFFTMI (M, WSAVE(L+INT(LOG(REAL(L)))+5), & |
---|
40 | & 2*M+INT(LOG(REAL(M)))+4,IER1) |
---|
41 | IF (IER1 .NE. 0) THEN |
---|
42 | IER = 20 |
---|
43 | CALL XERFFT ('RFFT2I',-5) |
---|
44 | ENDIF |
---|
45 | ! |
---|
46 | 100 CONTINUE |
---|
47 | RETURN |
---|
48 | END |
---|