📄 fhb_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:59 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-backward 10 *//* * This function contains 168 FP additions, 90 FP multiplications, * (or, 124 additions, 46 multiplications, 44 fused multiply/add), * 37 stack variables, and 80 memory accesses */static const fftw_real K250000000 =FFTW_KONST(+0.250000000000000000000000000000000000000000000);static const fftw_real K951056516 =FFTW_KONST(+0.951056516295153572116439333379382143405698634);static const fftw_real K587785252 =FFTW_KONST(+0.587785252292473129168705954639072768597652438);static const fftw_real K559016994 =FFTW_KONST(+0.559016994374947424102293417182819058860154590);static const fftw_real K500000000 =FFTW_KONST(+0.500000000000000000000000000000000000000000000);static const fftw_real K1_902113032 =FFTW_KONST(+1.902113032590307144232878666758764286811397268);static const fftw_real K1_175570504 =FFTW_KONST(+1.175570504584946258337411909278145537195304875);static const fftw_real K2_000000000 =FFTW_KONST(+2.000000000000000000000000000000000000000000000);static const fftw_real K1_118033988 =FFTW_KONST(+1.118033988749894848204586834365638117720309180);/* * 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_backward_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 tmp155; fftw_real tmp163; fftw_real tmp175; fftw_real tmp183; fftw_real tmp172; fftw_real tmp182; fftw_real tmp162; fftw_real tmp180; fftw_real tmp166; fftw_real tmp167; fftw_real tmp170; fftw_real tmp171; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp153; fftw_real tmp154; fftw_real tmp173; fftw_real tmp174; ASSERT_ALIGNED_DOUBLE; tmp153 = X[0]; tmp154 = X[5 * iostride]; tmp155 = tmp153 - tmp154; tmp163 = tmp153 + tmp154; tmp173 = Y[-4 * iostride]; tmp174 = Y[-iostride]; tmp175 = tmp173 - tmp174; tmp183 = tmp173 + tmp174; } tmp170 = Y[-2 * iostride]; tmp171 = Y[-3 * iostride]; tmp172 = tmp170 - tmp171; tmp182 = tmp170 + tmp171; { fftw_real tmp158; fftw_real tmp164; fftw_real tmp161; fftw_real tmp165; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp156; fftw_real tmp157; fftw_real tmp159; fftw_real tmp160; ASSERT_ALIGNED_DOUBLE; tmp156 = X[2 * iostride]; tmp157 = X[3 * iostride]; tmp158 = tmp156 - tmp157; tmp164 = tmp156 + tmp157; tmp159 = X[4 * iostride]; tmp160 = X[iostride]; tmp161 = tmp159 - tmp160; tmp165 = tmp159 + tmp160; } tmp162 = tmp158 + tmp161; tmp180 = K1_118033988 * (tmp158 - tmp161); tmp166 = tmp164 + tmp165; tmp167 = K1_118033988 * (tmp164 - tmp165); } X[5 * iostride] = tmp155 + (K2_000000000 * tmp162); { fftw_real tmp184; fftw_real tmp186; fftw_real tmp181; fftw_real tmp185; fftw_real tmp179; ASSERT_ALIGNED_DOUBLE; tmp184 = (K1_175570504 * tmp182) - (K1_902113032 * tmp183); tmp186 = (K1_902113032 * tmp182) + (K1_175570504 * tmp183); tmp179 = tmp155 - (K500000000 * tmp162); tmp181 = tmp179 - tmp180; tmp185 = tmp179 + tmp180; X[7 * iostride] = tmp181 - tmp184; X[3 * iostride] = tmp181 + tmp184; X[iostride] = tmp185 - tmp186; X[9 * iostride] = tmp185 + tmp186; } X[0] = tmp163 + (K2_000000000 * tmp166); { fftw_real tmp176; fftw_real tmp178; fftw_real tmp169; fftw_real tmp177; fftw_real tmp168; ASSERT_ALIGNED_DOUBLE; tmp176 = (K1_902113032 * tmp172) + (K1_175570504 * tmp175); tmp178 = (K1_902113032 * tmp175) - (K1_175570504 * tmp172); tmp168 = tmp163 - (K500000000 * tmp166); tmp169 = tmp167 + tmp168; tmp177 = tmp168 - tmp167; X[4 * iostride] = tmp169 + tmp176; X[6 * iostride] = tmp169 - tmp176; X[8 * iostride] = tmp177 - tmp178; X[2 * iostride] = tmp177 + 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 tmp35; fftw_real tmp102; fftw_real tmp77; fftw_real tmp119; fftw_real tmp72; fftw_real tmp73; fftw_real tmp50; fftw_real tmp53; fftw_real tmp123; fftw_real tmp122; fftw_real tmp109; fftw_real tmp131; fftw_real tmp61; fftw_real tmp68; fftw_real tmp80; fftw_real tmp82; fftw_real tmp134; fftw_real tmp133; fftw_real tmp118; fftw_real tmp126; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp33; fftw_real tmp34; fftw_real tmp75; fftw_real tmp76; ASSERT_ALIGNED_DOUBLE; tmp33 = X[0]; tmp34 = Y[-5 * iostride]; tmp35 = tmp33 + tmp34; tmp102 = tmp33 - tmp34; tmp75 = Y[0]; tmp76 = X[5 * iostride]; tmp77 = tmp75 - tmp76; tmp119 = tmp75 + tmp76; } { fftw_real tmp38; fftw_real tmp103; fftw_real tmp48; fftw_real tmp107; fftw_real tmp41; fftw_real tmp104; fftw_real tmp45; fftw_real tmp106; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp36; fftw_real tmp37; fftw_real tmp46; fftw_real tmp47; ASSERT_ALIGNED_DOUBLE; tmp36 = X[2 * iostride]; tmp37 = Y[-7 * iostride]; tmp38 = tmp36 + tmp37; tmp103 = tmp36 - tmp37; tmp46 = Y[-6 * iostride]; tmp47 = X[iostride]; tmp48 = tmp46 + tmp47; tmp107 = tmp46 - tmp47; } { fftw_real tmp39; fftw_real tmp40; fftw_real tmp43; fftw_real tmp44; ASSERT_ALIGNED_DOUBLE; tmp39 = Y[-8 * iostride]; tmp40 = X[3 * iostride]; tmp41 = tmp39 + tmp40; tmp104 = tmp39 - tmp40; tmp43 = X[4 * iostride]; tmp44 = Y[-9 * iostride]; tmp45 = tmp43 + tmp44; tmp106 = tmp43 - tmp44; } { fftw_real tmp42; fftw_real tmp49; fftw_real tmp105; fftw_real tmp108; ASSERT_ALIGNED_DOUBLE; tmp72 = tmp38 - tmp41; tmp73 = tmp45 - tmp48; tmp42 = tmp38 + tmp41; tmp49 = tmp45 + tmp48; tmp50 = tmp42 + tmp49; tmp53 = K559016994 * (tmp42 - tmp49); tmp123 = tmp106 - tmp107; tmp122 = tmp103 - tmp104; tmp105 = tmp103 + tmp104; tmp108 = tmp106 + tmp107; tmp109 = tmp105 + tmp108; tmp131 = K559016994 * (tmp105 - tmp108); } } { fftw_real tmp57; fftw_real tmp112; fftw_real tmp67; fftw_real tmp116; fftw_real tmp60; fftw_real tmp113; fftw_real tmp64; fftw_real tmp115; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp55; fftw_real tmp56; fftw_real tmp65; fftw_real tmp66; ASSERT_ALIGNED_DOUBLE; tmp55 = Y[-2 * iostride]; tmp56 = X[7 * iostride]; tmp57 = tmp55 - tmp56; tmp112 = tmp55 + tmp56; tmp65 = Y[-iostride]; tmp66 = X[6 * iostride]; tmp67 = tmp65 - tmp66; tmp116 = tmp65 + tmp66; } { fftw_real tmp58; fftw_real tmp59; fftw_real tmp62; fftw_real tmp63; ASSERT_ALIGNED_DOUBLE; tmp58 = Y[-3 * iostride]; tmp59 = X[8 * iostride]; tmp60 = tmp58 - tmp59; tmp113 = tmp58 + tmp59; tmp62 = Y[-4 * iostride]; tmp63 = X[9 * iostride];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -