~ubuntu-branches/ubuntu/wily/julia/wily

« back to all changes in this revision

Viewing changes to deps/openlibm/slatec/cfftb.f

  • Committer: Package Import Robot
  • Author(s): Sébastien Villemot
  • Date: 2013-01-16 12:29:42 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130116122942-x86e42akjq31repw
Tags: 0.0.0+20130107.gitd9656f41-1
* New upstream snashot
* No longer try to rebuild helpdb.jl.
   + debian/rules: remove helpdb.jl from build-arch rule
   + debian/control: move back python-sphinx to Build-Depends-Indep
* debian/copyright: reflect upstream changes
* Add Build-Conflicts on libatlas3-base (makes linalg tests fail)
* debian/rules: replace obsolete USE_DEBIAN makeflag by a list of
  USE_SYSTEM_* flags
* debian/rules: on non-x86 systems, use libm instead of openlibm
* dpkg-buildflags.patch: remove patch, applied upstream
* Refreshed other patches

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
*DECK CFFTB
 
2
      SUBROUTINE CFFTB (N, C, WSAVE)
 
3
C***BEGIN PROLOGUE  CFFTB
 
4
C***SUBSIDIARY
 
5
C***PURPOSE  Compute the unnormalized inverse of CFFTF.
 
6
C***LIBRARY   SLATEC (FFTPACK)
 
7
C***CATEGORY  J1A2
 
8
C***TYPE      COMPLEX (RFFTB-S, CFFTB-C)
 
9
C***KEYWORDS  FFTPACK, FOURIER TRANSFORM
 
10
C***AUTHOR  Swarztrauber, P. N., (NCAR)
 
11
C***DESCRIPTION
 
12
C
 
13
C  ********************************************************************
 
14
C  *   NOTICE   NOTICE   NOTICE   NOTICE   NOTICE   NOTICE   NOTICE   *
 
15
C  ********************************************************************
 
16
C  *                                                                  *
 
17
C  *   This routine uses non-standard Fortran 77 constructs and will  *
 
18
C  *   be removed from the library at a future date.  You are         *
 
19
C  *   requested to use CFFTB1.                                       *
 
20
C  *                                                                  *
 
21
C  ********************************************************************
 
22
C
 
23
C  Subroutine CFFTB computes the backward complex discrete Fourier
 
24
C  transform (the Fourier synthesis).  Equivalently, CFFTB computes
 
25
C  a complex periodic sequence from its Fourier coefficients.
 
26
C  The transform is defined below at output parameter C.
 
27
C
 
28
C  A call of CFFTF followed by a call of CFFTB will multiply the
 
29
C  sequence by N.
 
30
C
 
31
C  The array WSAVE which is used by subroutine CFFTB must be
 
32
C  initialized by calling subroutine CFFTI(N,WSAVE).
 
33
C
 
34
C  Input Parameters
 
35
C
 
36
C  N       the length of the complex sequence C.  The method is
 
37
C          more efficient when N is the product of small primes.
 
38
C
 
39
C  C       a complex array of length N which contains the sequence
 
40
C
 
41
C  WSAVE   a real work array which must be dimensioned at least 4*N+15
 
42
C          in the program that calls CFFTB.  The WSAVE array must be
 
43
C          initialized by calling subroutine CFFTI(N,WSAVE), and a
 
44
C          different WSAVE array must be used for each different
 
45
C          value of N.  This initialization does not have to be
 
46
C          repeated so long as N remains unchanged.  Thus subsequent
 
47
C          transforms can be obtained faster than the first.
 
48
C          The same WSAVE array can be used by CFFTF and CFFTB.
 
49
C
 
50
C  Output Parameters
 
51
C
 
52
C  C       For J=1,...,N
 
53
C
 
54
C              C(J)=the sum from K=1,...,N of
 
55
C
 
56
C                 C(K)*EXP(I*(J-1)*(K-1)*2*PI/N)
 
57
C
 
58
C                         where I=SQRT(-1)
 
59
C
 
60
C  WSAVE   contains initialization calculations which must not be
 
61
C          destroyed between calls of subroutine CFFTF or CFFTB
 
62
C
 
63
C***REFERENCES  P. N. Swarztrauber, Vectorizing the FFTs, in Parallel
 
64
C                 Computations (G. Rodrigue, ed.), Academic Press,
 
65
C                 1982, pp. 51-83.
 
66
C***ROUTINES CALLED  CFFTB1
 
67
C***REVISION HISTORY  (YYMMDD)
 
68
C   790601  DATE WRITTEN
 
69
C   830401  Modified to use SLATEC library source file format.
 
70
C   860115  Modified by Ron Boisvert to adhere to Fortran 77 by
 
71
C           changing dummy array size declarations (1) to (*).
 
72
C   861211  REVISION DATE from Version 3.2
 
73
C   881128  Modified by Dick Valent to meet prologue standards.
 
74
C   891214  Prologue converted to Version 4.0 format.  (BAB)
 
75
C   900131  Routine changed from user-callable to subsidiary
 
76
C           because of non-standard Fortran 77 arguments in the
 
77
C           call to CFFTB1.  (WRB)
 
78
C   920501  Reformatted the REFERENCES section.  (WRB)
 
79
C***END PROLOGUE  CFFTB
 
80
      COMPLEX C
 
81
      DIMENSION C(*), WSAVE(*)
 
82
C***FIRST EXECUTABLE STATEMENT  CFFTB
 
83
      IF (N .EQ. 1) RETURN
 
84
      IW1 = N+N+1
 
85
      IW2 = IW1+N+N
 
86
      CALL CFFTB1 (N,C,WSAVE,WSAVE(IW1),WSAVE(IW2))
 
87
      RETURN
 
88
      END