extern void X(codelet_hc2cbdft_8)(planner *); extern void X(codelet_hc2cbdft_10)(planner *); extern void X(codelet_hc2cbdft_12)(planner *); extern void X(codelet_hc2cbdft_16)(planner *); extern void X(codelet_hc2cbdft_32)(planner *); extern void X(codelet_hc2cbdft_20)(planner *); extern void X(codelet_hc2cbdft2_4)(planner *); extern void X(codelet_hc2cbdft2_8)(planner *); extern void X(codelet_hc2cbdft2_16)(planner *); extern void X(codelet_hc2cbdft2_32)(planner *); extern void X(codelet_hc2cbdft2_20)(planner *); extern const solvtab X(solvtab_rdft_r2cb); const solvtab X(solvtab_rdft_r2cb) = { SOLVTAB(X(codelet_r2cb_2)), SOLVTAB(X(codelet_r2cb_3)), SOLVTAB(X(codelet_r2cb_4)), SOLVTAB(X(codelet_r2cb_5)), SOLVTAB(X(codelet_r2cb_6)), SOLVTAB(X(codelet_r2cb_7)), SOLVTAB(X(codelet_r2cb_8)), SOLVTAB(X(codelet_r2cb_9)), SOLVTAB(X(codelet_r2cb_10)), SOLVTAB(X(codelet_r2cb_11)), SOLVTAB(X(codelet_r2cb_12)), SOLVTAB(X(codelet_r2cb_13)), SOLVTAB(X(codelet_r2cb_14)), SOLVTAB(X(codelet_r2cb_15)), SOLVTAB(X(codelet_r2cb_16)), SOLVTAB(X(codelet_r2cb_32)),
/* * Copyright (c) 2003, 2007-8 Matteo Frigo * Copyright (c) 2003, 2007-8 Massachusetts Institute of Technology * * See the file COPYING for license information. * */ #include "dft.h" static const solvtab s = { SOLVTAB(X(dft_indirect_register)), SOLVTAB(X(dft_indirect_transpose_register)), SOLVTAB(X(dft_rank_geq2_register)), SOLVTAB(X(dft_vrank_geq1_register)), SOLVTAB(X(dft_buffered_register)), SOLVTAB(X(dft_generic_register)), SOLVTAB(X(dft_rader_register)), SOLVTAB(X(dft_bluestein_register)), SOLVTAB(X(dft_nop_register)), SOLVTAB(X(ct_generic_register)), SOLVTAB(X(ct_genericbuf_register)), SOLVTAB_END }; void X(dft_conf_standard)(planner *p) { X(solvtab_exec)(s, p); X(solvtab_exec)(X(solvtab_dft_standard), p);
* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * */ #include "rdft.h" static const solvtab s = { SOLVTAB(X(rdft_indirect_register)), SOLVTAB(X(rdft_rank0_register)), SOLVTAB(X(rdft_vrank3_transpose_register)), SOLVTAB(X(rdft_vrank_geq1_register)), SOLVTAB(X(rdft_nop_register)), SOLVTAB(X(rdft_buffered_register)), SOLVTAB(X(rdft_generic_register)), SOLVTAB(X(rdft_rank_geq2_register)), SOLVTAB(X(dft_r2hc_register)), SOLVTAB(X(rdft_dht_register)), SOLVTAB(X(dht_r2hc_register)), SOLVTAB(X(dht_rader_register)),
* * 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 "mpi-transpose.h" #include "mpi-dft.h" #include "mpi-rdft.h" #include "mpi-rdft2.h" static const solvtab s = { SOLVTAB(XM(transpose_pairwise_register)), SOLVTAB(XM(transpose_alltoall_register)), SOLVTAB(XM(transpose_recurse_register)), SOLVTAB(XM(dft_rank_geq2_register)), SOLVTAB(XM(dft_rank_geq2_transposed_register)), SOLVTAB(XM(dft_serial_register)), SOLVTAB(XM(dft_rank1_bigvec_register)), SOLVTAB(XM(dft_rank1_register)), SOLVTAB(XM(rdft_rank_geq2_register)), SOLVTAB(XM(rdft_rank_geq2_transposed_register)), SOLVTAB(XM(rdft_serial_register)), SOLVTAB(XM(rdft_rank1_bigvec_register)), SOLVTAB(XM(rdft2_rank_geq2_register)), SOLVTAB(XM(rdft2_rank_geq2_transposed_register)), SOLVTAB(XM(rdft2_serial_register)), SOLVTAB_END
extern void XSIMD(codelet_hc2cfdftv_32)(planner *); extern void XSIMD(codelet_hc2cfdftv_20)(planner *); extern void XSIMD(codelet_hc2cbdftv_2)(planner *); extern void XSIMD(codelet_hc2cbdftv_4)(planner *); extern void XSIMD(codelet_hc2cbdftv_6)(planner *); extern void XSIMD(codelet_hc2cbdftv_8)(planner *); extern void XSIMD(codelet_hc2cbdftv_10)(planner *); extern void XSIMD(codelet_hc2cbdftv_12)(planner *); extern void XSIMD(codelet_hc2cbdftv_16)(planner *); extern void XSIMD(codelet_hc2cbdftv_32)(planner *); extern void XSIMD(codelet_hc2cbdftv_20)(planner *); extern const solvtab XSIMD(solvtab_rdft); const solvtab XSIMD(solvtab_rdft) = { SOLVTAB(XSIMD(codelet_hc2cfdftv_2)), SOLVTAB(XSIMD(codelet_hc2cfdftv_4)), SOLVTAB(XSIMD(codelet_hc2cfdftv_6)), SOLVTAB(XSIMD(codelet_hc2cfdftv_8)), SOLVTAB(XSIMD(codelet_hc2cfdftv_10)), SOLVTAB(XSIMD(codelet_hc2cfdftv_12)), SOLVTAB(XSIMD(codelet_hc2cfdftv_16)), SOLVTAB(XSIMD(codelet_hc2cfdftv_32)), SOLVTAB(XSIMD(codelet_hc2cfdftv_20)), SOLVTAB(XSIMD(codelet_hc2cbdftv_2)), SOLVTAB(XSIMD(codelet_hc2cbdftv_4)), SOLVTAB(XSIMD(codelet_hc2cbdftv_6)), SOLVTAB(XSIMD(codelet_hc2cbdftv_8)), SOLVTAB(XSIMD(codelet_hc2cbdftv_10)), SOLVTAB(XSIMD(codelet_hc2cbdftv_12)), SOLVTAB(XSIMD(codelet_hc2cbdftv_16)),
* 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: conf.c,v 1.6 2003/04/08 20:19:39 stevenj Exp $ */ #include "reodft.h" static const solvtab s = { /* SOLVTAB(X(redft00e_r2hc_register)), SOLVTAB(X(rodft00e_r2hc_register)), */ SOLVTAB(X(redft00e_r2hc_pad_register)), SOLVTAB(X(rodft00e_r2hc_pad_register)), SOLVTAB(X(reodft010e_r2hc_register)), /* SOLVTAB(X(reodft11e_r2hc_register)), */ SOLVTAB(X(reodft11e_radix2_r2hc_register)), SOLVTAB(X(reodft11e_r2hc_odd_register)), SOLVTAB_END }; void X(reodft_conf_standard)(planner *p) { X(solvtab_exec)(s, p); }
extern void X(codelet_t2sv_8)(planner *); extern void X(codelet_t2sv_16)(planner *); extern void X(codelet_t2sv_32)(planner *); extern void X(codelet_q1fv_2)(planner *); extern void X(codelet_q1fv_4)(planner *); extern void X(codelet_q1fv_5)(planner *); extern void X(codelet_q1fv_8)(planner *); extern void X(codelet_q1bv_2)(planner *); extern void X(codelet_q1bv_4)(planner *); extern void X(codelet_q1bv_5)(planner *); extern void X(codelet_q1bv_8)(planner *); extern const solvtab X(solvtab_dft_simd); const solvtab X(solvtab_dft_simd) = { SOLVTAB(X(codelet_n1fv_2)), SOLVTAB(X(codelet_n1fv_3)), SOLVTAB(X(codelet_n1fv_4)), SOLVTAB(X(codelet_n1fv_5)), SOLVTAB(X(codelet_n1fv_6)), SOLVTAB(X(codelet_n1fv_7)), SOLVTAB(X(codelet_n1fv_8)), SOLVTAB(X(codelet_n1fv_9)), SOLVTAB(X(codelet_n1fv_10)), SOLVTAB(X(codelet_n1fv_11)), SOLVTAB(X(codelet_n1fv_12)), SOLVTAB(X(codelet_n1fv_13)), SOLVTAB(X(codelet_n1fv_14)), SOLVTAB(X(codelet_n1fv_15)), SOLVTAB(X(codelet_n1fv_16)), SOLVTAB(X(codelet_n1fv_32)),
extern void X(codelet_t1bv_12)(planner *); extern void X(codelet_t1bv_15)(planner *); extern void X(codelet_t1bv_16)(planner *); extern void X(codelet_t1bv_32)(planner *); extern void X(codelet_t1bv_64)(planner *); extern void X(codelet_q1fv_2)(planner *); extern void X(codelet_q1fv_4)(planner *); extern void X(codelet_q1fv_8)(planner *); extern void X(codelet_q1bv_2)(planner *); extern void X(codelet_q1bv_4)(planner *); extern void X(codelet_q1bv_8)(planner *); extern const solvtab X(solvtab_dft_simd); const solvtab X(solvtab_dft_simd) = { SOLVTAB(X(codelet_n1fv_2)), SOLVTAB(X(codelet_n1fv_3)), SOLVTAB(X(codelet_n1fv_4)), SOLVTAB(X(codelet_n1fv_5)), SOLVTAB(X(codelet_n1fv_6)), SOLVTAB(X(codelet_n1fv_7)), SOLVTAB(X(codelet_n1fv_8)), SOLVTAB(X(codelet_n1fv_9)), SOLVTAB(X(codelet_n1fv_10)), SOLVTAB(X(codelet_n1fv_11)), SOLVTAB(X(codelet_n1fv_12)), SOLVTAB(X(codelet_n1fv_13)), SOLVTAB(X(codelet_n1fv_14)), SOLVTAB(X(codelet_n1fv_15)), SOLVTAB(X(codelet_n1fv_16)), SOLVTAB(X(codelet_n1bv_2)),
* 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 "dft.h" #if HAVE_CELL #include "fftw-cell.h" static const solvtab s = { SOLVTAB(X(dft_direct_cell_register)), SOLVTAB(X(ct_cell_direct_register)), SOLVTAB_END }; void X(dft_conf_cell)(planner *p) { X(solvtab_exec)(s, p); } #endif /* HAVE_CELL */
extern void X(codelet_t2_64)(planner *); extern void X(codelet_t2_5)(planner *); extern void X(codelet_t2_10)(planner *); extern void X(codelet_t2_20)(planner *); extern void X(codelet_t2_25)(planner *); extern void X(codelet_q1_2)(planner *); extern void X(codelet_q1_4)(planner *); extern void X(codelet_q1_8)(planner *); extern void X(codelet_q1_3)(planner *); extern void X(codelet_q1_5)(planner *); extern void X(codelet_q1_6)(planner *); extern const solvtab X(solvtab_dft_standard); const solvtab X(solvtab_dft_standard) = { SOLVTAB(X(codelet_n1_2)), SOLVTAB(X(codelet_n1_3)), SOLVTAB(X(codelet_n1_4)), SOLVTAB(X(codelet_n1_5)), SOLVTAB(X(codelet_n1_6)), SOLVTAB(X(codelet_n1_7)), SOLVTAB(X(codelet_n1_8)), SOLVTAB(X(codelet_n1_9)), SOLVTAB(X(codelet_n1_10)), SOLVTAB(X(codelet_n1_11)), SOLVTAB(X(codelet_n1_12)), SOLVTAB(X(codelet_n1_13)), SOLVTAB(X(codelet_n1_14)), SOLVTAB(X(codelet_n1_15)), SOLVTAB(X(codelet_n1_16)), SOLVTAB(X(codelet_n1_32)),
extern void fftwf_codelet_hc2cbdft_8(planner *); extern void fftwf_codelet_hc2cbdft_10(planner *); extern void fftwf_codelet_hc2cbdft_12(planner *); extern void fftwf_codelet_hc2cbdft_16(planner *); extern void fftwf_codelet_hc2cbdft_32(planner *); extern void fftwf_codelet_hc2cbdft_20(planner *); extern void fftwf_codelet_hc2cbdft2_4(planner *); extern void fftwf_codelet_hc2cbdft2_8(planner *); extern void fftwf_codelet_hc2cbdft2_16(planner *); extern void fftwf_codelet_hc2cbdft2_32(planner *); extern void fftwf_codelet_hc2cbdft2_20(planner *); extern const solvtab fftwf_solvtab_rdft_r2cb; const solvtab fftwf_solvtab_rdft_r2cb = { SOLVTAB(fftwf_codelet_r2cb_2), SOLVTAB(fftwf_codelet_r2cb_3), SOLVTAB(fftwf_codelet_r2cb_4), SOLVTAB(fftwf_codelet_r2cb_5), SOLVTAB(fftwf_codelet_r2cb_6), SOLVTAB(fftwf_codelet_r2cb_7), SOLVTAB(fftwf_codelet_r2cb_8), SOLVTAB(fftwf_codelet_r2cb_9), SOLVTAB(fftwf_codelet_r2cb_10), SOLVTAB(fftwf_codelet_r2cb_11), SOLVTAB(fftwf_codelet_r2cb_12), SOLVTAB(fftwf_codelet_r2cb_13), SOLVTAB(fftwf_codelet_r2cb_14), SOLVTAB(fftwf_codelet_r2cb_15), SOLVTAB(fftwf_codelet_r2cb_16), SOLVTAB(fftwf_codelet_r2cb_32),
extern void X(codelet_r2hcII_6)(planner *); extern void X(codelet_r2hcII_7)(planner *); extern void X(codelet_r2hcII_8)(planner *); extern void X(codelet_r2hcII_9)(planner *); extern void X(codelet_r2hcII_10)(planner *); extern void X(codelet_r2hcII_12)(planner *); extern void X(codelet_r2hcII_15)(planner *); extern void X(codelet_r2hcII_16)(planner *); extern void X(codelet_r2hcII_32)(planner *); extern void X(codelet_mr2hcII_32)(planner *); extern void X(codelet_mr2hcII_64)(planner *); extern const solvtab X(solvtab_rdft_r2hc); const solvtab X(solvtab_rdft_r2hc) = { SOLVTAB(X(codelet_r2hc_2)), SOLVTAB(X(codelet_r2hc_3)), SOLVTAB(X(codelet_r2hc_4)), SOLVTAB(X(codelet_r2hc_5)), SOLVTAB(X(codelet_r2hc_6)), SOLVTAB(X(codelet_r2hc_7)), SOLVTAB(X(codelet_r2hc_8)), SOLVTAB(X(codelet_r2hc_9)), SOLVTAB(X(codelet_r2hc_10)), SOLVTAB(X(codelet_r2hc_11)), SOLVTAB(X(codelet_r2hc_12)), SOLVTAB(X(codelet_r2hc_13)), SOLVTAB(X(codelet_r2hc_14)), SOLVTAB(X(codelet_r2hc_15)), SOLVTAB(X(codelet_r2hc_16)), SOLVTAB(X(codelet_r2hc_32)),
extern void X(codelet_hc2rIII_5)(planner *); extern void X(codelet_hc2rIII_6)(planner *); extern void X(codelet_hc2rIII_7)(planner *); extern void X(codelet_hc2rIII_8)(planner *); extern void X(codelet_hc2rIII_9)(planner *); extern void X(codelet_hc2rIII_10)(planner *); extern void X(codelet_hc2rIII_12)(planner *); extern void X(codelet_hc2rIII_15)(planner *); extern void X(codelet_hc2rIII_16)(planner *); extern void X(codelet_hc2rIII_32)(planner *); extern void X(codelet_hc2rIII_64)(planner *); extern const solvtab X(solvtab_rdft_hc2r); const solvtab X(solvtab_rdft_hc2r) = { SOLVTAB(X(codelet_hc2r_3)), SOLVTAB(X(codelet_hc2r_4)), SOLVTAB(X(codelet_hc2r_5)), SOLVTAB(X(codelet_hc2r_6)), SOLVTAB(X(codelet_hc2r_7)), SOLVTAB(X(codelet_hc2r_8)), SOLVTAB(X(codelet_hc2r_9)), SOLVTAB(X(codelet_hc2r_10)), SOLVTAB(X(codelet_hc2r_11)), SOLVTAB(X(codelet_hc2r_12)), SOLVTAB(X(codelet_hc2r_13)), SOLVTAB(X(codelet_hc2r_14)), SOLVTAB(X(codelet_hc2r_15)), SOLVTAB(X(codelet_hc2r_16)), SOLVTAB(X(codelet_hc2r_32)), SOLVTAB(X(codelet_hc2r_64)),