[Scipy-svn] r4249 - in branches/refactor_fft/scipy/fftpack: . src src/mkl

scipy-svn at scipy.org scipy-svn at scipy.org
Thu May 8 09:58:03 EDT 2008


Author: cdavid
Date: 2008-05-08 08:57:46 -0500 (Thu, 08 May 2008)
New Revision: 4249

Added:
   branches/refactor_fft/scipy/fftpack/src/mkl/zfftnd.cxx
Removed:
   branches/refactor_fft/scipy/fftpack/src/mkl/zfftnd.c
Modified:
   branches/refactor_fft/scipy/fftpack/setup.py
   branches/refactor_fft/scipy/fftpack/src/zfftnd.cxx
Log:
Change c->c++ extension for mkl.

Modified: branches/refactor_fft/scipy/fftpack/setup.py
===================================================================
--- branches/refactor_fft/scipy/fftpack/setup.py	2008-05-08 12:36:20 UTC (rev 4248)
+++ branches/refactor_fft/scipy/fftpack/setup.py	2008-05-08 13:57:46 UTC (rev 4249)
@@ -36,7 +36,7 @@
             'src/djbfft/drfft.c', 'src/fftpack/drfft.cxx',
             'src/fftw3/drfft.cxx', 'src/fftw/drfft.cxx',
             'src/fftpack/zfftnd.cxx', 'src/fftw/zfftnd.cxx',
-            'src/fftw3/zfftnd.cxx', 'src/mkl/zfftnd.c',
+            'src/fftw3/zfftnd.cxx', 'src/mkl/zfftnd.cxx',
             ],
         include_dirs = ['src'],
     )

Deleted: branches/refactor_fft/scipy/fftpack/src/mkl/zfftnd.c
===================================================================
--- branches/refactor_fft/scipy/fftpack/src/mkl/zfftnd.c	2008-05-08 12:36:20 UTC (rev 4248)
+++ branches/refactor_fft/scipy/fftpack/src/mkl/zfftnd.c	2008-05-08 13:57:46 UTC (rev 4249)
@@ -1,66 +0,0 @@
-/*
- * MKL backend for multi dimensional fft
- *
- * Original code by David M. Cooke
- *
- * Last Change: Wed Aug 08 03:00 PM 2007 J
- */
-
-static long *convert_dims(int n, int *dims)
-{
-    long *ndim;
-    int i;
-    ndim = (long *) malloc(sizeof(long) * n);
-    for (i = 0; i < n; i++) {
-        ndim[i] = (long) dims[i];
-    }
-    return ndim;
-}
-
-GEN_CACHE(zfftnd_mkl, (int n, int *dims)
-	  , DFTI_DESCRIPTOR_HANDLE desc_handle;
-	  int *dims;
-	  long *ndims;, ((caches_zfftnd_mkl[i].n == n) &&
-			 (equal_dims(n, caches_zfftnd_mkl[i].dims, dims)))
-	  , caches_zfftnd_mkl[id].ndims = convert_dims(n, dims);
-	  caches_zfftnd_mkl[id].n = n;
-	  caches_zfftnd_mkl[id].dims = (int *) malloc(sizeof(int) * n);
-	  memcpy(caches_zfftnd_mkl[id].dims, dims, sizeof(int) * n);
-	  DftiCreateDescriptor(&caches_zfftnd_mkl[id].desc_handle,
-			       DFTI_DOUBLE, DFTI_COMPLEX, (long) n,
-			       caches_zfftnd_mkl[id].ndims);
-	  DftiCommitDescriptor(caches_zfftnd_mkl[id].desc_handle);,
-	  DftiFreeDescriptor(&caches_zfftnd_mkl[id].desc_handle);
-	  free(caches_zfftnd_mkl[id].dims);
-	  free(caches_zfftnd_mkl[id].ndims);, 10)
-
-extern void zfftnd_mkl(complex_double * inout, int rank,
-		       int *dims, int direction, int howmany,
-		       int normalize)
-{
-    int i, sz;
-    complex_double *ptr = inout;
-
-    DFTI_DESCRIPTOR_HANDLE desc_handle;
-    sz = 1;
-    for (i = 0; i < rank; ++i) {
-        sz *= dims[i];
-    }
-
-    desc_handle =
-	caches_zfftnd_mkl[get_cache_id_zfftnd_mkl(rank, dims)].desc_handle;
-    for (i = 0; i < howmany; ++i, ptr += sz) {
-        if (direction == 1) {
-            DftiComputeForward(desc_handle, (double *) ptr);
-        } else if (direction == -1) {
-            DftiComputeBackward(desc_handle, (double *) ptr);
-        }
-    }
-    if (normalize) {
-        ptr = inout;
-        for (i = sz * howmany - 1; i >= 0; --i) {
-            *((double *) (ptr)) /= sz;
-            *((double *) (ptr++) + 1) /= sz;
-        }
-    }
-}

Copied: branches/refactor_fft/scipy/fftpack/src/mkl/zfftnd.cxx (from rev 4244, branches/refactor_fft/scipy/fftpack/src/mkl/zfftnd.c)

Modified: branches/refactor_fft/scipy/fftpack/src/zfftnd.cxx
===================================================================
--- branches/refactor_fft/scipy/fftpack/src/zfftnd.cxx	2008-05-08 12:36:20 UTC (rev 4248)
+++ branches/refactor_fft/scipy/fftpack/src/zfftnd.cxx	2008-05-08 13:57:46 UTC (rev 4249)
@@ -37,7 +37,7 @@
     #include "fftw/zfftnd.cxx"
     GEN_PUBLIC_API(fftw)
 #elif defined WITH_MKL
-    #include "mkl/zfftnd.c"
+    #include "mkl/zfftnd.cxx"
     GEN_PUBLIC_API(mkl)
 #else /* Use fftpack by default */
     #include "fftpack/zfftnd.cxx"




More information about the Scipy-svn mailing list