📄 fcr_64.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:07:23 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 -hc2real 64 *//* * This function contains 394 FP additions, 146 FP multiplications, * (or, 342 additions, 94 multiplications, 52 fused multiply/add), * 86 stack variables, and 128 memory accesses */static const fftw_real K980785280 =FFTW_KONST(+0.980785280403230449126182236134239036973933731);static const fftw_real K195090322 =FFTW_KONST(+0.195090322016128267848284868477022240927691618);static const fftw_real K555570233 =FFTW_KONST(+0.555570233019602224742830813948532874374937191);static const fftw_real K831469612 =FFTW_KONST(+0.831469612302545237078788377617905756738560812);static const fftw_real K765366864 =FFTW_KONST(+0.765366864730179543456919968060797733522689125);static const fftw_real K1_847759065 =FFTW_KONST(+1.847759065022573512256366378793576573644833252);static const fftw_real K773010453 =FFTW_KONST(+0.773010453362736960810906609758469800971041293);static const fftw_real K634393284 =FFTW_KONST(+0.634393284163645498215171613225493370675687095);static const fftw_real K290284677 =FFTW_KONST(+0.290284677254462367636192375817395274691476278);static const fftw_real K956940335 =FFTW_KONST(+0.956940335732208864935797886980269969482849206);static const fftw_real K995184726 =FFTW_KONST(+0.995184726672196886244836953109479921575474869);static const fftw_real K098017140 =FFTW_KONST(+0.098017140329560601994195563888641845861136673);static const fftw_real K471396736 =FFTW_KONST(+0.471396736825997648556387625905254377657460319);static const fftw_real K881921264 =FFTW_KONST(+0.881921264348355029712756863660388349508442621);static const fftw_real K1_414213562 =FFTW_KONST(+1.414213562373095048801688724209698078569671875);static const fftw_real K2_000000000 =FFTW_KONST(+2.000000000000000000000000000000000000000000000);/* * 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_hc2real_64(const fftw_real *real_input, const fftw_real *imag_input, fftw_real *output, int real_istride, int imag_istride, int ostride){ fftw_real tmp10; fftw_real tmp196; fftw_real tmp70; fftw_real tmp152; fftw_real tmp249; fftw_real tmp304; fftw_real tmp337; fftw_real tmp376; fftw_real tmp64; fftw_real tmp206; fftw_real tmp128; fftw_real tmp162; fftw_real tmp184; fftw_real tmp204; fftw_real tmp137; fftw_real tmp163; fftw_real tmp273; fftw_real tmp288; fftw_real tmp349; fftw_real tmp360; fftw_real tmp280; fftw_real tmp287; fftw_real tmp352; fftw_real tmp359; fftw_real tmp17; fftw_real tmp79; fftw_real tmp153; fftw_real tmp197; fftw_real tmp241; fftw_real tmp305; fftw_real tmp334; fftw_real tmp377; fftw_real tmp25; fftw_real tmp32; fftw_real tmp199; fftw_real tmp89; fftw_real tmp155; fftw_real tmp187; fftw_real tmp188; fftw_real tmp200; fftw_real tmp98; fftw_real tmp156; fftw_real tmp226; fftw_real tmp293; fftw_real tmp330; fftw_real tmp365; fftw_real tmp233; fftw_real tmp292; fftw_real tmp327; fftw_real tmp364; fftw_real tmp49; fftw_real tmp203; fftw_real tmp109; fftw_real tmp159; fftw_real tmp181; fftw_real tmp207; fftw_real tmp118; fftw_real tmp160; fftw_real tmp258; fftw_real tmp285; fftw_real tmp345; fftw_real tmp357; fftw_real tmp265; fftw_real tmp284; fftw_real tmp342; fftw_real tmp356; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp5; fftw_real tmp247; fftw_real tmp3; fftw_real tmp245; fftw_real tmp9; fftw_real tmp242; fftw_real tmp69; fftw_real tmp243; fftw_real tmp6; fftw_real tmp66; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp4; fftw_real tmp246; fftw_real tmp1; fftw_real tmp2; ASSERT_ALIGNED_DOUBLE; tmp4 = real_input[16 * real_istride]; tmp5 = K2_000000000 * tmp4; tmp246 = imag_input[16 * imag_istride]; tmp247 = K2_000000000 * tmp246; tmp1 = real_input[0]; tmp2 = real_input[32 * real_istride]; tmp3 = tmp1 + tmp2; tmp245 = tmp1 - tmp2; { fftw_real tmp7; fftw_real tmp8; fftw_real tmp67; fftw_real tmp68; ASSERT_ALIGNED_DOUBLE; tmp7 = real_input[8 * real_istride]; tmp8 = real_input[24 * real_istride]; tmp9 = K2_000000000 * (tmp7 + tmp8); tmp242 = tmp7 - tmp8; tmp67 = imag_input[8 * imag_istride]; tmp68 = imag_input[24 * imag_istride]; tmp69 = K2_000000000 * (tmp67 - tmp68); tmp243 = tmp67 + tmp68; } } tmp6 = tmp3 + tmp5; tmp10 = tmp6 + tmp9; tmp196 = tmp6 - tmp9; tmp66 = tmp3 - tmp5; tmp70 = tmp66 - tmp69; tmp152 = tmp66 + tmp69; { fftw_real tmp244; fftw_real tmp248; fftw_real tmp335; fftw_real tmp336; ASSERT_ALIGNED_DOUBLE; tmp244 = K1_414213562 * (tmp242 - tmp243); tmp248 = tmp245 - tmp247; tmp249 = tmp244 + tmp248; tmp304 = tmp248 - tmp244; tmp335 = tmp245 + tmp247; tmp336 = K1_414213562 * (tmp242 + tmp243); tmp337 = tmp335 - tmp336; tmp376 = tmp336 + tmp335; } } { fftw_real tmp52; fftw_real tmp274; fftw_real tmp135; fftw_real tmp278; fftw_real tmp55; fftw_real tmp277; fftw_real tmp132; fftw_real tmp275; fftw_real tmp59; fftw_real tmp267; fftw_real tmp126; fftw_real tmp271; fftw_real tmp62; fftw_real tmp270; fftw_real tmp123; fftw_real tmp268; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp50; fftw_real tmp51; fftw_real tmp133; fftw_real tmp134; ASSERT_ALIGNED_DOUBLE; tmp50 = real_input[3 * real_istride]; tmp51 = real_input[29 * real_istride]; tmp52 = tmp50 + tmp51; tmp274 = tmp50 - tmp51; tmp133 = imag_input[3 * imag_istride]; tmp134 = imag_input[29 * imag_istride]; tmp135 = tmp133 - tmp134; tmp278 = tmp133 + tmp134; } { fftw_real tmp53; fftw_real tmp54; fftw_real tmp130; fftw_real tmp131; ASSERT_ALIGNED_DOUBLE; tmp53 = real_input[13 * real_istride]; tmp54 = real_input[19 * real_istride]; tmp55 = tmp53 + tmp54; tmp277 = tmp54 - tmp53; tmp130 = imag_input[13 * imag_istride]; tmp131 = imag_input[19 * imag_istride]; tmp132 = tmp130 - tmp131; tmp275 = tmp130 + tmp131; } { fftw_real tmp57; fftw_real tmp58; fftw_real tmp124; fftw_real tmp125; ASSERT_ALIGNED_DOUBLE; tmp57 = real_input[5 * real_istride]; tmp58 = real_input[27 * real_istride]; tmp59 = tmp57 + tmp58; tmp267 = tmp57 - tmp58; tmp124 = imag_input[5 * imag_istride]; tmp125 = imag_input[27 * imag_istride]; tmp126 = tmp124 - tmp125; tmp271 = tmp124 + tmp125; } { fftw_real tmp60; fftw_real tmp61; fftw_real tmp121; fftw_real tmp122; ASSERT_ALIGNED_DOUBLE; tmp60 = real_input[11 * real_istride]; tmp61 = real_input[21 * real_istride]; tmp62 = tmp60 + tmp61; tmp270 = tmp61 - tmp60; tmp121 = imag_input[11 * imag_istride]; tmp122 = imag_input[21 * imag_istride]; tmp123 = tmp121 - tmp122; tmp268 = tmp121 + tmp122; } { fftw_real tmp56; fftw_real tmp63; fftw_real tmp120; fftw_real tmp127; ASSERT_ALIGNED_DOUBLE; tmp56 = tmp52 + tmp55; tmp63 = tmp59 + tmp62; tmp64 = tmp56 + tmp63; tmp206 = tmp63 - tmp56; tmp120 = tmp52 - tmp55; tmp127 = tmp123 + tmp126; tmp128 = tmp120 - tmp127; tmp162 = tmp120 + tmp127; } { fftw_real tmp182; fftw_real tmp183; fftw_real tmp129; fftw_real tmp136; ASSERT_ALIGNED_DOUBLE; tmp182 = tmp135 - tmp132; tmp183 = tmp126 - tmp123; tmp184 = tmp182 - tmp183; tmp204 = tmp183 + tmp182; tmp129 = tmp62 - tmp59; tmp136 = tmp132 + tmp135; tmp137 = tmp129 + tmp136; tmp163 = tmp136 - tmp129; } { fftw_real tmp269; fftw_real tmp272; fftw_real tmp347; fftw_real tmp348; ASSERT_ALIGNED_DOUBLE; tmp269 = tmp267 - tmp268; tmp272 = tmp270 + tmp271; tmp273 = (K881921264 * tmp269) - (K471396736 * tmp272); tmp288 = (K471396736 * tmp269) + (K881921264 * tmp272); tmp347 = tmp267 + tmp268; tmp348 = tmp271 - tmp270; tmp349 = (K098017140 * tmp347) - (K995184726 * tmp348); tmp360 = (K995184726 * tmp347) + (K098017140 * tmp348); } { fftw_real tmp276; fftw_real tmp279; fftw_real tmp350; fftw_real tmp351; ASSERT_ALIGNED_DOUBLE; tmp276 = tmp274 - tmp275; tmp279 = tmp277 + tmp278; tmp280 = (K956940335 * tmp276) - (K290284677 * tmp279); tmp287 = (K290284677 * tmp276) + (K956940335 * tmp279); tmp350 = tmp274 + tmp275; tmp351 = tmp278 - tmp277; tmp352 = (K634393284 * tmp350) - (K773010453 * tmp351); tmp359 = (K773010453 * tmp350) + (K634393284 * tmp351); } } { fftw_real tmp13; fftw_real tmp235; fftw_real tmp77; fftw_real tmp239; fftw_real tmp16; fftw_real tmp238; fftw_real tmp74; fftw_real tmp236; fftw_real tmp71; fftw_real tmp78; ASSERT_ALIGNED_DOUBLE; { fftw_real tmp11; fftw_real tmp12; fftw_real tmp75; fftw_real tmp76; ASSERT_ALIGNED_DOUBLE; tmp11 = real_input[4 * real_istride]; tmp12 = real_input[28 * real_istride]; tmp13 = tmp11 + tmp12; tmp235 = tmp11 - tmp12; tmp75 = imag_input[4 * imag_istride]; tmp76 = imag_input[28 * imag_istride]; tmp77 = tmp75 - tmp76; tmp239 = tmp75 + tmp76; } { fftw_real tmp14; fftw_real tmp15; fftw_real tmp72;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -