[Scipy-svn] r4382 - in branches/refactor_fft/scipy/fftpack/backends: . fftw fftw3 mkl
scipy-svn at scipy.org
scipy-svn at scipy.org
Sat May 24 11:28:28 EDT 2008
Author: cdavid
Date: 2008-05-24 10:28:10 -0500 (Sat, 24 May 2008)
New Revision: 4382
Added:
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
Removed:
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
Modified:
branches/refactor_fft/scipy/fftpack/backends/setup.py
Log:
Do not use template anymore in fft backends: it brings too much complexity for too little benefit.
Copied: branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf (from rev 4379, branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf.src)
===================================================================
--- branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf.src 2008-05-24 10:44:59 UTC (rev 4379)
+++ branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf 2008-05-24 15:28:10 UTC (rev 4382)
@@ -0,0 +1,77 @@
+!%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/
Deleted: branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf.src
===================================================================
--- branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf.src 2008-05-24 15:16:23 UTC (rev 4381)
+++ branches/refactor_fft/scipy/fftpack/backends/fftw/fftw.pyf.src 2008-05-24 15:28:10 UTC (rev 4382)
@@ -1,8 +0,0 @@
-! -*- f90 -*-
-! <modulename=_fftw>
-
-python module _fftw
- interface
- include '../fft_template.pyf.src'
- end interface
-end python module _fftw
Copied: branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf (from rev 4379, branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf.src)
===================================================================
--- branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf.src 2008-05-24 10:44:59 UTC (rev 4379)
+++ branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf 2008-05-24 15:28:10 UTC (rev 4382)
@@ -0,0 +1,78 @@
+!%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/
+
Deleted: branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf.src
===================================================================
--- branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf.src 2008-05-24 15:16:23 UTC (rev 4381)
+++ branches/refactor_fft/scipy/fftpack/backends/fftw3/fftw3.pyf.src 2008-05-24 15:28:10 UTC (rev 4382)
@@ -1,8 +0,0 @@
-! -*- f90 -*-
-! <modulename=_fftw3>
-
-python module _fftw3
- interface
- include '../fft_template.pyf.src'
- end interface
-end python module _fftw3
Copied: branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf (from rev 4379, branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf.src)
===================================================================
--- branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf.src 2008-05-24 10:44:59 UTC (rev 4379)
+++ branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf 2008-05-24 15:28:10 UTC (rev 4382)
@@ -0,0 +1,78 @@
+!%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/
+
Deleted: branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf.src
===================================================================
--- branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf.src 2008-05-24 15:16:23 UTC (rev 4381)
+++ branches/refactor_fft/scipy/fftpack/backends/mkl/mkl.pyf.src 2008-05-24 15:28:10 UTC (rev 4382)
@@ -1,8 +0,0 @@
-! -*- 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-24 15:16:23 UTC (rev 4381)
+++ branches/refactor_fft/scipy/fftpack/backends/setup.py 2008-05-24 15:28:10 UTC (rev 4382)
@@ -22,7 +22,7 @@
include_dirs = ["common",
info['include_dirs']])
config.add_extension("%s._%s" % (name, name),
- sources = ["%s/%s.pyf.src" % (name, name)],
+ sources = ["%s/%s.pyf" % (name, name)],
extra_info = info, libraries = ["%s_backend" % name])
config.add_subpackage(name)
More information about the Scipy-svn
mailing list