1 !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
4 ! Copyright (C) 1995-2004, Scientific Computing Division,
5 ! University Corporation for Atmospheric Research
6 ! Licensed under the GNU General Public License (GPL)
8 ! Authors: Paul N. Swarztrauber and Richard A. Valent
10 ! $Id: cosqmb.f,v 1.2 2004/06/15 21:14:57 rodney Exp $
12 !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
14 SUBROUTINE COSQMB (LOT, JUMP, N, INC, X, LENX, WSAVE, LENSAV, &
16 INTEGER LOT, JUMP, N, INC, LENX, LENSAV, LENWRK, IER
17 REAL X(INC,*), WSAVE(LENSAV), WORK(LENWRK)
22 IF (LENX .LT. (LOT-1)*JUMP + INC*(N-1) + 1) THEN
24 CALL XERFFT ('COSQMB', 6)
26 ELSEIF (LENSAV .LT. 2*N + INT(LOG(REAL(N))) +4) THEN
28 CALL XERFFT ('COSQMB', 8)
30 ELSEIF (LENWRK .LT. LOT*N) THEN
32 CALL XERFFT ('COSQMB', 10)
34 ELSEIF (.NOT. XERCON(INC,JUMP,N,LOT)) THEN
36 CALL XERFFT ('COSQMB', -1)
42 101 DO 201 M=1,LJ,JUMP
46 102 SSQRT2 = 1./SQRT(2.)
49 X(M,2) = SSQRT2*(X(M,1)-X(M,2))
53 103 CALL MCSQB1 (LOT,JUMP,N,INC,X,WSAVE,WORK,IER1)
56 CALL XERFFT ('COSQMB',-5)