~ubuntu-branches/ubuntu/karmic/python-scipy/karmic

« back to all changes in this revision

Viewing changes to scipy/fftpack/dfftpack/dcosqf.f

  • Committer: Bazaar Package Importer
  • Author(s): Ondrej Certik
  • Date: 2008-06-16 22:58:01 UTC
  • mfrom: (2.1.24 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080616225801-irdhrpcwiocfbcmt
Tags: 0.6.0-12
* The description updated to match the current SciPy (Closes: #489149).
* Standards-Version bumped to 3.8.0 (no action needed)
* Build-Depends: netcdf-dev changed to libnetcdf-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      SUBROUTINE DCOSQF (N,X,WSAVE)
 
2
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
 
3
      DIMENSION       X(*)       ,WSAVE(*)
 
4
      DATA SQRT2 /1.41421356237309504880D0/
 
5
      IF (N.lt.2) GO TO 102
 
6
      IF (N.eq.2) GO TO 101
 
7
      GO TO 103
 
8
  101 TSQX = SQRT2*X(2)
 
9
      X(2) = X(1)-TSQX
 
10
      X(1) = X(1)+TSQX
 
11
  102 RETURN
 
12
  103 CALL DCOSQF1 (N,X,WSAVE,WSAVE(N+1))
 
13
      RETURN
 
14
      END
 
15
 
 
16
      SUBROUTINE DCOSQF1 (N,X,W,XH)
 
17
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
 
18
      DIMENSION       X(1)       ,W(1)       ,XH(1)
 
19
      NS2 = (N+1)/2
 
20
      NP2 = N+2
 
21
      DO 101 K=2,NS2
 
22
         KC = NP2-K
 
23
         XH(K) = X(K)+X(KC)
 
24
         XH(KC) = X(K)-X(KC)
 
25
  101 CONTINUE
 
26
      MODN = MOD(N,2)
 
27
      IF (MODN .EQ. 0) XH(NS2+1) = X(NS2+1)+X(NS2+1)
 
28
      DO 102 K=2,NS2
 
29
         KC = NP2-K
 
30
         X(K) = W(K-1)*XH(KC)+W(KC-1)*XH(K)
 
31
         X(KC) = W(K-1)*XH(K)-W(KC-1)*XH(KC)
 
32
  102 CONTINUE
 
33
      IF (MODN .EQ. 0) X(NS2+1) = W(NS2)*XH(NS2+1)
 
34
      CALL DFFTF (N,X,XH)
 
35
      DO 103 I=3,N,2
 
36
         XIM1 = X(I-1)-X(I)
 
37
         X(I) = X(I-1)+X(I)
 
38
         X(I-1) = XIM1
 
39
  103 CONTINUE
 
40
      RETURN
 
41
      END
 
42