summaryrefslogtreecommitdiff
path: root/src/fftw3/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/fftw3/api')
-rw-r--r--src/fftw3/api/api.h70
-rw-r--r--src/fftw3/api/apiplan.c70
-rw-r--r--src/fftw3/api/config.h301
-rw-r--r--src/fftw3/api/configure.c31
-rw-r--r--src/fftw3/api/execute-dft-c2r.c29
-rw-r--r--src/fftw3/api/execute-dft-r2c.c29
-rw-r--r--src/fftw3/api/execute-dft.c32
-rw-r--r--src/fftw3/api/execute-r2r.c29
-rw-r--r--src/fftw3/api/execute-split-dft-c2r.c29
-rw-r--r--src/fftw3/api/execute-split-dft-r2c.c29
-rw-r--r--src/fftw3/api/execute-split-dft.c29
-rw-r--r--src/fftw3/api/execute.c27
-rw-r--r--src/fftw3/api/export-wisdom-to-file.c29
-rw-r--r--src/fftw3/api/export-wisdom-to-string.c82
-rw-r--r--src/fftw3/api/export-wisdom.c44
-rw-r--r--src/fftw3/api/extract-reim.c36
-rw-r--r--src/fftw3/api/f77api.c156
-rw-r--r--src/fftw3/api/f77funcs.h438
-rw-r--r--src/fftw3/api/fftw3.h272
-rw-r--r--src/fftw3/api/flops.c27
-rw-r--r--src/fftw3/api/forget-wisdom.c27
-rw-r--r--src/fftw3/api/import-system-wisdom.c46
-rw-r--r--src/fftw3/api/import-wisdom-from-file.c71
-rw-r--r--src/fftw3/api/import-wisdom-from-string.c50
-rw-r--r--src/fftw3/api/import-wisdom.c46
-rw-r--r--src/fftw3/api/map-r2r-kind.c50
-rw-r--r--src/fftw3/api/mapflags.c115
-rw-r--r--src/fftw3/api/mkprinter-file.c59
-rw-r--r--src/fftw3/api/mktensor-iodims.c62
-rw-r--r--src/fftw3/api/mktensor-rowmajor.c61
-rw-r--r--src/fftw3/api/plan-dft-1d.c27
-rw-r--r--src/fftw3/api/plan-dft-2d.c30
-rw-r--r--src/fftw3/api/plan-dft-3d.c32
-rw-r--r--src/fftw3/api/plan-dft-c2r-1d.c26
-rw-r--r--src/fftw3/api/plan-dft-c2r-2d.c29
-rw-r--r--src/fftw3/api/plan-dft-c2r-3d.c31
-rw-r--r--src/fftw3/api/plan-dft-c2r.c27
-rw-r--r--src/fftw3/api/plan-dft-r2c-1d.c26
-rw-r--r--src/fftw3/api/plan-dft-r2c-2d.c29
-rw-r--r--src/fftw3/api/plan-dft-r2c-3d.c31
-rw-r--r--src/fftw3/api/plan-dft-r2c.c29
-rw-r--r--src/fftw3/api/plan-dft.c30
-rw-r--r--src/fftw3/api/plan-guru-dft-c2r.c44
-rw-r--r--src/fftw3/api/plan-guru-dft-r2c.c43
-rw-r--r--src/fftw3/api/plan-guru-dft.c44
-rw-r--r--src/fftw3/api/plan-guru-r2r.c47
-rw-r--r--src/fftw3/api/plan-guru-split-dft-c2r.c40
-rw-r--r--src/fftw3/api/plan-guru-split-dft-r2c.c39
-rw-r--r--src/fftw3/api/plan-guru-split-dft.c39
-rw-r--r--src/fftw3/api/plan-many-dft-c2r.c59
-rw-r--r--src/fftw3/api/plan-many-dft-r2c.c57
-rw-r--r--src/fftw3/api/plan-many-dft.c51
-rw-r--r--src/fftw3/api/plan-many-r2r.c52
-rw-r--r--src/fftw3/api/plan-r2r-1d.c26
-rw-r--r--src/fftw3/api/plan-r2r-2d.c33
-rw-r--r--src/fftw3/api/plan-r2r-3d.c36
-rw-r--r--src/fftw3/api/plan-r2r.c28
-rw-r--r--src/fftw3/api/print-plan.c34
-rw-r--r--src/fftw3/api/rdft2-pad.c39
-rw-r--r--src/fftw3/api/the-planner.c42
-rw-r--r--src/fftw3/api/version.c49
-rw-r--r--src/fftw3/api/x77.h32
62 files changed, 0 insertions, 3557 deletions
diff --git a/src/fftw3/api/api.h b/src/fftw3/api/api.h
deleted file mode 100644
index 6b37151..0000000
--- a/src/fftw3/api/api.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-/* internal API definitions */
-#ifndef __API_H__
-#define __API_H__
-
-/* just in case: force <fftw3.h> not to use C99 complex numbers */
-#undef _Complex_I
-
-#include "fftw3.h"
-#include "ifftw.h"
-
-/* the API ``plan'' contains both the kernel plan and problem */
-struct X(plan_s) {
- plan *pln;
- problem *prb;
- int sign;
-};
-
-/* shorthand */
-typedef struct X(plan_s) apiplan;
-
-/* complex type for internal use */
-typedef R C[2];
-
-void X(extract_reim)(int sign, C *c, R **r, R **i);
-
-#define TAINT_UNALIGNED(p, flg) TAINT(p, ((flg) & FFTW_UNALIGNED) != 0)
-
-tensor *X(mktensor_rowmajor)(int rnk, const int *n,
- const int *niphys, const int *nophys,
- int is, int os);
-
-tensor *X(mktensor_iodims)(int rank, const X(iodim) *dims, int is, int os);
-const int *X(rdft2_pad)(int rnk, const int *n, const int *nembed,
- int inplace, int cmplx, int **nfree);
-
-int X(many_kosherp)(int rnk, const int *n, int howmany);
-int X(guru_kosherp)(int rank, const X(iodim) *dims,
- int howmany_rank, const X(iodim) *howmany_dims);
-
-
-printer *X(mkprinter_file)(FILE *f);
-
-planner *X(the_planner)(void);
-void X(configure_planner)(planner *plnr);
-
-void X(mapflags)(planner *, unsigned);
-
-apiplan *X(mkapiplan)(int sign, unsigned flags, problem *prb);
-
-#endif /* __API_H__ */
diff --git a/src/fftw3/api/apiplan.c b/src/fftw3/api/apiplan.c
deleted file mode 100644
index b9fee6b..0000000
--- a/src/fftw3/api/apiplan.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-
-apiplan *X(mkapiplan)(int sign, unsigned flags, problem *prb)
-WITH_ALIGNED_STACK({
- plan *pln;
- plan *pln0;
- apiplan *p = 0;
- planner *plnr = X(the_planner)();
-
- /* map API flags into FFTW flags */
- X(mapflags)(plnr, flags);
-
- /* create plan */
- plnr->planner_flags &= ~BLESSING;
- pln = plnr->adt->mkplan(plnr, prb);
-
- if (pln) {
- AWAKE(pln, 1);
-
- /* build apiplan */
- p = (apiplan *) MALLOC(sizeof(apiplan), PLANS);
- p->pln = pln;
- p->prb = prb;
- p->sign = sign; /* cache for execute_dft */
-
- /* blessing protocol */
- plnr->planner_flags |= BLESSING;
- pln0 = plnr->adt->mkplan(plnr, prb);
- X(plan_destroy_internal)(pln0);
- } else {
- X(problem_destroy)(prb);
- }
-
- /* discard all information not necessary to reconstruct the
- plan */
- plnr->adt->forget(plnr, FORGET_ACCURSED);
-
- return p;
-})
-
-void X(destroy_plan)(X(plan) p)
-{
- if (p) {
- AWAKE(p->pln, 0);
- X(plan_destroy_internal)(p->pln);
- X(problem_destroy)(p->prb);
- X(ifree)(p);
- }
-}
diff --git a/src/fftw3/api/config.h b/src/fftw3/api/config.h
deleted file mode 100644
index e97bf0d..0000000
--- a/src/fftw3/api/config.h
+++ /dev/null
@@ -1,301 +0,0 @@
-/* configuration file for the IM_FFTW3 library */
-
-/* extra CFLAGS for codelets */
-#define CODELET_OPTIM ""
-
-/* Define to a macro mangling the given C identifier (in lower and upper
- case), which must not contain underscores, for linking with Fortran. */
-#undef F77_FUNC
-
-/* As F77_FUNC, but for C identifiers containing underscores. */
-#undef F77_FUNC_
-
-/* Define if F77_FUNC and F77_FUNC_ are equivalent. */
-#undef F77_FUNC_EQUIV
-
-/* C compiler name and flags */
-#define FFTW_CC ""
-
-/* Define to enable extra FFTW debugging code. */
-#undef FFTW_DEBUG
-
-/* Define to enable alignment debugging hacks. */
-#undef FFTW_DEBUG_ALIGNMENT
-
-/* Define to enable debugging malloc. */
-#undef FFTW_DEBUG_MALLOC
-
-/* enable fast, unsafe modular multiplications, risking overflow for large
- prime sizes */
-#undef FFTW_ENABLE_UNSAFE_MULMOD
-
-/* Define to compile in long-double precision. */
-#undef FFTW_LDOUBLE
-
-/* Define to compile in single precision. */
-#define FFTW_SINGLE 1
-
-/* Define to enable 3DNow! optimizations. */
-#undef HAVE_3DNOW
-
-/* Define to 1 if you have `alloca', as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
- */
-#undef HAVE_ALLOCA_H
-
-/* Define to enable Altivec optimizations. */
-#undef HAVE_ALTIVEC
-
-/* Define to 1 if you have the `BSDgettimeofday' function. */
-#undef HAVE_BSDGETTIMEOFDAY
-
-/* Define to 1 if you have the `clock_gettime' function. */
-#undef HAVE_CLOCK_GETTIME
-
-/* Define to 1 if you have the `cosl' function. */
-#undef HAVE_COSL
-
-/* Define to 1 if you have the <c_asm.h> header file. */
-#undef HAVE_C_ASM_H
-
-/* Define to 1 if you have the declaration of `drand48', and to 0 if you don't. */
-#define HAVE_DECL_DRAND48 0
-
-/* Define to 1 if you have the declaration of `memalign', and to 0 if you
- don't. */
-#define HAVE_DECL_MEMALIGN 0
-
-/* Define to 1 if you have the declaration of `posix_memalign', and to 0 if
- you don't. */
-#define HAVE_DECL_POSIX_MEMALIGN 0
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
-#undef HAVE_DOPRNT
-
-/* Define to 1 if you have the `drand48' function. */
-#undef HAVE_DRAND48
-
-/* Define to 1 if you have the `gethrtime' function. */
-#undef HAVE_GETHRTIME
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#undef HAVE_GETTIMEOFDAY
-
-/* Define to 1 if hrtime_t is defined in <sys/time.h> */
-#undef HAVE_HRTIME_T
-
-/* Define to 1 if you have the <intrinsics.h> header file. */
-#undef HAVE_INTRINSICS_H
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define if the isnan() function/macro is available. */
-#define HAVE_ISNAN 1
-
-/* Define to enable AMD K7 optimizations. */
-#undef HAVE_K7
-
-/* Define to 1 if you have the <libintl.h> header file. */
-#undef HAVE_LIBINTL_H
-
-/* Define to 1 if you have the `m' library (-lm). */
-#undef HAVE_LIBM
-
-/* Define to 1 if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
-/* Define to 1 if you have the <malloc.h> header file. */
-/* #define HAVE_MALLOC_H 1 */
-
-/* Define to 1 if you have the `memalign' function. */
-#undef HAVE_MEMALIGN
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the `memset' function. */
-#define HAVE_MEMSET 1
-
-/* Define to 1 if you have the `posix_memalign' function. */
-#undef HAVE_POSIX_MEMALIGN
-
-/* Define if you have POSIX threads libraries and header files. */
-#undef HAVE_PTHREAD
-
-/* Define to 1 if you have the `read_real_time' function. */
-#undef HAVE_READ_REAL_TIME
-
-/* Define to 1 if you have the `sinl' function. */
-#define HAVE_SINL 1
-
-/* Define to 1 if you have the `sqrt' function. */
-#define HAVE_SQRT 1
-
-/* Define to enable SSE optimizations. */
-#undef HAVE_SSE
-/*#define HAVE_SSE 1 */
-
-/* Define to enable SSE2 optimizations. */
-#undef HAVE_SSE2
-
-/* Define to 1 if you have the <stddef.h> header file. */
-#define HAVE_STDDEF_H 1
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the `tanl' function. */
-#define HAVE_TANL 1
-
-/* Define if we have a threads library. */
-#undef HAVE_THREADS
-
-/* Define to 1 if you have the `time_base_to_time' function. */
-#undef HAVE_TIME_BASE_TO_TIME
-
-/* Define to 1 if the system has the type `uintptr_t'. */
-/* #undef HAVE_UINTPTR_T */
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have the `vprintf' function. */
-#define HAVE_VPRINTF
-
-/* Define to 1 if you have the `_mm_free' function. */
-#undef HAVE__MM_FREE
-
-/* Define to 1 if you have the `_mm_malloc' function. */
-#undef HAVE__MM_MALLOC
-
-/* Define if you have the UNICOS _rtc() intrinsic. */
-#undef HAVE__RTC
-
-/* Name of package */
-#define PACKAGE "FFTW"
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "FFTW_PACKAGENAME"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "FFTW V3"
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION 3
-
-/* Define to the necessary symbol if this constant uses a non-standard name on
- your system. */
-#undef PTHREAD_CREATE_JOINABLE
-
-/* The size of a `double', as computed by sizeof. */
-#define SIZEOF_DOUBLE 8
-
-/* The size of a `int', as computed by sizeof. */
-#define SIZEOF_INT 4
-
-/* The size of a `long', as computed by sizeof. */
-#define SIZEOF_LONG 4
-
-/* The size of a `long double', as computed by sizeof. */
-#define SIZEOF_LONG_DOUBLE 8
-
-/* The size of a `long long', as computed by sizeof. */
-#undef SIZEOF_LONG_LONG /* NO LONG LONG IN VC++ */
-
-/* The size of a `unsigned int', as computed by sizeof. */
-#define SIZEOF_UNSIGNED_INT 4
-
-/* The size of a `unsigned long', as computed by sizeof. */
-#define SIZEOF_UNSIGNED_LONG 4
-
-/* The size of a `unsigned long long', as computed by sizeof. */
-#undef SIZEOF_UNSIGNED_LONG_LONG
-
-/* The size of a `void *', as computed by sizeof. */
-#define SIZEOF_VOID_P 4
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Define if we have and are using OpenMP multithreading directives */
-#undef USING_OPENMP_THREADS
-
-/* Define if we have and are using POSIX threads. */
-#undef USING_POSIX_THREADS
-
-/* Version number of package */
-#define VERSION "3"
-
-/* Use common Windows Fortran mangling styles for the Fortran interfaces. */
-#undef WINDOWS_F77_MANGLING
-
-/* Use our own 16-byte aligned malloc routine; mainly helpful for Windows
- systems lacking aligned allocation system-library routines. */
-#undef WITHOUT_CYCLE_COUNTER
-
-/* Use our own 16-byte aligned malloc routine; mainly helpful for Windows
- systems lacking aligned allocation system-library routines. */
-#define WITH_OUR_MALLOC16 1
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define as `__inline' if that's what the C compiler calls it, or to nothing
- if it is not supported. */
-#define inline __inline
-
-/* Define to `unsigned' if <sys/types.h> does not define. */
-#undef size_t
-
-/* VC++ specific parameters */
-/* added May14th 2003, S.Ruel */
-#define HAVE_CONFIG_H 1
-#define isnan _isnan
-#define __inline__ __inline
-#define __asm__ __asm
-
-/* The intel and processor pack libraries should be compatible */
-#ifdef _MSC_VER
-#define __ICC 1
-#endif
diff --git a/src/fftw3/api/configure.c b/src/fftw3/api/configure.c
deleted file mode 100644
index 995281b..0000000
--- a/src/fftw3/api/configure.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "dft.h"
-#include "rdft.h"
-#include "reodft.h"
-
-void X(configure_planner)(planner *plnr)
-{
- X(dft_conf_standard)(plnr);
- X(rdft_conf_standard)(plnr);
- X(reodft_conf_standard)(plnr);
-}
diff --git a/src/fftw3/api/execute-dft-c2r.c b/src/fftw3/api/execute-dft-c2r.c
deleted file mode 100644
index 18b0749..0000000
--- a/src/fftw3/api/execute-dft-c2r.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-/* guru interface: requires care in alignment, r - i, etcetera. */
-void X(execute_dft_c2r)(const X(plan) p, C *in, R *out)
-WITH_ALIGNED_STACK({
- plan_rdft2 *pln = (plan_rdft2 *) p->pln;
- pln->apply((plan *) pln, out, in[0], in[0]+1);
-})
diff --git a/src/fftw3/api/execute-dft-r2c.c b/src/fftw3/api/execute-dft-r2c.c
deleted file mode 100644
index 1f4818f..0000000
--- a/src/fftw3/api/execute-dft-r2c.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-/* guru interface: requires care in alignment, r - i, etcetera. */
-void X(execute_dft_r2c)(const X(plan) p, R *in, C *out)
-WITH_ALIGNED_STACK({
- plan_rdft2 *pln = (plan_rdft2 *) p->pln;
- pln->apply((plan *) pln, in, out[0], out[0]+1);
-})
diff --git a/src/fftw3/api/execute-dft.c b/src/fftw3/api/execute-dft.c
deleted file mode 100644
index 67fc9b8..0000000
--- a/src/fftw3/api/execute-dft.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "dft.h"
-
-/* guru interface: requires care in alignment etcetera. */
-void X(execute_dft)(const X(plan) p, C *in, C *out)
-WITH_ALIGNED_STACK({
- plan_dft *pln = (plan_dft *) p->pln;
- if (p->sign == FFT_SIGN)
- pln->apply((plan *) pln, in[0], in[0]+1, out[0], out[0]+1);
- else
- pln->apply((plan *) pln, in[0]+1, in[0], out[0]+1, out[0]);
-})
diff --git a/src/fftw3/api/execute-r2r.c b/src/fftw3/api/execute-r2r.c
deleted file mode 100644
index d05f4ef..0000000
--- a/src/fftw3/api/execute-r2r.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-/* guru interface: requires care in alignment, etcetera. */
-void X(execute_r2r)(const X(plan) p, R *in, R *out)
-WITH_ALIGNED_STACK({
- plan_rdft *pln = (plan_rdft *) p->pln;
- pln->apply((plan *) pln, in, out);
-})
diff --git a/src/fftw3/api/execute-split-dft-c2r.c b/src/fftw3/api/execute-split-dft-c2r.c
deleted file mode 100644
index 5941436..0000000
--- a/src/fftw3/api/execute-split-dft-c2r.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-/* guru interface: requires care in alignment, r - i, etcetera. */
-void X(execute_split_dft_c2r)(const X(plan) p, R *ri, R *ii, R *out)
-WITH_ALIGNED_STACK({
- plan_rdft2 *pln = (plan_rdft2 *) p->pln;
- pln->apply((plan *) pln, out, ri, ii);
-})
diff --git a/src/fftw3/api/execute-split-dft-r2c.c b/src/fftw3/api/execute-split-dft-r2c.c
deleted file mode 100644
index 72eccb8..0000000
--- a/src/fftw3/api/execute-split-dft-r2c.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-/* guru interface: requires care in alignment, r - i, etcetera. */
-void X(execute_split_dft_r2c)(const X(plan) p, R *in, R *ro, R *io)
-WITH_ALIGNED_STACK({
- plan_rdft2 *pln = (plan_rdft2 *) p->pln;
- pln->apply((plan *) pln, in, ro, io);
-})
diff --git a/src/fftw3/api/execute-split-dft.c b/src/fftw3/api/execute-split-dft.c
deleted file mode 100644
index 4c226a9..0000000
--- a/src/fftw3/api/execute-split-dft.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "dft.h"
-
-/* guru interface: requires care in alignment, r - i, etcetera. */
-void X(execute_split_dft)(const X(plan) p, R *ri, R *ii, R *ro, R *io)
-WITH_ALIGNED_STACK({
- plan_dft *pln = (plan_dft *) p->pln;
- pln->apply((plan *) pln, ri, ii, ro, io);
-})
diff --git a/src/fftw3/api/execute.c b/src/fftw3/api/execute.c
deleted file mode 100644
index f995c1c..0000000
--- a/src/fftw3/api/execute.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-void X(execute)(const X(plan) p)
-WITH_ALIGNED_STACK({
- plan *pln = p->pln;
- pln->adt->solve(pln, p->prb);
-})
diff --git a/src/fftw3/api/export-wisdom-to-file.c b/src/fftw3/api/export-wisdom-to-file.c
deleted file mode 100644
index 769f1b4..0000000
--- a/src/fftw3/api/export-wisdom-to-file.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-void X(export_wisdom_to_file)(FILE *output_file)
-{
- printer *p = X(mkprinter_file)(output_file);
- planner *plnr = X(the_planner)();
- plnr->adt->exprt(plnr, p);
- X(printer_destroy)(p);
-}
diff --git a/src/fftw3/api/export-wisdom-to-string.c b/src/fftw3/api/export-wisdom-to-string.c
deleted file mode 100644
index df38b51..0000000
--- a/src/fftw3/api/export-wisdom-to-string.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-typedef struct {
- printer super;
- int *cnt;
-} P_cnt;
-
-static void putchr_cnt(printer * p_, char c)
-{
- P_cnt *p = (P_cnt *) p_;
- UNUSED(c);
- ++*p->cnt;
-}
-
-static printer *mkprinter_cnt(int *cnt)
-{
- P_cnt *p = (P_cnt *) X(mkprinter)(sizeof(P_cnt), putchr_cnt, 0);
- p->cnt = cnt;
- *cnt = 0;
- return &p->super;
-}
-
-typedef struct {
- printer super;
- char *s;
-} P_str;
-
-static void putchr_str(printer * p_, char c)
-{
- P_str *p = (P_str *) p_;
- *p->s++ = c;
- *p->s = 0;
-}
-
-static printer *mkprinter_str(char *s)
-{
- P_str *p = (P_str *) X(mkprinter)(sizeof(P_str), putchr_str, 0);
- p->s = s;
- *s = 0;
- return &p->super;
-}
-
-char *X(export_wisdom_to_string)(void)
-{
- printer *p;
- planner *plnr = X(the_planner)();
- int cnt;
- char *s;
-
- p = mkprinter_cnt(&cnt);
- plnr->adt->exprt(plnr, p);
- X(printer_destroy)(p);
-
- s = (char *) NATIVE_MALLOC(sizeof(char) * (cnt + 1), OTHER);
- if (s) {
- p = mkprinter_str(s);
- plnr->adt->exprt(plnr, p);
- X(printer_destroy)(p);
- }
-
- return s;
-}
diff --git a/src/fftw3/api/export-wisdom.c b/src/fftw3/api/export-wisdom.c
deleted file mode 100644
index d05c067..0000000
--- a/src/fftw3/api/export-wisdom.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-typedef struct {
- printer super;
- void (*write_char)(char c, void *);
- void *data;
-} P;
-
-static void putchr_generic(printer * p_, char c)
-{
- P *p = (P *) p_;
- (p->write_char)(c, p->data);
-}
-
-void X(export_wisdom)(void (*write_char)(char c, void *), void *data)
-{
- P *p = (P *) X(mkprinter)(sizeof(P), putchr_generic, 0);
- planner *plnr = X(the_planner)();
-
- p->write_char = write_char;
- p->data = data;
- plnr->adt->exprt(plnr, (printer *) p);
- X(printer_destroy)((printer *) p);
-}
diff --git a/src/fftw3/api/extract-reim.c b/src/fftw3/api/extract-reim.c
deleted file mode 100644
index 3a90ab5..0000000
--- a/src/fftw3/api/extract-reim.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-/* decompose complex pointer into real and imaginary parts.
- Flip real and imaginary if there the sign does not match
- FFTW's idea of what the sign should be */
-
-void X(extract_reim)(int sign, C *c, R **r, R **i)
-{
- if (sign == FFT_SIGN) {
- *r = c[0] + 0;
- *i = c[0] + 1;
- } else {
- *r = c[0] + 1;
- *i = c[0] + 0;
- }
-}
diff --git a/src/fftw3/api/f77api.c b/src/fftw3/api/f77api.c
deleted file mode 100644
index 3f70716..0000000
--- a/src/fftw3/api/f77api.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "dft.h"
-#include "rdft.h"
-
-/* if F77_FUNC is not defined, then we don't know how to mangle identifiers
- for the Fortran linker, and we must omit the f77 API. */
-#if defined(F77_FUNC) || defined(WINDOWS_F77_MANGLING)
-
-/*-----------------------------------------------------------------------*/
-/* some internal functions used by the f77 api */
-
-/* in fortran, the natural array ordering is column-major, which
- corresponds to reversing the dimensions relative to C's row-major */
-static int *reverse_n(int rnk, const int *n)
-{
- int *nrev;
- int i;
- A(FINITE_RNK(rnk));
- nrev = (int *) MALLOC(sizeof(int) * rnk, PROBLEMS);
- for (i = 0; i < rnk; ++i)
- nrev[rnk - i - 1] = n[i];
- return nrev;
-}
-
-/* f77 doesn't have data structures, so we have to pass iodims as
- parallel arrays */
-static X(iodim) *make_dims(int rnk, const int *n,
- const int *is, const int *os)
-{
- X(iodim) *dims;
- int i;
- A(FINITE_RNK(rnk));
- dims = (X(iodim) *) MALLOC(sizeof(X(iodim)) * rnk, PROBLEMS);
- for (i = 0; i < rnk; ++i) {
- dims[i].n = n[i];
- dims[i].is = is[i];
- dims[i].os = os[i];
- }
- return dims;
-}
-
-typedef struct {
- void (*f77_write_char)(char *, void *);
- void *data;
-} write_char_data;
-
-static void write_char(char c, void *d)
-{
- write_char_data *ad = (write_char_data *) d;
- ad->f77_write_char(&c, ad->data);
-}
-
-typedef struct {
- void (*f77_read_char)(int *, void *);
- void *data;
-} read_char_data;
-
-static int read_char(void *d)
-{
- read_char_data *ed = (read_char_data *) d;
- int c;
- ed->f77_read_char(&c, ed->data);
- return (c < 0 ? EOF : c);
-}
-
-static X(r2r_kind) *ints2kinds(int rnk, const int *ik)
-{
- if (!FINITE_RNK(rnk) || rnk == 0)
- return 0;
- else {
- int i;
- X(r2r_kind) *k;
-
- k = (X(r2r_kind) *) MALLOC(sizeof(X(r2r_kind)) * rnk, PROBLEMS);
- /* reverse order for Fortran -> C */
- for (i = 0; i < rnk; ++i)
- k[i] = (X(r2r_kind)) ik[rnk - 1 - i];
- return k;
- }
-}
-
-/*-----------------------------------------------------------------------*/
-
-#include "x77.h"
-
-#define F77(a, A) F77x(x77(a), X77(A))
-
-#ifndef WINDOWS_F77_MANGLING
-
-#if defined(F77_FUNC)
-# define F77x(a, A) F77_FUNC(a, A)
-# include "f77funcs.h"
-#endif
-
-/* If identifiers with underscores are mangled differently than those
- without underscores, then we include *both* mangling versions. The
- reason is that the only Fortran compiler that does such differing
- mangling is currently g77 (which adds an extra underscore to names
- with underscores), whereas other compilers running on the same
- machine are likely to use g77's non-underscored mangling. (I'm sick
- of users complaining that FFTW works with g77 but not with e.g.
- pgf77 or ifc on the same machine.) Note that all FFTW identifiers
- contain underscores, and configure picks g77 by default. */
-#if defined(F77_FUNC_) && !defined(F77_FUNC_EQUIV)
-# undef F77x
-# define F77x(a, A) F77_FUNC_(a, A)
-# include "f77funcs.h"
-#endif
-
-#else /* WINDOWS_F77_MANGLING */
-
-/* Various mangling conventions common (?) under Windows. */
-
-/* g77 */
-# define WINDOWS_F77_FUNC(a, A) a ## __
-# define F77x(a, A) WINDOWS_F77_FUNC(a, A)
-# include "f77funcs.h"
-
-/* Digital/Compaq/HP Visual Fortran, Intel Fortran. stdcall attribute
- is apparently required to adjust for calling conventions (callee
- pops stack in stdcall). See also:
- http://msdn.microsoft.com/library/en-us/vccore98/html/_core_mixed.2d.language_programming.3a_.overview.asp
-*/
-# undef WINDOWS_F77_FUNC
-# if defined(__GNUC__)
-# define WINDOWS_F77_FUNC(a, A) __attribute__((stdcall)) A
-# elif defined(_MSC_VER) || defined(_ICC) || defined(_STDCALL_SUPPORTED)
-# define WINDOWS_F77_FUNC(a, A) __stdcall A
-# else
-# define WINDOWS_F77_FUNC(a, A) A /* oh well */
-# endif
-# include "f77funcs.h"
-
-#endif /* WINDOWS_F77_MANGLING */
-
-#endif /* F77_FUNC */
diff --git a/src/fftw3/api/f77funcs.h b/src/fftw3/api/f77funcs.h
deleted file mode 100644
index ea0dd5c..0000000
--- a/src/fftw3/api/f77funcs.h
+++ /dev/null
@@ -1,438 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-/* Functions in the FFTW Fortran API, mangled according to the
- F77(...) macro. This file is designed to be #included by
- f77api.c, possibly multiple times in order to support multiple
- compiler manglings (via redefinition of F77). */
-
-void F77(execute, EXECUTE)(X(plan) * const p)
-WITH_ALIGNED_STACK({
- plan *pln = (*p)->pln;
- pln->adt->solve(pln, (*p)->prb);
-})
-
-void F77(destroy_plan, DESTROY_PLAN)(X(plan) *p)
-{
- X(destroy_plan)(*p);
-}
-
-void F77(cleanup, CLEANUP)(void)
-{
- X(cleanup)();
-}
-
-void F77(forget_wisdom, FORGET_WISDOM)(void)
-{
- X(forget_wisdom)();
-}
-
-void F77(export_wisdom, EXPORT_WISDOM)(void (*f77_write_char)(char *, void *),
- void *data)
-{
- write_char_data ad;
- ad.f77_write_char = f77_write_char;
- ad.data = data;
- X(export_wisdom)(write_char, (void *) &ad);
-}
-
-void F77(import_wisdom, IMPORT_WISDOM)(int *isuccess,
- void (*f77_read_char)(int *, void *),
- void *data)
-{
- read_char_data ed;
- ed.f77_read_char = f77_read_char;
- ed.data = data;
- *isuccess = X(import_wisdom)(read_char, (void *) &ed);
-}
-
-void F77(import_system_wisdom, IMPORT_SYSTEM_WISDOM)(int *isuccess)
-{
- *isuccess = X(import_system_wisdom)();
-}
-
-void F77(print_plan, PRINT_PLAN)(X(plan) * const p)
-{
- X(print_plan)(*p);
-}
-
-void F77(flops,FLOPS)(X(plan) *p, double *add, double *mul, double *fma)
-{
- X(flops)(*p, add, mul, fma);
-}
-
-/******************************** DFT ***********************************/
-
-void F77(plan_dft, PLAN_DFT)(X(plan) *p, int *rank, const int *n,
- C *in, C *out, int *sign, int *flags)
-{
- int *nrev = reverse_n(*rank, n);
- *p = X(plan_dft)(*rank, nrev, in, out, *sign, *flags);
- X(ifree0)(nrev);
-}
-
-void F77(plan_dft_1d, PLAN_DFT_1D)(X(plan) *p, int *n, C *in, C *out,
- int *sign, int *flags)
-{
- *p = X(plan_dft_1d)(*n, in, out, *sign, *flags);
-}
-
-void F77(plan_dft_2d, PLAN_DFT_2D)(X(plan) *p, int *nx, int *ny,
- C *in, C *out, int *sign, int *flags)
-{
- *p = X(plan_dft_2d)(*ny, *nx, in, out, *sign, *flags);
-}
-
-void F77(plan_dft_3d, PLAN_DFT_3D)(X(plan) *p, int *nx, int *ny, int *nz,
- C *in, C *out,
- int *sign, int *flags)
-{
- *p = X(plan_dft_3d)(*nz, *ny, *nx, in, out, *sign, *flags);
-}
-
-void F77(plan_many_dft, PLAN_MANY_DFT)(X(plan) *p, int *rank, const int *n,
- int *howmany,
- C *in, const int *inembed,
- int *istride, int *idist,
- C *out, const int *onembed,
- int *ostride, int *odist,
- int *sign, int *flags)
-{
- int *nrev = reverse_n(*rank, n);
- int *inembedrev = reverse_n(*rank, inembed);
- int *onembedrev = reverse_n(*rank, onembed);
- *p = X(plan_many_dft)(*rank, nrev, *howmany,
- in, inembedrev, *istride, *idist,
- out, onembedrev, *ostride, *odist,
- *sign, *flags);
- X(ifree0)(onembedrev);
- X(ifree0)(inembedrev);
- X(ifree0)(nrev);
-}
-
-void F77(plan_guru_dft, PLAN_GURU_DFT)(X(plan) *p, int *rank, const int *n,
- const int *is, const int *os,
- int *howmany_rank, const int *h_n,
- const int *h_is, const int *h_os,
- C *in, C *out, int *sign, int *flags)
-{
- X(iodim) *dims = make_dims(*rank, n, is, os);
- X(iodim) *howmany_dims = make_dims(*howmany_rank, h_n, h_is, h_os);
- *p = X(plan_guru_dft)(*rank, dims, *howmany_rank, howmany_dims,
- in, out, *sign, *flags);
- X(ifree0)(howmany_dims);
- X(ifree0)(dims);
-}
-
-void F77(plan_guru_split_dft, PLAN_GURU_SPLIT_DFT)(X(plan) *p, int *rank, const int *n,
- const int *is, const int *os,
- int *howmany_rank, const int *h_n,
- const int *h_is, const int *h_os,
- R *ri, R *ii, R *ro, R *io, int *flags)
-{
- X(iodim) *dims = make_dims(*rank, n, is, os);
- X(iodim) *howmany_dims = make_dims(*howmany_rank, h_n, h_is, h_os);
- *p = X(plan_guru_split_dft)(*rank, dims, *howmany_rank, howmany_dims,
- ri, ii, ro, io, *flags);
- X(ifree0)(howmany_dims);
- X(ifree0)(dims);
-}
-
-void F77(execute_dft, EXECUTE_DFT)(X(plan) * const p, C *in, C *out)
-WITH_ALIGNED_STACK({
- plan_dft *pln = (plan_dft *) (*p)->pln;
- if ((*p)->sign == FFT_SIGN)
- pln->apply((plan *) pln, in[0], in[0]+1, out[0], out[0]+1);
- else
- pln->apply((plan *) pln, in[0]+1, in[0], out[0]+1, out[0]);
-})
-
-void F77(execute_split_dft, EXECUTE_SPLIT_DFT)(X(plan) * const p,
- R *ri, R *ii, R *ro, R *io)
-WITH_ALIGNED_STACK({
- plan_dft *pln = (plan_dft *) (*p)->pln;
- pln->apply((plan *) pln, ri, ii, ro, io);
-})
-
-/****************************** DFT r2c *********************************/
-
-void F77(plan_dft_r2c, PLAN_DFT_R2C)(X(plan) *p, int *rank, const int *n,
- R *in, C *out, int *flags)
-{
- int *nrev = reverse_n(*rank, n);
- *p = X(plan_dft_r2c)(*rank, nrev, in, out, *flags);
- X(ifree0)(nrev);
-}
-
-void F77(plan_dft_r2c_1d, PLAN_DFT_R2C_1D)(X(plan) *p, int *n, R *in, C *out,
- int *flags)
-{
- *p = X(plan_dft_r2c_1d)(*n, in, out, *flags);
-}
-
-void F77(plan_dft_r2c_2d, PLAN_DFT_R2C_2D)(X(plan) *p, int *nx, int *ny,
- R *in, C *out, int *flags)
-{
- *p = X(plan_dft_r2c_2d)(*ny, *nx, in, out, *flags);
-}
-
-void F77(plan_dft_r2c_3d, PLAN_DFT_R2C_3D)(X(plan) *p,
- int *nx, int *ny, int *nz,
- R *in, C *out,
- int *flags)
-{
- *p = X(plan_dft_r2c_3d)(*nz, *ny, *nx, in, out, *flags);
-}
-
-void F77(plan_many_dft_r2c, PLAN_MANY_DFT_R2C)(
- X(plan) *p, int *rank, const int *n,
- int *howmany,
- R *in, const int *inembed, int *istride, int *idist,
- C *out, const int *onembed, int *ostride, int *odist,
- int *flags)
-{
- int *nrev = reverse_n(*rank, n);
- int *inembedrev = reverse_n(*rank, inembed);
- int *onembedrev = reverse_n(*rank, onembed);
- *p = X(plan_many_dft_r2c)(*rank, nrev, *howmany,
- in, inembedrev, *istride, *idist,
- out, onembedrev, *ostride, *odist,
- *flags);
- X(ifree0)(onembedrev);
- X(ifree0)(inembedrev);
- X(ifree0)(nrev);
-}
-
-void F77(plan_guru_dft_r2c, PLAN_GURU_DFT_R2C)(
- X(plan) *p, int *rank, const int *n,
- const int *is, const int *os,
- int *howmany_rank, const int *h_n,
- const int *h_is, const int *h_os,
- R *in, C *out, int *flags)
-{
- X(iodim) *dims = make_dims(*rank, n, is, os);
- X(iodim) *howmany_dims = make_dims(*howmany_rank, h_n, h_is, h_os);
- *p = X(plan_guru_dft_r2c)(*rank, dims, *howmany_rank, howmany_dims,
- in, out, *flags);
- X(ifree0)(howmany_dims);
- X(ifree0)(dims);
-}
-
-void F77(plan_guru_split_dft_r2c, PLAN_GURU_SPLIT_DFT_R2C)(
- X(plan) *p, int *rank, const int *n,
- const int *is, const int *os,
- int *howmany_rank, const int *h_n,
- const int *h_is, const int *h_os,
- R *in, R *ro, R *io, int *flags)
-{
- X(iodim) *dims = make_dims(*rank, n, is, os);
- X(iodim) *howmany_dims = make_dims(*howmany_rank, h_n, h_is, h_os);
- *p = X(plan_guru_split_dft_r2c)(*rank, dims, *howmany_rank, howmany_dims,
- in, ro, io, *flags);
- X(ifree0)(howmany_dims);
- X(ifree0)(dims);
-}
-
-void F77(execute_dft_r2c, EXECUTE_DFT_R2C)(X(plan) * const p, R *in, C *out)
-WITH_ALIGNED_STACK({
- plan_rdft2 *pln = (plan_rdft2 *) (*p)->pln;
- pln->apply((plan *) pln, in, out[0], out[0]+1);
-})
-
-void F77(execute_split_dft_r2c, EXECUTE_SPLIT_DFT_R2C)(X(plan) * const p,
- R *in, R *ro, R *io)
-WITH_ALIGNED_STACK({
- plan_rdft2 *pln = (plan_rdft2 *) (*p)->pln;
- pln->apply((plan *) pln, in, ro, io);
-})
-
-/****************************** DFT c2r *********************************/
-
-void F77(plan_dft_c2r, PLAN_DFT_C2R)(X(plan) *p, int *rank, const int *n,
- C *in, R *out, int *flags)
-{
- int *nrev = reverse_n(*rank, n);
- *p = X(plan_dft_c2r)(*rank, nrev, in, out, *flags);
- X(ifree0)(nrev);
-}
-
-void F77(plan_dft_c2r_1d, PLAN_DFT_C2R_1D)(X(plan) *p, int *n, C *in, R *out,
- int *flags)
-{
- *p = X(plan_dft_c2r_1d)(*n, in, out, *flags);
-}
-
-void F77(plan_dft_c2r_2d, PLAN_DFT_C2R_2D)(X(plan) *p, int *nx, int *ny,
- C *in, R *out, int *flags)
-{
- *p = X(plan_dft_c2r_2d)(*ny, *nx, in, out, *flags);
-}
-
-void F77(plan_dft_c2r_3d, PLAN_DFT_C2R_3D)(X(plan) *p,
- int *nx, int *ny, int *nz,
- C *in, R *out,
- int *flags)
-{
- *p = X(plan_dft_c2r_3d)(*nz, *ny, *nx, in, out, *flags);
-}
-
-void F77(plan_many_dft_c2r, PLAN_MANY_DFT_C2R)(
- X(plan) *p, int *rank, const int *n,
- int *howmany,
- C *in, const int *inembed, int *istride, int *idist,
- R *out, const int *onembed, int *ostride, int *odist,
- int *flags)
-{
- int *nrev = reverse_n(*rank, n);
- int *inembedrev = reverse_n(*rank, inembed);
- int *onembedrev = reverse_n(*rank, onembed);
- *p = X(plan_many_dft_c2r)(*rank, nrev, *howmany,
- in, inembedrev, *istride, *idist,
- out, onembedrev, *ostride, *odist,
- *flags);
- X(ifree0)(onembedrev);
- X(ifree0)(inembedrev);
- X(ifree0)(nrev);
-}
-
-void F77(plan_guru_dft_c2r, PLAN_GURU_DFT_C2R)(
- X(plan) *p, int *rank, const int *n,
- const int *is, const int *os,
- int *howmany_rank, const int *h_n,
- const int *h_is, const int *h_os,
- C *in, R *out, int *flags)
-{
- X(iodim) *dims = make_dims(*rank, n, is, os);
- X(iodim) *howmany_dims = make_dims(*howmany_rank, h_n, h_is, h_os);
- *p = X(plan_guru_dft_c2r)(*rank, dims, *howmany_rank, howmany_dims,
- in, out, *flags);
- X(ifree0)(howmany_dims);
- X(ifree0)(dims);
-}
-
-void F77(plan_guru_split_dft_c2r, PLAN_GURU_SPLIT_DFT_C2R)(
- X(plan) *p, int *rank, const int *n,
- const int *is, const int *os,
- int *howmany_rank, const int *h_n,
- const int *h_is, const int *h_os,
- R *ri, R *ii, R *out, int *flags)
-{
- X(iodim) *dims = make_dims(*rank, n, is, os);
- X(iodim) *howmany_dims = make_dims(*howmany_rank, h_n, h_is, h_os);
- *p = X(plan_guru_split_dft_c2r)(*rank, dims, *howmany_rank, howmany_dims,
- ri, ii, out, *flags);
- X(ifree0)(howmany_dims);
- X(ifree0)(dims);
-}
-
-void F77(execute_dft_c2r, EXECUTE_DFT_C2R)(X(plan) * const p, C *in, R *out)
-WITH_ALIGNED_STACK({
- plan_rdft2 *pln = (plan_rdft2 *) (*p)->pln;
- pln->apply((plan *) pln, out, in[0], in[0]+1);
-})
-
-void F77(execute_split_dft_c2r, EXECUTE_SPLIT_DFT_C2R)(X(plan) * const p,
- R *ri, R *ii, R *out)
-WITH_ALIGNED_STACK({
- plan_rdft2 *pln = (plan_rdft2 *) (*p)->pln;
- pln->apply((plan *) pln, out, ri, ii);
-})
-
-/****************************** r2r *********************************/
-
-void F77(plan_r2r, PLAN_R2R)(X(plan) *p, int *rank, const int *n,
- R *in, R *out,
- int *kind, int *flags)
-{
- int *nrev = reverse_n(*rank, n);
- X(r2r_kind) *k = ints2kinds(*rank, kind);
- *p = X(plan_r2r)(*rank, nrev, in, out, k, *flags);
- X(ifree0)(k);
- X(ifree0)(nrev);
-}
-
-void F77(plan_r2r_1d, PLAN_R2R_1D)(X(plan) *p, int *n, R *in, R *out,
- int *kind, int *flags)
-{
- *p = X(plan_r2r_1d)(*n, in, out, (X(r2r_kind)) *kind, *flags);
-}
-
-void F77(plan_r2r_2d, PLAN_R2R_2D)(X(plan) *p, int *nx, int *ny,
- R *in, R *out,
- int *kindx, int *kindy, int *flags)
-{
- *p = X(plan_r2r_2d)(*ny, *nx, in, out,
- (X(r2r_kind)) *kindy, (X(r2r_kind)) *kindx, *flags);
-}
-
-void F77(plan_r2r_3d, PLAN_R2R_3D)(X(plan) *p,
- int *nx, int *ny, int *nz,
- R *in, R *out,
- int *kindx, int *kindy, int *kindz,
- int *flags)
-{
- *p = X(plan_r2r_3d)(*nz, *ny, *nx, in, out,
- (X(r2r_kind)) *kindz, (X(r2r_kind)) *kindy,
- (X(r2r_kind)) *kindx, *flags);
-}
-
-void F77(plan_many_r2r, PLAN_MANY_R2R)(
- X(plan) *p, int *rank, const int *n,
- int *howmany,
- R *in, const int *inembed, int *istride, int *idist,
- R *out, const int *onembed, int *ostride, int *odist,
- int *kind, int *flags)
-{
- int *nrev = reverse_n(*rank, n);
- int *inembedrev = reverse_n(*rank, inembed);
- int *onembedrev = reverse_n(*rank, onembed);
- X(r2r_kind) *k = ints2kinds(*rank, kind);
- *p = X(plan_many_r2r)(*rank, nrev, *howmany,
- in, inembedrev, *istride, *idist,
- out, onembedrev, *ostride, *odist,
- k, *flags);
- X(ifree0)(k);
- X(ifree0)(onembedrev);
- X(ifree0)(inembedrev);
- X(ifree0)(nrev);
-}
-
-void F77(plan_guru_r2r, PLAN_GURU_R2R)(
- X(plan) *p, int *rank, const int *n,
- const int *is, const int *os,
- int *howmany_rank, const int *h_n,
- const int *h_is, const int *h_os,
- R *in, R *out, int *kind, int *flags)
-{
- X(iodim) *dims = make_dims(*rank, n, is, os);
- X(iodim) *howmany_dims = make_dims(*howmany_rank, h_n, h_is, h_os);
- X(r2r_kind) *k = ints2kinds(*rank, kind);
- *p = X(plan_guru_r2r)(*rank, dims, *howmany_rank, howmany_dims,
- in, out, k, *flags);
- X(ifree0)(k);
- X(ifree0)(howmany_dims);
- X(ifree0)(dims);
-}
-
-void F77(execute_r2r, EXECUTE_R2R)(X(plan) * const p, R *in, R *out)
-WITH_ALIGNED_STACK({
- plan_rdft *pln = (plan_rdft *) (*p)->pln;
- pln->apply((plan *) pln, in, out);
-})
diff --git a/src/fftw3/api/fftw3.h b/src/fftw3/api/fftw3.h
deleted file mode 100644
index 6cb3254..0000000
--- a/src/fftw3/api/fftw3.h
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-/* header file for fftw3 */
-/* $Id: fftw3.h,v 1.1 2008/10/17 06:10:47 scuri Exp $ */
-
-#ifndef FFTW3_H
-#define FFTW3_H
-
-#include <stdio.h>
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif /* __cplusplus */
-
-/* If <complex.h> is included, use the C99 complex type. Otherwise
- define a type bit-compatible with C99 complex */
-#ifdef _Complex_I
-# define FFTW_DEFINE_COMPLEX(R, C) typedef R _Complex C
-#else
-# define FFTW_DEFINE_COMPLEX(R, C) typedef R C[2]
-#endif
-
-#define FFTW_CONCAT(prefix, name) prefix ## name
-#define FFTW_MANGLE_DOUBLE(name) FFTW_CONCAT(fftw_, name)
-#define FFTW_MANGLE_FLOAT(name) FFTW_CONCAT(fftwf_, name)
-#define FFTW_MANGLE_LONG_DOUBLE(name) FFTW_CONCAT(fftwl_, name)
-
-
-enum fftw_r2r_kind_do_not_use_me {
- FFTW_R2HC=0, FFTW_HC2R=1, FFTW_DHT=2,
- FFTW_REDFT00=3, FFTW_REDFT01=4, FFTW_REDFT10=5, FFTW_REDFT11=6,
- FFTW_RODFT00=7, FFTW_RODFT01=8, FFTW_RODFT10=9, FFTW_RODFT11=10
-};
-
-struct fftw_iodim_do_not_use_me {
- int n; /* dimension size */
- int is; /* input stride */
- int os; /* output stride */
-};
-
-/*
- huge second-order macro that defines prototypes for all API
- functions. We expand this macro for each supported precision
-
- X: name-mangling macro
- R: real data type
- C: complex data type
-*/
-
-#define FFTW_DEFINE_API(X, R, C) \
- \
-FFTW_DEFINE_COMPLEX(R, C); \
- \
-typedef struct X(plan_s) *X(plan); \
- \
-typedef struct fftw_iodim_do_not_use_me X(iodim); \
- \
-typedef enum fftw_r2r_kind_do_not_use_me X(r2r_kind); \
- \
-void X(execute)(const X(plan) p); \
- \
-X(plan) X(plan_dft)(int rank, const int *n, \
- C *in, C *out, int sign, unsigned flags); \
- \
-X(plan) X(plan_dft_1d)(int n, C *in, C *out, int sign, \
- unsigned flags); \
-X(plan) X(plan_dft_2d)(int nx, int ny, \
- C *in, C *out, int sign, unsigned flags); \
-X(plan) X(plan_dft_3d)(int nx, int ny, int nz, \
- C *in, C *out, int sign, unsigned flags); \
- \
-X(plan) X(plan_many_dft)(int rank, const int *n, \
- int howmany, \
- C *in, const int *inembed, \
- int istride, int idist, \
- C *out, const int *onembed, \
- int ostride, int odist, \
- int sign, unsigned flags); \
- \
-X(plan) X(plan_guru_dft)(int rank, const X(iodim) *dims, \
- int howmany_rank, \
- const X(iodim) *howmany_dims, \
- C *in, C *out, \
- int sign, unsigned flags); \
-X(plan) X(plan_guru_split_dft)(int rank, const X(iodim) *dims, \
- int howmany_rank, \
- const X(iodim) *howmany_dims, \
- R *ri, R *ii, R *ro, R *io, \
- unsigned flags); \
- \
-void X(execute_dft)(const X(plan) p, C *in, C *out); \
-void X(execute_split_dft)(const X(plan) p, R *ri, R *ii, R *ro, R *io); \
- \
-X(plan) X(plan_many_dft_r2c)(int rank, const int *n, \
- int howmany, \
- R *in, const int *inembed, \
- int istride, int idist, \
- C *out, const int *onembed, \
- int ostride, int odist, \
- unsigned flags); \
- \
-X(plan) X(plan_dft_r2c)(int rank, const int *n, \
- R *in, C *out, unsigned flags); \
- \
-X(plan) X(plan_dft_r2c_1d)(int n,R *in,C *out,unsigned flags); \
-X(plan) X(plan_dft_r2c_2d)(int nx, int ny, \
- R *in, C *out, unsigned flags); \
-X(plan) X(plan_dft_r2c_3d)(int nx, int ny, \
- int nz, \
- R *in, C *out, unsigned flags); \
- \
- \
-X(plan) X(plan_many_dft_c2r)(int rank, const int *n, \
- int howmany, \
- C *in, const int *inembed, \
- int istride, int idist, \
- R *out, const int *onembed, \
- int ostride, int odist, \
- unsigned flags); \
- \
-X(plan) X(plan_dft_c2r)(int rank, const int *n, \
- C *in, R *out, unsigned flags); \
- \
-X(plan) X(plan_dft_c2r_1d)(int n,C *in,R *out,unsigned flags); \
-X(plan) X(plan_dft_c2r_2d)(int nx, int ny, \
- C *in, R *out, unsigned flags); \
-X(plan) X(plan_dft_c2r_3d)(int nx, int ny, \
- int nz, \
- C *in, R *out, unsigned flags); \
- \
-X(plan) X(plan_guru_dft_r2c)(int rank, const X(iodim) *dims, \
- int howmany_rank, \
- const X(iodim) *howmany_dims, \
- R *in, C *out, \
- unsigned flags); \
-X(plan) X(plan_guru_dft_c2r)(int rank, const X(iodim) *dims, \
- int howmany_rank, \
- const X(iodim) *howmany_dims, \
- C *in, R *out, \
- unsigned flags); \
- \
-X(plan) X(plan_guru_split_dft_r2c)(int rank, const X(iodim) *dims, \
- int howmany_rank, \
- const X(iodim) *howmany_dims, \
- R *in, R *ro, R *io, \
- unsigned flags); \
-X(plan) X(plan_guru_split_dft_c2r)(int rank, const X(iodim) *dims, \
- int howmany_rank, \
- const X(iodim) *howmany_dims, \
- R *ri, R *ii, R *out, \
- unsigned flags); \
- \
-void X(execute_dft_r2c)(const X(plan) p, R *in, C *out); \
-void X(execute_dft_c2r)(const X(plan) p, C *in, R *out); \
- \
-void X(execute_split_dft_r2c)(const X(plan) p, R *in, R *ro, R *io); \
-void X(execute_split_dft_c2r)(const X(plan) p, R *ri, R *ii, R *out); \
- \
-X(plan) X(plan_many_r2r)(int rank, const int *n, \
- int howmany, \
- R *in, const int *inembed, \
- int istride, int idist, \
- R *out, const int *onembed, \
- int ostride, int odist, \
- const X(r2r_kind) *kind, unsigned flags); \
- \
-X(plan) X(plan_r2r)(int rank, const int *n, R *in, R *out, \
- const X(r2r_kind) *kind, unsigned flags); \
- \
-X(plan) X(plan_r2r_1d)(int n, R *in, R *out, \
- X(r2r_kind) kind, unsigned flags); \
-X(plan) X(plan_r2r_2d)(int nx, int ny, R *in, R *out, \
- X(r2r_kind) kindx, X(r2r_kind) kindy, \
- unsigned flags); \
-X(plan) X(plan_r2r_3d)(int nx, int ny, int nz, \
- R *in, R *out, X(r2r_kind) kindx, \
- X(r2r_kind) kindy, X(r2r_kind) kindz, \
- unsigned flags); \
- \
-X(plan) X(plan_guru_r2r)(int rank, const X(iodim) *dims, \
- int howmany_rank, \
- const X(iodim) *howmany_dims, \
- R *in, R *out, \
- const X(r2r_kind) *kind, unsigned flags); \
-void X(execute_r2r)(const X(plan) p, R *in, R *out); \
- \
-void X(destroy_plan)(X(plan) p); \
-void X(forget_wisdom)(void); \
-void X(cleanup)(void); \
- \
-void X(plan_with_nthreads)(int nthreads); \
-int X(init_threads)(void); \
-void X(cleanup_threads)(void); \
- \
-void X(export_wisdom_to_file)(FILE *output_file); \
-char *X(export_wisdom_to_string)(void); \
-void X(export_wisdom)(void (*write_char)(char c, void *), void *data); \
-int X(import_system_wisdom)(void); \
-int X(import_wisdom_from_file)(FILE *input_file); \
-int X(import_wisdom_from_string)(const char *input_string); \
-int X(import_wisdom)(int (*read_char)(void *), void *data); \
- \
-void X(fprint_plan)(const X(plan) p, FILE *output_file); \
-void X(print_plan)(const X(plan) p); \
- \
-void *X(malloc)(size_t n); \
-void X(free)(void *p); \
- \
-void X(flops)(const X(plan) p, double *add, double *mul, double *fma); \
- \
-extern const char X(version)[]; \
-extern const char X(cc)[]; \
-extern const char X(codelet_optim)[];
-
-
-/* end of FFTW_DEFINE_API macro */
-
-FFTW_DEFINE_API(FFTW_MANGLE_DOUBLE, double, fftw_complex)
-FFTW_DEFINE_API(FFTW_MANGLE_FLOAT, float, fftwf_complex)
-FFTW_DEFINE_API(FFTW_MANGLE_LONG_DOUBLE, long double, fftwl_complex)
-
-#define FFTW_FORWARD (-1)
-#define FFTW_BACKWARD (+1)
-
-/* documented flags */
-#define FFTW_MEASURE (0U)
-#define FFTW_DESTROY_INPUT (1U << 0)
-#define FFTW_UNALIGNED (1U << 1)
-#define FFTW_CONSERVE_MEMORY (1U << 2)
-#define FFTW_EXHAUSTIVE (1U << 3) /* NO_EXHAUSTIVE is default */
-#define FFTW_PRESERVE_INPUT (1U << 4) /* cancels FFTW_DESTROY_INPUT */
-#define FFTW_PATIENT (1U << 5) /* IMPATIENT is default */
-#define FFTW_ESTIMATE (1U << 6)
-
-/* undocumented beyond-guru flags */
-#define FFTW_ESTIMATE_PATIENT (1U << 7)
-#define FFTW_BELIEVE_PCOST (1U << 8)
-#define FFTW_DFT_R2HC_ICKY (1U << 9)
-#define FFTW_NONTHREADED_ICKY (1U << 10)
-#define FFTW_NO_BUFFERING (1U << 11)
-#define FFTW_NO_INDIRECT_OP (1U << 12)
-#define FFTW_ALLOW_LARGE_GENERIC (1U << 13) /* NO_LARGE_GENERIC is default */
-#define FFTW_NO_RANK_SPLITS (1U << 14)
-#define FFTW_NO_VRANK_SPLITS (1U << 15)
-#define FFTW_NO_VRECURSE (1U << 16)
-
-#define FFTW_NO_SIMD (1U << 17)
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif /* __cplusplus */
-
-#endif /* FFTW3_H */
diff --git a/src/fftw3/api/flops.c b/src/fftw3/api/flops.c
deleted file mode 100644
index 43e8891..0000000
--- a/src/fftw3/api/flops.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-void X(flops)(const X(plan) p, double *add, double *mul, double *fma)
-{
- opcnt *o = &p->pln->ops;
- *add = o->add; *mul = o->mul; *fma = o->fma;
-}
diff --git a/src/fftw3/api/forget-wisdom.c b/src/fftw3/api/forget-wisdom.c
deleted file mode 100644
index 10ea580..0000000
--- a/src/fftw3/api/forget-wisdom.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-void X(forget_wisdom)(void)
-{
- planner *plnr = X(the_planner)();
- plnr->adt->forget(plnr, FORGET_EVERYTHING);
-}
diff --git a/src/fftw3/api/import-system-wisdom.c b/src/fftw3/api/import-system-wisdom.c
deleted file mode 100644
index 393b3a6..0000000
--- a/src/fftw3/api/import-system-wisdom.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-#if defined(FFTW_SINGLE)
-# define WISDOM_NAME "wisdomf"
-#elif defined(FFTW_LDOUBLE)
-# define WISDOM_NAME "wisdoml"
-#else
-# define WISDOM_NAME "wisdom"
-#endif
-
-int X(import_system_wisdom)(void)
-{
-#if defined(__WIN32__) || defined(WIN32) || defined(_WINDOWS)
- return 0; /* TODO? */
-#else
-
- FILE *f;
- f = fopen("/etc/fftw/" WISDOM_NAME, "r");
- if (f) {
- int ret = X(import_wisdom_from_file)(f);
- fclose(f);
- return ret;
- } else
- return 0;
-#endif
-}
diff --git a/src/fftw3/api/import-wisdom-from-file.c b/src/fftw3/api/import-wisdom-from-file.c
deleted file mode 100644
index e682ab9..0000000
--- a/src/fftw3/api/import-wisdom-from-file.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include <stdio.h>
-
-/* getc()/putc() are *unbelievably* slow on linux. Looks like glibc
- is grabbing a lock for each call to getc()/putc(), or something
- like that. You pay the price for these idiotic posix threads
- whether you use them or not.
-
- So, we do our own buffering. This completely defeats the purpose
- of having stdio in the first place, of course.
-*/
-
-#define BUFSZ 256
-
-typedef struct {
- scanner super;
- FILE *f;
- char buf[BUFSZ];
- char *bufr, *bufw;
-} S;
-
-static int getchr_file(scanner * sc_)
-{
- S *sc = (S *) sc_;
-
- if (sc->bufr >= sc->bufw) {
- sc->bufr = sc->buf;
- sc->bufw = sc->buf + fread(sc->buf, 1, BUFSZ, sc->f);
- if (sc->bufr >= sc->bufw)
- return EOF;
- }
-
- return *(sc->bufr++);
-}
-
-static scanner *mkscanner_file(FILE *f)
-{
- S *sc = (S *) X(mkscanner)(sizeof(S), getchr_file);
- sc->f = f;
- sc->bufr = sc->bufw = sc->buf;
- return &sc->super;
-}
-
-int X(import_wisdom_from_file)(FILE *input_file)
-{
- scanner *s = mkscanner_file(input_file);
- planner *plnr = X(the_planner)();
- int ret = plnr->adt->imprt(plnr, s);
- X(scanner_destroy)(s);
- return ret;
-}
diff --git a/src/fftw3/api/import-wisdom-from-string.c b/src/fftw3/api/import-wisdom-from-string.c
deleted file mode 100644
index d1ca6b8..0000000
--- a/src/fftw3/api/import-wisdom-from-string.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-typedef struct {
- scanner super;
- const char *s;
-} S_str;
-
-static int getchr_str(scanner * sc_)
-{
- S_str *sc = (S_str *) sc_;
- if (!*sc->s)
- return EOF;
- return *sc->s++;
-}
-
-static scanner *mkscanner_str(const char *s)
-{
- S_str *sc = (S_str *) X(mkscanner)(sizeof(S_str), getchr_str);
- sc->s = s;
- return &sc->super;
-}
-
-int X(import_wisdom_from_string)(const char *input_string)
-{
- scanner *s = mkscanner_str(input_string);
- planner *plnr = X(the_planner)();
- int ret = plnr->adt->imprt(plnr, s);
- X(scanner_destroy)(s);
- return ret;
-}
diff --git a/src/fftw3/api/import-wisdom.c b/src/fftw3/api/import-wisdom.c
deleted file mode 100644
index 505ebab..0000000
--- a/src/fftw3/api/import-wisdom.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-typedef struct {
- scanner super;
- int (*read_char)(void *);
- void *data;
-} S;
-
-static int getchr_generic(scanner * s_)
-{
- S *s = (S *) s_;
- return (s->read_char)(s->data);
-}
-
-int X(import_wisdom)(int (*read_char)(void *), void *data)
-{
- S *s = (S *) X(mkscanner)(sizeof(S), getchr_generic);
- planner *plnr = X(the_planner)();
- int ret;
-
- s->read_char = read_char;
- s->data = data;
- ret = plnr->adt->imprt(plnr, (scanner *) s);
- X(scanner_destroy)((scanner *) s);
- return ret;
-}
diff --git a/src/fftw3/api/map-r2r-kind.c b/src/fftw3/api/map-r2r-kind.c
deleted file mode 100644
index adba2ce..0000000
--- a/src/fftw3/api/map-r2r-kind.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-rdft_kind *X(map_r2r_kind)(int rank, const X(r2r_kind) * kind)
-{
- int i;
- rdft_kind *k;
-
- A(FINITE_RNK(rank));
- k = (rdft_kind *) MALLOC(rank * sizeof(rdft_kind), PROBLEMS);
- for (i = 0; i < rank; ++i) {
- rdft_kind m;
- switch (kind[i]) {
- case FFTW_R2HC: m = R2HC; break;
- case FFTW_HC2R: m = HC2R; break;
- case FFTW_DHT: m = DHT; break;
- case FFTW_REDFT00: m = REDFT00; break;
- case FFTW_REDFT01: m = REDFT01; break;
- case FFTW_REDFT10: m = REDFT10; break;
- case FFTW_REDFT11: m = REDFT11; break;
- case FFTW_RODFT00: m = RODFT00; break;
- case FFTW_RODFT01: m = RODFT01; break;
- case FFTW_RODFT10: m = RODFT10; break;
- case FFTW_RODFT11: m = RODFT11; break;
- default: m = R2HC; A(0);
- }
- k[i] = m;
- }
- return k;
-}
diff --git a/src/fftw3/api/mapflags.c b/src/fftw3/api/mapflags.c
deleted file mode 100644
index abb4e6b..0000000
--- a/src/fftw3/api/mapflags.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-/* a flag operation: x is either a flag, in which case xm == 0, or
- a mask, in which case xm == x; using this we can compactly code
- the various bit operations via (flags & x) ^ xm or (flags | x) ^ xm. */
-typedef struct {
- unsigned x, xm;
-} flagmask;
-
-typedef struct {
- flagmask flag;
- flagmask op;
-} flagop;
-
-#define FLAGP(f, msk)(((f) & (msk).x) ^ (msk).xm)
-#define OP(f, msk)(((f) | (msk).x) ^ (msk).xm)
-
-#define YES(x) {x, 0}
-#define NO(x) {x, x}
-#define IMPLIES(predicate, consequence) { predicate, consequence }
-#define EQV(a, b) IMPLIES(YES(a), YES(b)), IMPLIES(NO(a), NO(b))
-#define NEQV(a, b) IMPLIES(YES(a), NO(b)), IMPLIES(NO(a), YES(b))
-
-static void map_flags(unsigned *iflags, unsigned *oflags,
- const flagop flagmap[], int nmap)
-{
- int i;
- for (i = 0; i < nmap; ++i)
- if (FLAGP(*iflags, flagmap[i].flag))
- *oflags = OP(*oflags, flagmap[i].op);
-}
-
-#define NELEM(array)(sizeof(array) / sizeof((array)[0]))
-
-void X(mapflags)(planner *plnr, unsigned flags)
-{
- unsigned tmpflags;
-
- /* map of api flags -> api flags, to implement consistency rules
- and combination flags */
- const flagop self_flagmap[] = {
- /* in some cases (notably for halfcomplex->real transforms),
- DESTROY_INPUT is the default, so we need to support
- an inverse flag to disable it: */
- IMPLIES(YES(FFTW_PRESERVE_INPUT), NO(FFTW_DESTROY_INPUT)),
-
- IMPLIES(YES(FFTW_EXHAUSTIVE), YES(FFTW_PATIENT)),
-
- IMPLIES(YES(FFTW_ESTIMATE), NO(FFTW_PATIENT)),
- IMPLIES(YES(FFTW_ESTIMATE),
- YES(FFTW_ESTIMATE_PATIENT | FFTW_NO_INDIRECT_OP)),
-
- /* a canonical set of fftw2-like impatience flags */
- IMPLIES(NO(FFTW_PATIENT),
- YES(FFTW_NO_VRECURSE
- | FFTW_NO_RANK_SPLITS
- | FFTW_NO_VRANK_SPLITS
- | FFTW_NONTHREADED_ICKY
- | FFTW_DFT_R2HC_ICKY
- | FFTW_BELIEVE_PCOST))
- };
-
- /* map of (processed) api flags to internal problem/planner flags */
- const flagop problem_flagmap[] = {
- EQV(FFTW_DESTROY_INPUT, DESTROY_INPUT),
- EQV(FFTW_NO_SIMD, NO_SIMD),
- EQV(FFTW_CONSERVE_MEMORY, CONSERVE_MEMORY)
- };
- const flagop planner_flagmap[] = {
- NEQV(FFTW_EXHAUSTIVE, NO_EXHAUSTIVE),
-
- /* the following are undocumented, "beyond-guru" flags that
- require some understanding of FFTW internals */
- EQV(FFTW_ESTIMATE_PATIENT, ESTIMATE),
- EQV(FFTW_BELIEVE_PCOST, BELIEVE_PCOST),
- EQV(FFTW_DFT_R2HC_ICKY, DFT_R2HC_ICKY),
- EQV(FFTW_NONTHREADED_ICKY, NONTHREADED_ICKY),
- EQV(FFTW_NO_BUFFERING, NO_BUFFERING),
- EQV(FFTW_NO_INDIRECT_OP, NO_INDIRECT_OP),
- NEQV(FFTW_ALLOW_LARGE_GENERIC, NO_LARGE_GENERIC),
- EQV(FFTW_NO_RANK_SPLITS, NO_RANK_SPLITS),
- EQV(FFTW_NO_VRANK_SPLITS, NO_VRANK_SPLITS),
- EQV(FFTW_NO_VRECURSE, NO_VRECURSE)
- };
-
- map_flags(&flags, &flags, self_flagmap, NELEM(self_flagmap));
-
- tmpflags = 0;
- map_flags(&flags, &tmpflags, problem_flagmap, NELEM(problem_flagmap));
- plnr->problem_flags = tmpflags;
-
- tmpflags = 0;
- map_flags(&flags, &tmpflags, planner_flagmap, NELEM(planner_flagmap));
- plnr->planner_flags = tmpflags;
-}
diff --git a/src/fftw3/api/mkprinter-file.c b/src/fftw3/api/mkprinter-file.c
deleted file mode 100644
index 24476f9..0000000
--- a/src/fftw3/api/mkprinter-file.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include <stdio.h>
-
-#define BUFSZ 256
-
-typedef struct {
- printer super;
- FILE *f;
- char buf[BUFSZ];
- char *bufw;
-} P;
-
-static void myflush(P *p)
-{
- fwrite(p->buf, 1, p->bufw - p->buf, p->f);
- p->bufw = p->buf;
-}
-
-static void myputchr(printer *p_, char c)
-{
- P *p = (P *) p_;
- if (p->bufw >= p->buf + BUFSZ)
- myflush(p);
- *p->bufw++ = c;
-}
-
-static void mycleanup(printer *p_)
-{
- P *p = (P *) p_;
- myflush(p);
-}
-
-printer *X(mkprinter_file)(FILE *f)
-{
- P *p = (P *) X(mkprinter)(sizeof(P), myputchr, mycleanup);
- p->f = f;
- p->bufw = p->buf;
- return &p->super;
-}
diff --git a/src/fftw3/api/mktensor-iodims.c b/src/fftw3/api/mktensor-iodims.c
deleted file mode 100644
index 99ce49e..0000000
--- a/src/fftw3/api/mktensor-iodims.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-tensor *X(mktensor_iodims)(int rank, const X(iodim) *dims, int is, int os)
-{
- int i;
- tensor *x = X(mktensor)(rank);
-
- if (FINITE_RNK(rank)) {
- for (i = 0; i < rank; ++i) {
- x->dims[i].n = dims[i].n;
- x->dims[i].is = dims[i].is * is;
- x->dims[i].os = dims[i].os * os;
- }
- }
- return x;
-}
-
-static int iodims_kosherp(int rank, const X(iodim) *dims, int allow_minfty)
-{
- int i;
-
- if (rank < 0) return 0;
-
- if (allow_minfty) {
- if (!FINITE_RNK(rank)) return 1;
- for (i = 0; i < rank; ++i)
- if (dims[i].n < 0) return 0;
- } else {
- if (!FINITE_RNK(rank)) return 0;
- for (i = 0; i < rank; ++i)
- if (dims[i].n <= 0) return 0;
- }
-
- return 1;
-}
-
-int X(guru_kosherp)(int rank, const X(iodim) *dims,
- int howmany_rank, const X(iodim) *howmany_dims)
-{
- return (iodims_kosherp(rank, dims, 0) &&
- iodims_kosherp(howmany_rank, howmany_dims, 1));
-}
diff --git a/src/fftw3/api/mktensor-rowmajor.c b/src/fftw3/api/mktensor-rowmajor.c
deleted file mode 100644
index 84b87ca..0000000
--- a/src/fftw3/api/mktensor-rowmajor.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-tensor *X(mktensor_rowmajor)(int rnk, const int *n,
- const int *niphys, const int *nophys,
- int is, int os)
-{
- tensor *x = X(mktensor)(rnk);
-
- if (FINITE_RNK(rnk) && rnk > 0) {
- int i;
-
- A(n && niphys && nophys);
- x->dims[rnk - 1].is = is;
- x->dims[rnk - 1].os = os;
- x->dims[rnk - 1].n = n[rnk - 1];
- for (i = rnk - 1; i > 0; --i) {
- x->dims[i - 1].is = x->dims[i].is * niphys[i];
- x->dims[i - 1].os = x->dims[i].os * nophys[i];
- x->dims[i - 1].n = n[i - 1];
- }
- }
- return x;
-}
-
-static int rowmajor_kosherp(int rnk, const int *n)
-{
- int i;
-
- if (!FINITE_RNK(rnk)) return 0;
- if (rnk < 0) return 0;
-
- for (i = 0; i < rnk; ++i)
- if (n[i] <= 0) return 0;
-
- return 1;
-}
-
-int X(many_kosherp)(int rnk, const int *n, int howmany)
-{
- return (howmany >= 0) && rowmajor_kosherp(rnk, n);
-}
diff --git a/src/fftw3/api/plan-dft-1d.c b/src/fftw3/api/plan-dft-1d.c
deleted file mode 100644
index 02ff69d..0000000
--- a/src/fftw3/api/plan-dft-1d.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "dft.h"
-
-X(plan) X(plan_dft_1d)(int n, C *in, C *out, int sign, unsigned flags)
-{
- return X(plan_dft)(1, &n, in, out, sign, flags);
-}
diff --git a/src/fftw3/api/plan-dft-2d.c b/src/fftw3/api/plan-dft-2d.c
deleted file mode 100644
index f41e7e3..0000000
--- a/src/fftw3/api/plan-dft-2d.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "dft.h"
-
-X(plan) X(plan_dft_2d)(int nx, int ny, C *in, C *out, int sign, unsigned flags)
-{
- int n[2];
- n[0] = nx;
- n[1] = ny;
- return X(plan_dft)(2, n, in, out, sign, flags);
-}
diff --git a/src/fftw3/api/plan-dft-3d.c b/src/fftw3/api/plan-dft-3d.c
deleted file mode 100644
index a605a46..0000000
--- a/src/fftw3/api/plan-dft-3d.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "dft.h"
-
-X(plan) X(plan_dft_3d)(int nx, int ny, int nz,
- C *in, C *out, int sign, unsigned flags)
-{
- int n[3];
- n[0] = nx;
- n[1] = ny;
- n[2] = nz;
- return X(plan_dft)(3, n, in, out, sign, flags);
-}
diff --git a/src/fftw3/api/plan-dft-c2r-1d.c b/src/fftw3/api/plan-dft-c2r-1d.c
deleted file mode 100644
index 7dc9a93..0000000
--- a/src/fftw3/api/plan-dft-c2r-1d.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-X(plan) X(plan_dft_c2r_1d)(int n, C *in, R *out, unsigned flags)
-{
- return X(plan_dft_c2r)(1, &n, in, out, flags);
-}
diff --git a/src/fftw3/api/plan-dft-c2r-2d.c b/src/fftw3/api/plan-dft-c2r-2d.c
deleted file mode 100644
index 37d39bb..0000000
--- a/src/fftw3/api/plan-dft-c2r-2d.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-X(plan) X(plan_dft_c2r_2d)(int nx, int ny, C *in, R *out, unsigned flags)
-{
- int n[2];
- n[0] = nx;
- n[1] = ny;
- return X(plan_dft_c2r)(2, n, in, out, flags);
-}
diff --git a/src/fftw3/api/plan-dft-c2r-3d.c b/src/fftw3/api/plan-dft-c2r-3d.c
deleted file mode 100644
index 4644126..0000000
--- a/src/fftw3/api/plan-dft-c2r-3d.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-X(plan) X(plan_dft_c2r_3d)(int nx, int ny, int nz,
- C *in, R *out, unsigned flags)
-{
- int n[3];
- n[0] = nx;
- n[1] = ny;
- n[2] = nz;
- return X(plan_dft_c2r)(3, n, in, out, flags);
-}
diff --git a/src/fftw3/api/plan-dft-c2r.c b/src/fftw3/api/plan-dft-c2r.c
deleted file mode 100644
index 118c1cb..0000000
--- a/src/fftw3/api/plan-dft-c2r.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-X(plan) X(plan_dft_c2r)(int rank, const int *n, C *in, R *out, unsigned flags)
-{
- return X(plan_many_dft_c2r)(rank, n, 1,
- in, 0, 1, 1, out, 0, 1, 1, flags);
-}
diff --git a/src/fftw3/api/plan-dft-r2c-1d.c b/src/fftw3/api/plan-dft-r2c-1d.c
deleted file mode 100644
index 5d4865a..0000000
--- a/src/fftw3/api/plan-dft-r2c-1d.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-X(plan) X(plan_dft_r2c_1d)(int n, R *in, C *out, unsigned flags)
-{
- return X(plan_dft_r2c)(1, &n, in, out, flags);
-}
diff --git a/src/fftw3/api/plan-dft-r2c-2d.c b/src/fftw3/api/plan-dft-r2c-2d.c
deleted file mode 100644
index 289841c..0000000
--- a/src/fftw3/api/plan-dft-r2c-2d.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-X(plan) X(plan_dft_r2c_2d)(int nx, int ny, R *in, C *out, unsigned flags)
-{
- int n[2];
- n[0] = nx;
- n[1] = ny;
- return X(plan_dft_r2c)(2, n, in, out, flags);
-}
diff --git a/src/fftw3/api/plan-dft-r2c-3d.c b/src/fftw3/api/plan-dft-r2c-3d.c
deleted file mode 100644
index c25d04f..0000000
--- a/src/fftw3/api/plan-dft-r2c-3d.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-X(plan) X(plan_dft_r2c_3d)(int nx, int ny, int nz,
- R *in, C *out, unsigned flags)
-{
- int n[3];
- n[0] = nx;
- n[1] = ny;
- n[2] = nz;
- return X(plan_dft_r2c)(3, n, in, out, flags);
-}
diff --git a/src/fftw3/api/plan-dft-r2c.c b/src/fftw3/api/plan-dft-r2c.c
deleted file mode 100644
index 8624995..0000000
--- a/src/fftw3/api/plan-dft-r2c.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-X(plan) X(plan_dft_r2c)(int rank, const int *n, R *in, C *out, unsigned flags)
-{
- return X(plan_many_dft_r2c)(rank, n, 1,
- in, 0, 1, 1,
- out, 0, 1, 1,
- flags);
-}
diff --git a/src/fftw3/api/plan-dft.c b/src/fftw3/api/plan-dft.c
deleted file mode 100644
index f9c8756..0000000
--- a/src/fftw3/api/plan-dft.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-X(plan) X(plan_dft)(int rank, const int *n,
- C *in, C *out, int sign, unsigned flags)
-{
- return X(plan_many_dft)(rank, n, 1,
- in, 0, 1, 1,
- out, 0, 1, 1,
- sign, flags);
-}
diff --git a/src/fftw3/api/plan-guru-dft-c2r.c b/src/fftw3/api/plan-guru-dft-c2r.c
deleted file mode 100644
index 0ab3a9c..0000000
--- a/src/fftw3/api/plan-guru-dft-c2r.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-X(plan) X(plan_guru_dft_c2r)(int rank, const X(iodim) *dims,
- int howmany_rank, const X(iodim) *howmany_dims,
- C *in, R *out, unsigned flags)
-{
- R *ri, *ii;
-
- if (!X(guru_kosherp)(rank, dims, howmany_rank, howmany_dims)) return 0;
-
- X(extract_reim)(FFT_SIGN, in, &ri, &ii);
-
- if (out != ri)
- flags |= FFTW_DESTROY_INPUT;
- return X(mkapiplan)(
- 0, flags,
- X(mkproblem_rdft2_d)(X(mktensor_iodims)(rank, dims, 2, 1),
- X(mktensor_iodims)(howmany_rank, howmany_dims,
- 2, 1),
- TAINT_UNALIGNED(out, flags),
- TAINT_UNALIGNED(ri, flags),
- TAINT_UNALIGNED(ii, flags), HC2R));
-}
diff --git a/src/fftw3/api/plan-guru-dft-r2c.c b/src/fftw3/api/plan-guru-dft-r2c.c
deleted file mode 100644
index c4e4d41..0000000
--- a/src/fftw3/api/plan-guru-dft-r2c.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-X(plan) X(plan_guru_dft_r2c)(int rank, const X(iodim) *dims,
- int howmany_rank,
- const X(iodim) *howmany_dims,
- R *in, C *out, unsigned flags)
-{
- R *ro, *io;
-
- if (!X(guru_kosherp)(rank, dims, howmany_rank, howmany_dims)) return 0;
-
- X(extract_reim)(FFT_SIGN, out, &ro, &io);
-
- return X(mkapiplan)(
- 0, flags,
- X(mkproblem_rdft2_d)(X(mktensor_iodims)(rank, dims, 1, 2),
- X(mktensor_iodims)(howmany_rank, howmany_dims,
- 1, 2),
- TAINT_UNALIGNED(in, flags),
- TAINT_UNALIGNED(ro, flags),
- TAINT_UNALIGNED(io, flags), R2HC));
-}
diff --git a/src/fftw3/api/plan-guru-dft.c b/src/fftw3/api/plan-guru-dft.c
deleted file mode 100644
index 32c894b..0000000
--- a/src/fftw3/api/plan-guru-dft.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "dft.h"
-
-X(plan) X(plan_guru_dft)(int rank, const X(iodim) *dims,
- int howmany_rank, const X(iodim) *howmany_dims,
- C *in, C *out, int sign, unsigned flags)
-{
- R *ri, *ii, *ro, *io;
-
- if (!X(guru_kosherp)(rank, dims, howmany_rank, howmany_dims)) return 0;
-
- X(extract_reim)(sign, in, &ri, &ii);
- X(extract_reim)(sign, out, &ro, &io);
-
- return X(mkapiplan)(
- sign, flags,
- X(mkproblem_dft_d)(X(mktensor_iodims)(rank, dims, 2, 2),
- X(mktensor_iodims)(howmany_rank, howmany_dims,
- 2, 2),
- TAINT_UNALIGNED(ri, flags),
- TAINT_UNALIGNED(ii, flags),
- TAINT_UNALIGNED(ro, flags),
- TAINT_UNALIGNED(io, flags)));
-}
diff --git a/src/fftw3/api/plan-guru-r2r.c b/src/fftw3/api/plan-guru-r2r.c
deleted file mode 100644
index d5f2120..0000000
--- a/src/fftw3/api/plan-guru-r2r.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-rdft_kind *X(map_r2r_kind)(int rank, const X(r2r_kind) * kind);
-
-X(plan) X(plan_guru_r2r)(int rank, const X(iodim) *dims,
- int howmany_rank,
- const X(iodim) *howmany_dims,
- R *in, R *out,
- const X(r2r_kind) * kind, unsigned flags)
-{
- X(plan) p;
- rdft_kind *k;
-
- if (!X(guru_kosherp)(rank, dims, howmany_rank, howmany_dims)) return 0;
-
- k = X(map_r2r_kind)(rank, kind);
- p = X(mkapiplan)(
- 0, flags,
- X(mkproblem_rdft_d)(X(mktensor_iodims)(rank, dims, 1, 1),
- X(mktensor_iodims)(howmany_rank, howmany_dims,
- 1, 1),
- TAINT_UNALIGNED(in, flags),
- TAINT_UNALIGNED(out, flags), k));
- X(ifree0)(k);
- return p;
-}
diff --git a/src/fftw3/api/plan-guru-split-dft-c2r.c b/src/fftw3/api/plan-guru-split-dft-c2r.c
deleted file mode 100644
index f51bc9a..0000000
--- a/src/fftw3/api/plan-guru-split-dft-c2r.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-X(plan) X(plan_guru_split_dft_c2r)(int rank, const X(iodim) *dims,
- int howmany_rank, const X(iodim) *howmany_dims,
- R *ri, R *ii, R *out, unsigned flags)
-{
- if (!X(guru_kosherp)(rank, dims, howmany_rank, howmany_dims)) return 0;
-
- if (out != ri)
- flags |= FFTW_DESTROY_INPUT;
- return X(mkapiplan)(
- 0, flags,
- X(mkproblem_rdft2_d)(X(mktensor_iodims)(rank, dims, 1, 1),
- X(mktensor_iodims)(howmany_rank, howmany_dims,
- 1, 1),
- TAINT_UNALIGNED(out, flags),
- TAINT_UNALIGNED(ri, flags),
- TAINT_UNALIGNED(ii, flags), HC2R));
-}
diff --git a/src/fftw3/api/plan-guru-split-dft-r2c.c b/src/fftw3/api/plan-guru-split-dft-r2c.c
deleted file mode 100644
index 3c5eafd..0000000
--- a/src/fftw3/api/plan-guru-split-dft-r2c.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-X(plan) X(plan_guru_split_dft_r2c)(int rank, const X(iodim) *dims,
- int howmany_rank,
- const X(iodim) *howmany_dims,
- R *in, R *ro, R *io, unsigned flags)
-{
- if (!X(guru_kosherp)(rank, dims, howmany_rank, howmany_dims)) return 0;
-
- return X(mkapiplan)(
- 0, flags,
- X(mkproblem_rdft2_d)(X(mktensor_iodims)(rank, dims, 1, 1),
- X(mktensor_iodims)(howmany_rank, howmany_dims,
- 1, 1),
- TAINT_UNALIGNED(in, flags),
- TAINT_UNALIGNED(ro, flags),
- TAINT_UNALIGNED(io, flags), R2HC));
-}
diff --git a/src/fftw3/api/plan-guru-split-dft.c b/src/fftw3/api/plan-guru-split-dft.c
deleted file mode 100644
index 62437c2..0000000
--- a/src/fftw3/api/plan-guru-split-dft.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "dft.h"
-
-X(plan) X(plan_guru_split_dft)(int rank, const X(iodim) *dims,
- int howmany_rank, const X(iodim) *howmany_dims,
- R *ri, R *ii, R *ro, R *io, unsigned flags)
-{
- if (!X(guru_kosherp)(rank, dims, howmany_rank, howmany_dims)) return 0;
-
- return X(mkapiplan)(
- ii - ri == 1 && io - ro == 1 ? FFT_SIGN : -FFT_SIGN, flags,
- X(mkproblem_dft_d)(X(mktensor_iodims)(rank, dims, 1, 1),
- X(mktensor_iodims)(howmany_rank, howmany_dims,
- 1, 1),
- TAINT_UNALIGNED(ri, flags),
- TAINT_UNALIGNED(ii, flags),
- TAINT_UNALIGNED(ro, flags),
- TAINT_UNALIGNED(io, flags)));
-}
diff --git a/src/fftw3/api/plan-many-dft-c2r.c b/src/fftw3/api/plan-many-dft-c2r.c
deleted file mode 100644
index 81b6338..0000000
--- a/src/fftw3/api/plan-many-dft-c2r.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-X(plan) X(plan_many_dft_c2r)(int rank, const int *n,
- int howmany,
- C *in, const int *inembed,
- int istride, int idist,
- R *out, const int *onembed,
- int ostride, int odist, unsigned flags)
-{
- R *ri, *ii;
- int *nfi, *nfo;
- int inplace;
- X(plan) p;
-
- if (!X(many_kosherp)(rank, n, howmany)) return 0;
-
- X(extract_reim)(FFT_SIGN, in, &ri, &ii);
- inplace = out == ri;
-
- if (!inplace)
- flags |= FFTW_DESTROY_INPUT;
- p = X(mkapiplan)(
- 0, flags,
- X(mkproblem_rdft2_d)(
- X(mktensor_rowmajor)(
- rank, n,
- X (rdft2_pad)(rank, n, inembed, inplace, 1, &nfi),
- X (rdft2_pad)(rank, n, onembed, inplace, 0, &nfo),
- 2 * istride, ostride),
- X(mktensor_1d)(howmany, 2 * idist, odist),
- TAINT_UNALIGNED(out, flags),
- TAINT_UNALIGNED(ri, flags), TAINT_UNALIGNED(ii, flags),
- HC2R));
-
- X(ifree0)(nfi);
- X(ifree0)(nfo);
- return p;
-}
diff --git a/src/fftw3/api/plan-many-dft-r2c.c b/src/fftw3/api/plan-many-dft-r2c.c
deleted file mode 100644
index 093d9ba..0000000
--- a/src/fftw3/api/plan-many-dft-r2c.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-X(plan) X(plan_many_dft_r2c)(int rank, const int *n,
- int howmany,
- R *in, const int *inembed,
- int istride, int idist,
- C *out, const int *onembed,
- int ostride, int odist, unsigned flags)
-{
- R *ro, *io;
- int *nfi, *nfo;
- int inplace;
- X(plan) p;
-
- if (!X(many_kosherp)(rank, n, howmany)) return 0;
-
- X(extract_reim)(FFT_SIGN, out, &ro, &io);
- inplace = in == ro;
-
- p = X(mkapiplan)(
- 0, flags,
- X(mkproblem_rdft2_d)(
- X(mktensor_rowmajor)(
- rank, n,
- X(rdft2_pad)(rank, n, inembed, inplace, 0, &nfi),
- X(rdft2_pad)(rank, n, onembed, inplace, 1, &nfo),
- istride, 2 * ostride),
- X(mktensor_1d)(howmany, idist, 2 * odist),
- TAINT_UNALIGNED(in, flags),
- TAINT_UNALIGNED(ro, flags), TAINT_UNALIGNED(io, flags),
- R2HC));
-
- X(ifree0)(nfi);
- X(ifree0)(nfo);
- return p;
-}
diff --git a/src/fftw3/api/plan-many-dft.c b/src/fftw3/api/plan-many-dft.c
deleted file mode 100644
index 56f0ed4..0000000
--- a/src/fftw3/api/plan-many-dft.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "dft.h"
-
-#define N0(nembed)((nembed) ? (nembed) : n)
-
-X(plan) X(plan_many_dft)(int rank, const int *n,
- int howmany,
- C *in, const int *inembed,
- int istride, int idist,
- C *out, const int *onembed,
- int ostride, int odist, int sign, unsigned flags)
-{
- R *ri, *ii, *ro, *io;
-
- if (!X(many_kosherp)(rank, n, howmany)) return 0;
-
- X(extract_reim)(sign, in, &ri, &ii);
- X(extract_reim)(sign, out, &ro, &io);
-
- return
- X(mkapiplan)(sign, flags,
- X(mkproblem_dft_d)(
- X(mktensor_rowmajor)(rank, n,
- N0(inembed), N0(onembed),
- 2 * istride, 2 * ostride),
- X(mktensor_1d)(howmany, 2 * idist, 2 * odist),
- TAINT_UNALIGNED(ri, flags),
- TAINT_UNALIGNED(ii, flags),
- TAINT_UNALIGNED(ro, flags),
- TAINT_UNALIGNED(io, flags)));
-}
diff --git a/src/fftw3/api/plan-many-r2r.c b/src/fftw3/api/plan-many-r2r.c
deleted file mode 100644
index 0a6815f..0000000
--- a/src/fftw3/api/plan-many-r2r.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-#include "rdft.h"
-
-rdft_kind *X(map_r2r_kind)(int rank, const X(r2r_kind) * kind);
-
-#define N0(nembed)((nembed) ? (nembed) : n)
-
-X(plan) X(plan_many_r2r)(int rank, const int *n,
- int howmany,
- R *in, const int *inembed,
- int istride, int idist,
- R *out, const int *onembed,
- int ostride, int odist,
- const X(r2r_kind) * kind, unsigned flags)
-{
- X(plan) p;
- rdft_kind *k;
-
- if (!X(many_kosherp)(rank, n, howmany)) return 0;
-
- k = X(map_r2r_kind)(rank, kind);
- p = X(mkapiplan)(
- 0, flags,
- X(mkproblem_rdft_d)(X(mktensor_rowmajor)(rank, n,
- N0(inembed), N0(onembed),
- istride, ostride),
- X(mktensor_1d)(howmany, idist, odist),
- TAINT_UNALIGNED(in, flags),
- TAINT_UNALIGNED(out, flags), k));
- X(ifree0)(k);
- return p;
-}
diff --git a/src/fftw3/api/plan-r2r-1d.c b/src/fftw3/api/plan-r2r-1d.c
deleted file mode 100644
index 372d1c0..0000000
--- a/src/fftw3/api/plan-r2r-1d.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-X(plan) X(plan_r2r_1d)(int n, R *in, R *out, X(r2r_kind) kind, unsigned flags)
-{
- return X(plan_r2r)(1, &n, in, out, &kind, flags);
-}
diff --git a/src/fftw3/api/plan-r2r-2d.c b/src/fftw3/api/plan-r2r-2d.c
deleted file mode 100644
index 7702560..0000000
--- a/src/fftw3/api/plan-r2r-2d.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-X(plan) X(plan_r2r_2d)(int nx, int ny, R *in, R *out,
- X(r2r_kind) kindx, X(r2r_kind) kindy, unsigned flags)
-{
- int n[2];
- X(r2r_kind) kind[2];
- n[0] = nx;
- n[1] = ny;
- kind[0] = kindx;
- kind[1] = kindy;
- return X(plan_r2r)(2, n, in, out, kind, flags);
-}
diff --git a/src/fftw3/api/plan-r2r-3d.c b/src/fftw3/api/plan-r2r-3d.c
deleted file mode 100644
index 84ae651..0000000
--- a/src/fftw3/api/plan-r2r-3d.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-X(plan) X(plan_r2r_3d)(int nx, int ny, int nz,
- R *in, R *out, X(r2r_kind) kindx,
- X(r2r_kind) kindy, X(r2r_kind) kindz, unsigned flags)
-{
- int n[3];
- X(r2r_kind) kind[3];
- n[0] = nx;
- n[1] = ny;
- n[2] = nz;
- kind[0] = kindx;
- kind[1] = kindy;
- kind[2] = kindz;
- return X(plan_r2r)(3, n, in, out, kind, flags);
-}
diff --git a/src/fftw3/api/plan-r2r.c b/src/fftw3/api/plan-r2r.c
deleted file mode 100644
index ba8f971..0000000
--- a/src/fftw3/api/plan-r2r.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-X(plan) X(plan_r2r)(int rank, const int *n, R *in, R *out,
- const X(r2r_kind) * kind, unsigned flags)
-{
- return X(plan_many_r2r)(rank, n, 1, in, 0, 1, 1, out, 0, 1, 1, kind,
- flags);
-}
diff --git a/src/fftw3/api/print-plan.c b/src/fftw3/api/print-plan.c
deleted file mode 100644
index 094446d..0000000
--- a/src/fftw3/api/print-plan.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-void X(fprint_plan)(const X(plan) p, FILE *output_file)
-{
- printer *pr = X(mkprinter_file)(output_file);
- plan *pln = p->pln;
- pln->adt->print(pln, pr);
- X(printer_destroy)(pr);
-}
-
-void X(print_plan)(const X(plan) p)
-{
- X(fprint_plan)(p, stdout);
-}
diff --git a/src/fftw3/api/rdft2-pad.c b/src/fftw3/api/rdft2-pad.c
deleted file mode 100644
index 499a55d..0000000
--- a/src/fftw3/api/rdft2-pad.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <string.h>
-#include "api.h"
-
-const int *X(rdft2_pad)(int rnk, const int *n, const int *nembed,
- int inplace, int cmplx, int **nfree)
-{
- A(FINITE_RNK(rnk));
- *nfree = 0;
- if (!nembed && rnk > 0) {
- if (inplace || cmplx) {
- int *np = (int *) MALLOC(sizeof(int) * rnk, PROBLEMS);
- memcpy(np, n, sizeof(int) * rnk);
- np[rnk - 1] = (n[rnk - 1] / 2 + 1) * (1 + !cmplx);
- nembed = *nfree = np;
- } else
- nembed = n;
- }
- return nembed;
-}
diff --git a/src/fftw3/api/the-planner.c b/src/fftw3/api/the-planner.c
deleted file mode 100644
index 8f6d546..0000000
--- a/src/fftw3/api/the-planner.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "api.h"
-
-static planner *plnr = 0;
-
-/* create the planner for the rest of the API */
-planner *X(the_planner)(void)
-{
- if (!plnr) {
- plnr = X(mkplanner)();
- X(configure_planner)(plnr);
- }
-
- return plnr;
-}
-
-void X(cleanup)(void)
-{
- if (plnr) {
- X(planner_destroy)(plnr);
- plnr = 0;
- }
-}
diff --git a/src/fftw3/api/version.c b/src/fftw3/api/version.c
deleted file mode 100644
index 2abf1ec..0000000
--- a/src/fftw3/api/version.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-/* $Id: version.c,v 1.1 2008/10/17 06:10:48 scuri Exp $ */
-
-#include "api.h"
-
-const char X(cc)[] = FFTW_CC;
-const char X(codelet_optim)[] = CODELET_OPTIM;
-
-const char X(version)[] = PACKAGE "-" VERSION
-
-#if HAVE_SSE
- "-sse"
-#endif
-
-#if HAVE_SSE2
- "-sse2"
-#endif
-
-#if HAVE_ALTIVEC
- "-altivec"
-#endif
-
-#if HAVE_3DNOW
- "-3dnow"
-#endif
-
-#if HAVE_K7
- "-k7"
-#endif
-;
diff --git a/src/fftw3/api/x77.h b/src/fftw3/api/x77.h
deleted file mode 100644
index 74513b3..0000000
--- a/src/fftw3/api/x77.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2003 Matteo Frigo
- * Copyright (c) 2003 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-/* Fortran-like (e.g. as in BLAS) type prefixes for F77 interface */
-#if defined(FFTW_SINGLE)
-# define x77(name) CONCAT(sfftw_, name)
-# define X77(NAME) CONCAT(SFFTW_, NAME)
-#elif defined(FFTW_LDOUBLE)
-/* FIXME: what is best? BLAS uses D..._X, apparently. Ugh. */
-# define x77(name) CONCAT(lfftw_, name)
-# define X77(NAME) CONCAT(LFFTW_, NAME)
-#else
-# define x77(name) CONCAT(dfftw_, name)
-# define X77(NAME) CONCAT(DFFTW_, NAME)
-#endif