[Scipy-svn] r4376 - in branches/refactor_fft/scipy/fftpack/backends: . fftw fftw3 mkl

scipy-svn at scipy.org scipy-svn at scipy.org
Sun May 18 07:01:19 EDT 2008


Author: cdavid
Date: 2008-05-18 06:01:08 -0500 (Sun, 18 May 2008)
New Revision: 4376

Added:
   branches/refactor_fft/scipy/fftpack/backends/fft_template.pyf.src
   branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf.src
   branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf.src
   branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf.src
Removed:
   branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf
   branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf
   branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf
Modified:
   branches/refactor_fft/scipy/fftpack/backends/setup.py
Log:
Use template and common implementation file for pyf.

Copied: branches/refactor_fft/scipy/fftpack/backends/fft_template.pyf.src (from rev 4374, branches/refactor_fft/scipy/fftpack/fftpack/fft_template.pyf.src)
===================================================================
--- branches/refactor_fft/scipy/fftpack/fftpack/fft_template.pyf.src	2008-05-18 09:42:27 UTC (rev 4374)
+++ branches/refactor_fft/scipy/fftpack/backends/fft_template.pyf.src	2008-05-18 11:01:08 UTC (rev 4376)
@@ -0,0 +1,75 @@
+!%f90 -*- f90 -*-
+! Author: Pearu Peterson, August 2002
+! This file is included by the files <backend>/<backend>.pyf.src
+! **********************************************************************
+! NOTE: IF YOU UPDATE THIS FILE, YOU SHOULD UPDATE IT FOR FFTPACK TOO !
+! **********************************************************************
+
+       subroutine zfft<modulename>(x,n,direction,howmany,normalize)
+         ! y = fft(x[,n,direction,normalize,overwrite_x])
+         intent(c) zfft<modulename>
+         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<modulename>
+
+       subroutine drfft<modulename>(x,n,direction,howmany,normalize)
+         ! y = drfft(x[,n,direction,normalize,overwrite_x])
+         intent(c) drfft<modulename>
+         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<modulename>
+
+       subroutine zrfft<modulename>(x,n,direction,howmany,normalize)
+         ! y = zrfft(x[,n,direction,normalize,overwrite_x])
+         intent(c) zrfft<modulename>
+         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<modulename>
+
+       subroutine zfftnd<modulename>(x,r,s,direction,howmany,normalize,j)
+         ! y = zfftnd(x[,s,direction,normalize,overwrite_x])
+         intent(c) zfftnd<modulename>
+         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(<modulename>_error, &
+                  "inconsistency in x.shape and s argument"); &
+                } &
+              }
+       end subroutine zfftnd<modulename>
+
+! See http://cens.ioc.ee/projects/f2py2e/

Deleted: branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf
===================================================================
--- branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf	2008-05-18 10:52:48 UTC (rev 4375)
+++ branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf	2008-05-18 11:01:08 UTC (rev 4376)
@@ -1,77 +0,0 @@
-!%f90 -*- f90 -*-
-! Author: Pearu Peterson, August 2002
-
-python module _fftw
-    interface
-
-       subroutine zfft_fftw(x,n,direction,howmany,normalize)
-         ! y = fft(x[,n,direction,normalize,overwrite_x])
-         intent(c) zfft_fftw
-         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_fftw
-
-       subroutine drfft_fftw(x,n,direction,howmany,normalize)
-         ! y = drfft(x[,n,direction,normalize,overwrite_x])
-         intent(c) drfft_fftw
-         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_fftw
-
-!       subroutine zrfft_fftw(x,n,direction,howmany,normalize)
-!         ! y = zrfft(x[,n,direction,normalize,overwrite_x])
-!         intent(c) zrfft_fftw
-!         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_fftw
-
-       subroutine zfftnd_fftw(x,r,s,direction,howmany,normalize,j)
-         ! y = zfftnd(x[,s,direction,normalize,overwrite_x])
-         intent(c) zfftnd_fftw
-         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(_fftw_error, &
-                  "inconsistency in x.shape and s argument"); &
-                } &
-              }
-       end subroutine zfftnd_fftw
-
-    end interface 
-end python module _fftw
-
-! See http://cens.ioc.ee/projects/f2py2e/

Added: branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf.src
===================================================================
--- branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf.src	2008-05-18 10:52:48 UTC (rev 4375)
+++ branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf.src	2008-05-18 11:01:08 UTC (rev 4376)
@@ -0,0 +1,8 @@
+! -*- f90 -*-
+! <modulename=_fftw>
+
+python module _fftw
+        interface
+                include '../fft_template.pyf.src'
+        end interface
+end python module _fftw

Deleted: branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf
===================================================================
--- branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf	2008-05-18 10:52:48 UTC (rev 4375)
+++ branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf	2008-05-18 11:01:08 UTC (rev 4376)
@@ -1,77 +0,0 @@
-!%f90 -*- f90 -*-
-! Author: Pearu Peterson, August 2002
-
-python module _fftw3
-    interface
-
-       subroutine zfft_fftw3(x,n,direction,howmany,normalize)
-         ! y = fft(x[,n,direction,normalize,overwrite_x])
-         intent(c) zfft_fftw3
-         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_fftw3
-
-       subroutine drfft_fftw3(x,n,direction,howmany,normalize)
-         ! y = drfft(x[,n,direction,normalize,overwrite_x])
-         intent(c) drfft_fftw3
-         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_fftw3
-
-!       subroutine zrfft_fftw3(x,n,direction,howmany,normalize)
-!         ! y = zrfft(x[,n,direction,normalize,overwrite_x])
-!         intent(c) zrfft_fftw3
-!         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_fftw3
-
-       subroutine zfftnd_fftw3(x,r,s,direction,howmany,normalize,j)
-         ! y = zfftnd(x[,s,direction,normalize,overwrite_x])
-         intent(c) zfftnd_fftw3
-         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(_fftw3_error, &
-                  "inconsistency in x.shape and s argument"); &
-                } &
-              }
-       end subroutine zfftnd_fftw3
-
-    end interface 
-end python module _fftw3
-
-! See http://cens.ioc.ee/projects/f2py2e/

Added: branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf.src
===================================================================
--- branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf.src	2008-05-18 10:52:48 UTC (rev 4375)
+++ branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf.src	2008-05-18 11:01:08 UTC (rev 4376)
@@ -0,0 +1,8 @@
+! -*- f90 -*-
+! <modulename=_fftw3>
+
+python module _fftw3
+        interface
+                include '../fft_template.pyf.src'
+        end interface
+end python module _fftw3

Deleted: branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf
===================================================================
--- branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf	2008-05-18 10:52:48 UTC (rev 4375)
+++ branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf	2008-05-18 11:01:08 UTC (rev 4376)
@@ -1,77 +0,0 @@
-!%f90 -*- f90 -*-
-! Author: Pearu Peterson, August 2002
-
-python module _mkl
-    interface
-
-       subroutine zfft_mkl(x,n,direction,howmany,normalize)
-         ! y = fft(x[,n,direction,normalize,overwrite_x])
-         intent(c) zfft_mkl
-         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_mkl
-
-!       subroutine drfft_mkl(x,n,direction,howmany,normalize)
-!         ! y = drfft(x[,n,direction,normalize,overwrite_x])
-!         intent(c) drfft_mkl
-!         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_mkl
-
-!       subroutine zrfft_mkl(x,n,direction,howmany,normalize)
-!         ! y = zrfft(x[,n,direction,normalize,overwrite_x])
-!         intent(c) zrfft_mkl
-!         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_mkl
-
-       subroutine zfftnd_mkl(x,r,s,direction,howmany,normalize,j)
-         ! y = zfftnd(x[,s,direction,normalize,overwrite_x])
-         intent(c) zfftnd_mkl
-         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(_mkl_error, &
-                  "inconsistency in x.shape and s argument"); &
-                } &
-              }
-       end subroutine zfftnd_mkl
-
-    end interface 
-end python module _mkl
-
-! See http://cens.ioc.ee/projects/f2py2e/

Added: branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf.src
===================================================================
--- branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf.src	2008-05-18 10:52:48 UTC (rev 4375)
+++ branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf.src	2008-05-18 11:01:08 UTC (rev 4376)
@@ -0,0 +1,8 @@
+! -*- f90 -*-
+! <modulename=_mkl>
+
+python module _mkl
+        interface
+                include '../fft_template.pyf.src'
+        end interface
+end python module _mkl

Modified: branches/refactor_fft/scipy/fftpack/backends/setup.py
===================================================================
--- branches/refactor_fft/scipy/fftpack/backends/setup.py	2008-05-18 10:52:48 UTC (rev 4375)
+++ branches/refactor_fft/scipy/fftpack/backends/setup.py	2008-05-18 11:01:08 UTC (rev 4376)
@@ -22,7 +22,7 @@
                            include_dirs = ["common",
                                            info['include_dirs']])
         config.add_extension("%s._%s" % (name, name), 
-                sources = ["%s/%s.pyf" % (name, name)], 
+                sources = ["%s/%s.pyf.src" % (name, name)], 
                 extra_info = info, libraries = ["%s_backend" % name])
 
     config.add_subpackage(name)




More information about the Scipy-svn mailing list