File: convolve.pyf

package info (click to toggle)
python-scipy 0.18.1-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 75,464 kB
  • ctags: 79,406
  • sloc: python: 143,495; cpp: 89,357; fortran: 81,650; ansic: 79,778; makefile: 364; sh: 265
file content (47 lines) | stat: -rw-r--r-- 1,675 bytes parent folder | download | duplicates (9)
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
!%f90 -*- f90 -*-
! Author: Pearu Peterson, September 2002

python module convolve__user__routines 
    interface
       real*8 function kernel_func(k)
         intent(c) kernel_func
         integer intent(in,c) :: k
       end function kernel_func
    end interface
end python module convolve__user__routines

python module convolve
  interface

     subroutine init_convolution_kernel (n,omega,d,kernel_func,zero_nyquist)
       intent(c) init_convolution_kernel
       use convolve__user__routines
       external kernel_func
       integer intent(in,c),check(n>0) :: n
       integer intent(in,c),optional :: d = 0
       real*8 intent(out,c),dimension(n),depend(n) :: omega
       integer intent(in,c),optional,depend(d) :: zero_nyquist = d%2
     end subroutine init_convolution_kernel

     subroutine destroy_convolve_cache()
       intent(c) destroy_convolve_cache
     end subroutine destroy_convolve_cache

     subroutine convolve(n,x,omega,swap_real_imag)
       intent(c) convolve
       integer intent(c,hide),depend (x) :: n = len(x)
       real*8 intent(c,in,out,copy,out=y),dimension(n):: x
       real*8 intent(c,in,cache),dimension(n),depend(n) :: omega
       integer intent(c,in),optional :: swap_real_imag = 0
     end subroutine convolve

     subroutine convolve_z(n,x,omega_real,omega_imag)
       intent(c) convolve_z
       integer intent(c,hide),depend (x) :: n = len(x)
       real*8 intent(c,in,out,copy,out=y),dimension(n):: x
       real*8 intent(c,in,cache),dimension(n),depend(n) :: omega_real
       real*8 intent(c,in,cache),dimension(n),depend(n) :: omega_imag
     end subroutine convolve_z

  end interface
end python module convolve