📄 fhf_10.c
字号:
/* * Copyright (c) 1997-1999, 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 * *//* This file was automatically generated --- DO NOT EDIT *//* Generated on Mon Mar 24 02:08:07 EST 2003 */#include "fftw-int.h"#include "fftw.h"/* Generated by: /homee/stevenj/cvs/fftw/gensrc/genfft -magic-alignment-check -magic-twiddle-load-all -magic-variables 4 -magic-loopi -hc2hc-forward 10 *//* * This function contains 168 FP additions, 84 FP multiplications, * (or, 126 additions, 42 multiplications, 42 fused multiply/add), * 43 stack variables, and 80 memory accesses */static const fftw_real K250000000 =FFTW_KONST(+0.250000000000000000000000000000000000000000000);static const fftw_real K559016994 =FFTW_KONST(+0.559016994374947424102293417182819058860154590);static const fftw_real K587785252 =FFTW_KONST(+0.587785252292473129168705954639072768597652438);static const fftw_real K951056516 =FFTW_KONST(+0.951056516295153572116439333379382143405698634);/* * Generator Id's : * $Id: exprdag.ml,v 1.43 2003/03/16 23:43:46 stevenj Exp $ * $Id: fft.ml,v 1.44 2003/03/16 23:43:46 stevenj Exp $ * $Id: to_c.ml,v 1.26 2003/03/16 23:43:46 stevenj Exp $ */void fftw_hc2hc_forward_10(fftw_real *A, const fftw_complex *W, int iostride, int m, int dist){ int i; fftw_real *X; fftw_real *Y; X = A; Y = A + (10 * iostride); { fftw_real tmp178; fftw_real tmp181; fftw_real tmp162; fftw_real tmp167; fftw_real tmp165; fftw_real tmp168; fftw_real tmp174; fftw_real tmp183; fftw_real tmp155; fftw_real tmp170; fftw_real tmp158; fftw_real tmp171; fftw_real tmp173; fftw_real tmp182; fftw_real tmp176; fftw_real tmp177; ASSERT_ALIGNED_DOUBLE; tmp176 = X[0]; tmp177 = X[5 * iostride]; tmp178 = tmp176 - tmp177; tmp181 = tmp176 + tmp177; { fftw_real tmp160; fftw_real tmp161; fftw_real tmp163; fftw_real tmp164; ASSERT_ALIGNED_DOUBLE; tmp160 = X[4 * iostride]; tmp161 = X[9 * iostride]; tmp162 = tmp160 - tmp161; tmp167 = tmp160 + tmp161; tmp163 = X[6 * iostride]; tmp164 = X[iostride]; tmp165 = tmp163 - tmp164; tmp168 = tmp163 + tmp164; } tmp174 = tmp162 + tmp165; tmp183 = tmp167 + tmp168; { fftw_real tmp153; fftw_real tmp154; fftw_real tmp156; fftw_real tmp157; ASSERT_ALIGNED_DOUBLE; tmp153 = X[2 * iostride]; tmp154 = X[7 * iostride]; tmp155 = tmp153 - tmp154; tmp170 = tmp153 + tmp154; tmp156 = X[8 * iostride]; tmp157 = X[3 * iostride]; tmp158 = tmp156 - tmp157; tmp171 = tmp156 + tmp157; } tmp173 = tmp155 + tmp158; tmp182 = tmp170 + tmp171; { fftw_real tmp159; fftw_real tmp166; fftw_real tmp186; fftw_real tmp184; fftw_real tmp185; ASSERT_ALIGNED_DOUBLE; tmp159 = tmp155 - tmp158; tmp166 = tmp162 - tmp165; Y[-iostride] = -((K951056516 * tmp159) + (K587785252 * tmp166)); Y[-3 * iostride] = (K587785252 * tmp159) - (K951056516 * tmp166); tmp186 = K559016994 * (tmp182 - tmp183); tmp184 = tmp182 + tmp183; tmp185 = tmp181 - (K250000000 * tmp184); X[2 * iostride] = tmp185 - tmp186; X[4 * iostride] = tmp186 + tmp185; X[0] = tmp184 + tmp181; } { fftw_real tmp169; fftw_real tmp172; fftw_real tmp175; fftw_real tmp179; fftw_real tmp180; ASSERT_ALIGNED_DOUBLE; tmp169 = tmp167 - tmp168; tmp172 = tmp170 - tmp171; Y[-2 * iostride] = (K951056516 * tmp169) - (K587785252 * tmp172); Y[-4 * iostride] = (K951056516 * tmp172) + (K587785252 * tmp169); tmp175 = K559016994 * (tmp173 - tmp174); tmp179 = tmp173 + tmp174; tmp180 = tmp178 - (K250000000 * tmp179); X[iostride] = tmp175 + tmp180; X[3 * iostride] = tmp180 - tmp175; X[5 * iostride] = tmp179 + tmp178; } } X = X + dist; Y = Y - dist; for (i = 2; i < m; i = i + 2, X = X + dist, Y = Y - dist, W = W + 9) { fftw_real tmp39; fftw_real tmp87; fftw_real tmp132; fftw_real tmp144; fftw_real tmp73; fftw_real tmp84; fftw_real tmp85; fftw_real tmp91; fftw_real tmp92; fftw_real tmp93; fftw_real tmp100; fftw_real tmp103; fftw_real tmp128; fftw_real tmp121; fftw_real tmp122; fftw_real tmp142; fftw_real tmp50; fftw_real tmp61; fftw_real tmp62; fftw_real tmp88; fftw_real tmp89; fftw_real tmp90; fftw_real tmp107; fftw_real tmp110; fftw_real tmp127; fftw_real tmp118; fftw_real tmp119; fftw_real tmp141; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp33; fftw_real tmp131; fftw_real tmp38; fftw_real tmp130; ASSERT_ALIGNED_DOUBLE; tmp33 = X[0]; tmp131 = Y[-9 * iostride]; { fftw_real tmp35; fftw_real tmp37; fftw_real tmp34; fftw_real tmp36; ASSERT_ALIGNED_DOUBLE; tmp35 = X[5 * iostride]; tmp37 = Y[-4 * iostride]; tmp34 = c_re(W[4]); tmp36 = c_im(W[4]); tmp38 = (tmp34 * tmp35) - (tmp36 * tmp37); tmp130 = (tmp36 * tmp35) + (tmp34 * tmp37); } tmp39 = tmp33 - tmp38; tmp87 = tmp33 + tmp38; tmp132 = tmp130 + tmp131; tmp144 = tmp131 - tmp130; } { fftw_real tmp67; fftw_real tmp98; fftw_real tmp83; fftw_real tmp102; fftw_real tmp72; fftw_real tmp99; fftw_real tmp78; fftw_real tmp101; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp64; fftw_real tmp66; fftw_real tmp63; fftw_real tmp65; ASSERT_ALIGNED_DOUBLE; tmp64 = X[4 * iostride]; tmp66 = Y[-5 * iostride]; tmp63 = c_re(W[3]); tmp65 = c_im(W[3]); tmp67 = (tmp63 * tmp64) - (tmp65 * tmp66); tmp98 = (tmp65 * tmp64) + (tmp63 * tmp66); } { fftw_real tmp80; fftw_real tmp82; fftw_real tmp79; fftw_real tmp81; ASSERT_ALIGNED_DOUBLE; tmp80 = X[iostride]; tmp82 = Y[-8 * iostride]; tmp79 = c_re(W[0]); tmp81 = c_im(W[0]); tmp83 = (tmp79 * tmp80) - (tmp81 * tmp82); tmp102 = (tmp81 * tmp80) + (tmp79 * tmp82); } { fftw_real tmp69; fftw_real tmp71; fftw_real tmp68; fftw_real tmp70; ASSERT_ALIGNED_DOUBLE; tmp69 = X[9 * iostride]; tmp71 = Y[0]; tmp68 = c_re(W[8]); tmp70 = c_im(W[8]); tmp72 = (tmp68 * tmp69) - (tmp70 * tmp71); tmp99 = (tmp70 * tmp69) + (tmp68 * tmp71); } { fftw_real tmp75; fftw_real tmp77; fftw_real tmp74; fftw_real tmp76; ASSERT_ALIGNED_DOUBLE; tmp75 = X[6 * iostride]; tmp77 = Y[-3 * iostride]; tmp74 = c_re(W[5]); tmp76 = c_im(W[5]); tmp78 = (tmp74 * tmp75) - (tmp76 * tmp77); tmp101 = (tmp76 * tmp75) + (tmp74 * tmp77); } tmp73 = tmp67 - tmp72; tmp84 = tmp78 - tmp83; tmp85 = tmp73 + tmp84; tmp91 = tmp67 + tmp72; tmp92 = tmp78 + tmp83; tmp93 = tmp91 + tmp92; tmp100 = tmp98 + tmp99; tmp103 = tmp101 + tmp102; tmp128 = tmp100 + tmp103; tmp121 = tmp98 - tmp99; tmp122 = tmp101 - tmp102; tmp142 = tmp121 + tmp122;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -