standard WRF version 3.0.1.1
[wrffire.git] / wrfv2_fire / external / fftpack / fftpack5 / cfftmb.F
blob1e850ea4d832397f801aa53938606ee1ab462b66
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: cfftmb.f,v 1.2 2004/06/15 21:08:32 rodney Exp $                
11 !                                                                       
12 !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
13                                                                         
14       SUBROUTINE CFFTMB (LOT, JUMP, N, INC, C, LENC, WSAVE, LENSAV,     &
15      &                  WORK, LENWRK, IER)                              
16       INTEGER  LOT, JUMP, N, INC, LENC, LENSAV, LENWRK, IER 
17       COMPLEX       C(LENC) 
18       REAL     WSAVE(LENSAV)     ,WORK(LENWRK) 
19       LOGICAL XERCON 
20 !                                                                       
21       IER = 0 
22 !                                                                       
23       IF (LENC .LT. (LOT-1)*JUMP + INC*(N-1) + 1) THEN 
24         IER = 1 
25         CALL XERFFT ('CFFTMB ', 6) 
26       ELSEIF (LENSAV .LT. 2*N + INT(LOG(REAL(N))) + 4) THEN 
27         IER = 2 
28         CALL XERFFT ('CFFTMB ', 8) 
29       ELSEIF (LENWRK .LT. 2*LOT*N) THEN 
30         IER = 3 
31         CALL XERFFT ('CFFTMB ', 10) 
32       ELSEIF (.NOT. XERCON(INC,JUMP,N,LOT)) THEN 
33         IER = 4 
34         CALL XERFFT ('CFFTMB ', -1) 
35       ENDIF 
36 !                                                                       
37       IF (N .EQ. 1) RETURN 
38 !                                                                       
39       IW1 = N+N+1 
40       CALL CMFM1B (LOT,JUMP,N,INC,C,WORK,WSAVE,WSAVE(IW1),              &
41      &                           WSAVE(IW1+1))                          
42       RETURN 
43       END