File: fftpack.pyf

package info (click to toggle)
python-scipy 0.7.2%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 28,500 kB
  • ctags: 36,081
  • sloc: cpp: 216,880; fortran: 76,016; python: 71,576; ansic: 62,118; makefile: 243; sh: 17
file content (89 lines) | stat: -rw-r--r-- 3,495 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
!%f90 -*- f90 -*-
! Author: Pearu Peterson, August 2002

python module _fftpack
    interface

       subroutine zfft(x,n,direction,howmany,normalize)
         ! y = fft(x[,n,direction,normalize,overwrite_x])
         intent(c) zfft
         complex*16 intent(c,in,out,copy,out=y) :: x(*)
         integer optional,depend(x),intent(c,in) :: n=size(x)
         check(n>0) n
         integer depend(x,n),intent(c,hide) :: howmany = size(x)/n
         check(n*howmany==size(x)) howmany
         integer optional,intent(c,in) :: direction = 1
         integer optional,intent(c,in),depend(direction) &
              :: normalize = (direction<0)
       end subroutine zfft

       subroutine drfft(x,n,direction,howmany,normalize)
         ! y = drfft(x[,n,direction,normalize,overwrite_x])
         intent(c) drfft
         real*8 intent(c,in,out,copy,out=y) :: x(*)
         integer optional,depend(x),intent(c,in) :: n=size(x)
         check(n>0&&n<=size(x)) n
         integer depend(x,n),intent(c,hide) :: howmany = size(x)/n
         check(n*howmany==size(x)) howmany
         integer optional,intent(c,in) :: direction = 1
         integer optional,intent(c,in),depend(direction) &
              :: normalize = (direction<0)
       end subroutine drfft

       subroutine zrfft(x,n,direction,howmany,normalize)
         ! y = zrfft(x[,n,direction,normalize,overwrite_x])
         intent(c) zrfft
         complex*16 intent(c,in,out,overwrite,out=y) :: x(*)
         integer optional,depend(x),intent(c,in) :: n=size(x)
         check(n>0&&n<=size(x)) n
         integer depend(x,n),intent(c,hide) :: howmany = size(x)/n
         check(n*howmany==size(x)) howmany
         integer optional,intent(c,in) :: direction = 1
         integer optional,intent(c,in),depend(direction) &
              :: normalize = (direction<0)
       end subroutine zrfft

       subroutine zfftnd(x,r,s,direction,howmany,normalize,j)
         ! y = zfftnd(x[,s,direction,normalize,overwrite_x])
         intent(c) zfftnd
         complex*16 intent(c,in,out,copy,out=y) :: x(*)
         integer intent(c,hide),depend(x) :: r=old_rank(x)
         integer intent(c,hide) :: j=0
         integer optional,depend(r),dimension(r),intent(c,in) &
              :: s=old_shape(x,j++)
         check(r>=len(s)) s
         integer intent(c,hide) :: howmany = 1
         integer optional,intent(c,in) :: direction = 1
         integer optional,intent(c,in),depend(direction) :: &
              normalize = (direction<0)
         callprotoargument complex_double*,int,int*,int,int,int
         callstatement {&
              int i,sz=1,xsz=size(x); &
              for (i=0;i<r;++i) sz *= s[i]; &
              howmany = xsz/sz; &
              if (sz*howmany==xsz) &
                (*f2py_func)(x,r,s,direction,howmany,normalize); &
              else {&
                f2py_success = 0; &
                PyErr_SetString(_fftpack_error, &
                  "inconsistency in x.shape and s argument"); &
                } &
              }
       end subroutine zfftnd

       subroutine destroy_zfft_cache()
         intent(c) destroy_zfft_cache
       end subroutine destroy_zfft_cache

       subroutine destroy_zfftnd_cache()
         intent(c) destroy_zfftnd_cache
       end subroutine destroy_zfftnd_cache

       subroutine destroy_drfft_cache()
         intent(c) destroy_drfft_cache
       end subroutine destroy_drfft_cache

    end interface 
end python module _fftpack

! See http://cens.ioc.ee/projects/f2py2e/