⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fcr_64.c

📁 FFTW, a collection of fast C routines to compute the Discrete Fourier Transform in one or more dime
💻 C
📖 第 1 页 / 共 3 页
字号:
/* * 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 + -