[Scipy-svn] r4876 - branches/remove_fft_backends/scipy/fftpack/src

scipy-svn at scipy.org scipy-svn at scipy.org
Sat Nov 1 09:30:21 EDT 2008


Author: cdavid
Date: 2008-11-01 08:30:16 -0500 (Sat, 01 Nov 2008)
New Revision: 4876

Removed:
   branches/remove_fft_backends/scipy/fftpack/src/drfft_fftw3.c
   branches/remove_fft_backends/scipy/fftpack/src/zfft_fftw3.c
   branches/remove_fft_backends/scipy/fftpack/src/zfftnd_fftw3.c
Log:
Remove fftw3 wrappers.

Deleted: branches/remove_fft_backends/scipy/fftpack/src/drfft_fftw3.c
===================================================================
--- branches/remove_fft_backends/scipy/fftpack/src/drfft_fftw3.c	2008-11-01 13:30:05 UTC (rev 4875)
+++ branches/remove_fft_backends/scipy/fftpack/src/drfft_fftw3.c	2008-11-01 13:30:16 UTC (rev 4876)
@@ -1,65 +0,0 @@
-/*
- * Last Change: Wed Aug 01 07:00 PM 2007 J
- *
- * FFTW3 implementation
- *
- * Original code by Pearu Peterson.
- */
-
-GEN_CACHE(drfftw3, (int n, int d, int flags)
-	  , int direction;
-	  int flags;
-	  fftw_plan plan;
-	  double *ptr;, ((caches_drfftw3[i].n == n) &&
-			 (caches_drfftw3[i].direction == d) &&
-			 (caches_drfftw3[i].flags == flags))
-	  , caches_drfftw3[id].direction = d;
-	  caches_drfftw3[id].flags = flags;
-	  caches_drfftw3[id].ptr =
-	  (double *) fftw_malloc(sizeof(double) * (n));
-	  caches_drfftw3[id].plan =
-	  fftw_plan_r2r_1d(n, caches_drfftw3[id].ptr, caches_drfftw3[id].ptr,
-			   (d > 0 ? FFTW_R2HC : FFTW_HC2R), flags);,
-	  fftw_destroy_plan(caches_drfftw3[id].plan);
-	  fftw_free(caches_drfftw3[id].ptr);, 10)
-
-static void drfft_fftw3(double *inout, int n, int direction, int
-			howmany, int normalize)
-{
-    int i;
-    double *ptr = inout;
-
-    double *ptrc = NULL;
-    fftw_plan plan = NULL;
-
-    i = get_cache_id_drfftw3(n, direction, FFTW_ESTIMATE);
-    plan = caches_drfftw3[i].plan;
-    ptrc = caches_drfftw3[i].ptr;
-    switch (direction) {
-    case 1:
-        for (i = 0; i < howmany; ++i, ptr += n) {
-            memcpy(ptrc, ptr, sizeof(double) * n);
-            fftw_execute(plan);
-            COPYRFFTW2STD(ptrc, ptr, n);
-        }
-        break;
-
-    case -1:
-        for (i = 0; i < howmany; ++i, ptr += n) {
-            COPYINVRFFTW2STD(ptr, ptrc, n);
-            fftw_execute(plan);
-            memcpy(ptr, ptrc, sizeof(double) * n);
-        }
-        break;
-    default:
-        fprintf(stderr, "drfft: invalid direction=%d\n", direction);
-    }
-
-    if (normalize) {
-        double d = 1.0 / n;
-        ptr = inout;
-        for (i = n * howmany - 1; i >= 0; --i) {
-            (*(ptr++)) *= d;
-        }
-    }
-}

Deleted: branches/remove_fft_backends/scipy/fftpack/src/zfft_fftw3.c
===================================================================
--- branches/remove_fft_backends/scipy/fftpack/src/zfft_fftw3.c	2008-11-01 13:30:05 UTC (rev 4875)
+++ branches/remove_fft_backends/scipy/fftpack/src/zfft_fftw3.c	2008-11-01 13:30:16 UTC (rev 4876)
@@ -1,121 +0,0 @@
-
-/* This cache uses FFTW_MEASURE for the plans, and do not copy the data. */
-GEN_CACHE(zfftw3,(int n,int d)
-	,int direction;
-	fftw_plan plan;
-    fftw_complex *wrk;
-	,((caches_zfftw3[i].n==n) &&
-	    (caches_zfftw3[i].direction==d))
-	,caches_zfftw3[id].direction = d;
-        /* This working buffer is only used to compute the plan: we need it
-           since FFTW_MEASURE destroys its input when computing a plan */
-	    caches_zfftw3[id].wrk = fftw_malloc(n * sizeof(double) * 2); 
-	    caches_zfftw3[id].plan = fftw_plan_dft_1d(n, 
-	        caches_zfftw3[id].wrk,
-	        caches_zfftw3[id].wrk,
-		(d>0?FFTW_FORWARD:FFTW_BACKWARD),
-		FFTW_ESTIMATE | FFTW_UNALIGNED);
-	,
-    fftw_destroy_plan(caches_zfftw3[id].plan);
-	fftw_free(caches_zfftw3[id].wrk);
-	,10)
-
-static void zfft_fftw3(complex_double * inout, int n, int dir, int
-howmany, int normalize)
-{
-	fftw_complex    *ptr = (fftw_complex*)inout;
-    fftw_complex    *ptrm;
-	fftw_plan       plan = NULL;
-    double          factor = 1./n;
-
-	int i;
-
-	plan = caches_zfftw3[get_cache_id_zfftw3(n, dir)].plan;
-
-	switch (dir) {
-	case 1:
-		for (i = 0; i < howmany; ++i, ptr += n) {
-			fftw_execute_dft(plan, ptr, ptr);
-		}
-		break;
-
-	case -1:
-		for (i = 0; i < howmany; ++i, ptr += n) {
-			fftw_execute_dft(plan, ptr, ptr);
-		}
-		break;
-
-	default:
-		fprintf(stderr, "zfft: invalid dir=%d\n", dir);
-	}
-
-	if (normalize) {
-        ptr =(fftw_complex*)inout;
-		for (i = n * howmany - 1; i >= 0; --i) {
-			*((double *) (ptr)) *= factor;
-			*((double *) (ptr++) + 1) *= factor;
-		}
-	}
-}
-#if 0
-GEN_CACHE(zfftw3,(int n,int d)
-	,int direction;
-	fftw_plan plan;
-	fftw_complex* ptr;
-	,((caches_zfftw3[i].n==n) &&
-	    (caches_zfftw3[i].direction==d))
-	,caches_zfftw3[id].direction = d;
-	caches_zfftw3[id].ptr = fftw_malloc(sizeof(fftw_complex)*(n));
-	    caches_zfftw3[id].plan = fftw_plan_dft_1d(n, caches_zfftw3[id].ptr,
-	caches_zfftw3[id].ptr,
-		(d>0?FFTW_FORWARD:FFTW_BACKWARD),
-		FFTW_ESTIMATE);
-	,fftw_destroy_plan(caches_zfftw3[id].plan);
-	fftw_free(caches_zfftw3[id].ptr);
-	,10)
-
-static void zfft_fftw3(complex_double * inout, int n, int dir, int
-howmany, int normalize)
-{
-	complex_double *ptr = inout;
-	fftw_complex *ptrm = NULL;
-	fftw_plan plan = NULL;
-
-	int i;
-
-	plan = caches_zfftw3[get_cache_id_zfftw3(n, dir)].plan;
-
-	switch (dir) {
-	case 1:
-		for (i = 0; i < howmany; ++i, ptr += n) {
-			ptrm =
-			    caches_zfftw3[get_cache_id_zfftw3(n, dir)].ptr;
-			memcpy(ptrm, ptr, sizeof(double) * 2 * n);
-			fftw_execute(plan);
-			memcpy(ptr, ptrm, sizeof(double) * 2 * n);
-		}
-		break;
-
-	case -1:
-		for (i = 0; i < howmany; ++i, ptr += n) {
-			ptrm =
-			    caches_zfftw3[get_cache_id_zfftw3(n, dir)].ptr;
-			memcpy(ptrm, ptr, sizeof(double) * 2 * n);
-			fftw_execute(plan);
-			memcpy(ptr, ptrm, sizeof(double) * 2 * n);
-		}
-		break;
-
-	default:
-		fprintf(stderr, "zfft: invalid dir=%d\n", dir);
-	}
-
-	if (normalize) {
-		ptr = inout;
-		for (i = n * howmany - 1; i >= 0; --i) {
-			*((double *) (ptr)) /= n;
-			*((double *) (ptr++) + 1) /= n;
-		}
-	}
-}
-#endif

Deleted: branches/remove_fft_backends/scipy/fftpack/src/zfftnd_fftw3.c
===================================================================
--- branches/remove_fft_backends/scipy/fftpack/src/zfftnd_fftw3.c	2008-11-01 13:30:05 UTC (rev 4875)
+++ branches/remove_fft_backends/scipy/fftpack/src/zfftnd_fftw3.c	2008-11-01 13:30:16 UTC (rev 4876)
@@ -1,40 +0,0 @@
-/*
- * fftw3 backend for multi dimensional fft
- *
- * Original code by Pearu Peaterson
- *
- * Last Change: Wed Aug 08 02:00 PM 2007 J
- */
-
-/* stub because fftw3 has no cache mechanism (yet) */
-static void destroy_zfftnd_fftw3_caches(void) {}
-
-extern void zfftnd_fftw3(complex_double * inout, int rank,
-			   int *dims, int direction, int howmany,
-			   int normalize)
-{
-    int i, sz;
-    complex_double *ptr = inout;
-
-    fftw_plan plan = NULL;
-    sz = 1;
-    for (i = 0; i < rank; ++i) {
-        sz *= dims[i];
-    }
-    plan = fftw_plan_many_dft(rank, dims, howmany,
-			      (fftw_complex *) ptr, NULL, 1, sz,
-			      (fftw_complex *) ptr, NULL, 1, sz,
-			      (direction >
-			       0 ? FFTW_FORWARD : FFTW_BACKWARD),
-			      FFTW_ESTIMATE);
-    fftw_execute(plan);
-    fftw_destroy_plan(plan);
-
-    if (normalize) {
-        ptr = inout;
-        for (i = sz * howmany - 1; i >= 0; --i) {
-            *((double *) (ptr)) /= sz;
-            *((double *) (ptr++) + 1) /= sz;
-        }
-    }
-}




More information about the Scipy-svn mailing list