~ubuntu-branches/ubuntu/saucy/python-scipy/saucy

« back to all changes in this revision

Viewing changes to scipy/fftpack/dfftpack/dsint1.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 DSINT1(N,WAR,WAS,XH,X,IFAC)
 
2
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
 
3
      DIMENSION WAR(*),WAS(*),X(*),XH(*),IFAC(*)
 
4
      DATA SQRT3 /1.73205080756887729352D0/
 
5
      DO 100 I=1,N
 
6
      XH(I) = WAR(I)
 
7
      WAR(I) = X(I)
 
8
  100 CONTINUE
 
9
      IF (N.lt.2) GO TO 101
 
10
      IF (N.eq.2) GO TO 102
 
11
      GO TO 103
 
12
  101 XH(1) = XH(1)+XH(1)
 
13
      GO TO 106
 
14
  102 XHOLD = SQRT3*(XH(1)+XH(2))
 
15
      XH(2) = SQRT3*(XH(1)-XH(2))
 
16
      XH(1) = XHOLD
 
17
      GO TO 106
 
18
  103 NP1 = N+1
 
19
      NS2 = N/2
 
20
      X(1) = 0.0D0
 
21
      DO 104 K=1,NS2
 
22
         KC = NP1-K
 
23
         T1 = XH(K)-XH(KC)
 
24
         T2 = WAS(K)*(XH(K)+XH(KC))
 
25
         X(K+1) = T1+T2
 
26
         X(KC+1) = T2-T1
 
27
  104 CONTINUE
 
28
      MODN = MOD(N,2)
 
29
      IF (MODN .NE. 0) X(NS2+2) = 4.0D0*XH(NS2+1)
 
30
      CALL DFFTF1 (NP1,X,XH,WAR,IFAC)
 
31
      XH(1) = 0.5D0*X(1)
 
32
      DO 105 I=3,N,2
 
33
         XH(I-1) = -X(I)
 
34
         XH(I) = XH(I-2)+X(I-1)
 
35
  105 CONTINUE
 
36
      IF (MODN .NE. 0) GO TO 106
 
37
      XH(N) = -X(N+1)
 
38
  106 DO 107 I=1,N
 
39
      X(I) = WAR(I)
 
40
      WAR(I) = XH(I)
 
41
  107 CONTINUE
 
42
      RETURN
 
43
      END