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

📄 fcr_128.c

📁 FFTW, a collection of fast C routines to compute the Discrete Fourier Transform in one or more dime
💻 C
📖 第 1 页 / 共 5 页
字号:
/* * 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:28 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 128 *//* * This function contains 956 FP additions, 374 FP multiplications, * (or, 812 additions, 230 multiplications, 144 fused multiply/add), * 176 stack variables, and 256 memory accesses */static const fftw_real K195090322 =FFTW_KONST(+0.195090322016128267848284868477022240927691618);static const fftw_real K980785280 =FFTW_KONST(+0.980785280403230449126182236134239036973933731);static const fftw_real K555570233 =FFTW_KONST(+0.555570233019602224742830813948532874374937191);static const fftw_real K831469612 =FFTW_KONST(+0.831469612302545237078788377617905756738560812);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 K803207531 =FFTW_KONST(+0.803207531480644909806676512963141923879569427);static const fftw_real K595699304 =FFTW_KONST(+0.595699304492433343467036528829969889511926338);static const fftw_real K989176509 =FFTW_KONST(+0.989176509964780973451673738016243063983689533);static const fftw_real K146730474 =FFTW_KONST(+0.146730474455361751658850129646717819706215317);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 K336889853 =FFTW_KONST(+0.336889853392220050689253212619147570477766780);static const fftw_real K941544065 =FFTW_KONST(+0.941544065183020778412509402599502357185589796);static const fftw_real K903989293 =FFTW_KONST(+0.903989293123443331586200297230537048710132025);static const fftw_real K427555093 =FFTW_KONST(+0.427555093430282094320966856888798534304578629);static const fftw_real K998795456 =FFTW_KONST(+0.998795456205172392714771604759100694443203615);static const fftw_real K049067674 =FFTW_KONST(+0.049067674327418014254954976942682658314745363);static const fftw_real K671558954 =FFTW_KONST(+0.671558954847018400625376850427421803228750632);static const fftw_real K740951125 =FFTW_KONST(+0.740951125354959091175616897495162729728955309);static const fftw_real K242980179 =FFTW_KONST(+0.242980179903263889948274162077471118320990783);static const fftw_real K970031253 =FFTW_KONST(+0.970031253194543992603984207286100251456865962);static const fftw_real K514102744 =FFTW_KONST(+0.514102744193221726593693838968815772608049120);static const fftw_real K857728610 =FFTW_KONST(+0.857728610000272069902269984284770137042490799);static const fftw_real K765366864 =FFTW_KONST(+0.765366864730179543456919968060797733522689125);static const fftw_real K1_847759065 =FFTW_KONST(+1.847759065022573512256366378793576573644833252);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_128(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 tmp454;     fftw_real tmp134;     fftw_real tmp326;     fftw_real tmp582;     fftw_real tmp715;     fftw_real tmp785;     fftw_real tmp901;     fftw_real tmp17;     fftw_real tmp143;     fftw_real tmp327;     fftw_real tmp455;     fftw_real tmp574;     fftw_real tmp716;     fftw_real tmp782;     fftw_real tmp902;     fftw_real tmp112;     fftw_real tmp478;     fftw_real tmp507;     fftw_real tmp411;     fftw_real tmp646;     fftw_real tmp731;     fftw_real tmp662;     fftw_real tmp728;     fftw_real tmp848;     fftw_real tmp917;     fftw_real tmp832;     fftw_real tmp914;     fftw_real tmp825;     fftw_real tmp916;     fftw_real tmp845;     fftw_real tmp913;     fftw_real tmp127;     fftw_real tmp481;     fftw_real tmp506;     fftw_real tmp408;     fftw_real tmp262;     fftw_real tmp288;     fftw_real tmp350;     fftw_real tmp360;     fftw_real tmp659;     fftw_real tmp730;     fftw_real tmp631;     fftw_real tmp727;     fftw_real tmp281;     fftw_real tmp289;     fftw_real tmp353;     fftw_real tmp361;     fftw_real tmp33;     fftw_real tmp457;     fftw_real tmp153;     fftw_real tmp329;     fftw_real tmp431;     fftw_real tmp458;     fftw_real tmp162;     fftw_real tmp330;     fftw_real tmp559;     fftw_real tmp566;     fftw_real tmp712;     fftw_real tmp683;     fftw_real tmp684;     fftw_real tmp713;     fftw_real tmp775;     fftw_real tmp778;     fftw_real tmp898;     fftw_real tmp865;     fftw_real tmp866;     fftw_real tmp899;     fftw_real tmp49;     fftw_real tmp461;     fftw_real tmp668;     fftw_real tmp708;     fftw_real tmp854;     fftw_real tmp894;     fftw_real tmp794;     fftw_real tmp891;     fftw_real tmp536;     fftw_real tmp705;     fftw_real tmp335;     fftw_real tmp365;     fftw_real tmp183;     fftw_real tmp293;     fftw_real tmp417;     fftw_real tmp465;     fftw_real tmp64;     fftw_real tmp464;     fftw_real tmp671;     fftw_real tmp706;     fftw_real tmp857;     fftw_real tmp892;     fftw_real tmp801;     fftw_real tmp895;     fftw_real tmp551;     fftw_real tmp709;     fftw_real tmp338;     fftw_real tmp366;     fftw_real tmp202;     fftw_real tmp294;     fftw_real tmp420;     fftw_real tmp462;     fftw_real tmp81;     fftw_real tmp471;     fftw_real tmp503;     fftw_real tmp404;     fftw_real tmp615;     fftw_real tmp724;     fftw_real tmp655;     fftw_real tmp721;     fftw_real tmp841;     fftw_real tmp910;     fftw_real tmp817;     fftw_real tmp907;     fftw_real tmp810;     fftw_real tmp909;     fftw_real tmp838;     fftw_real tmp906;     fftw_real tmp96;     fftw_real tmp474;     fftw_real tmp504;     fftw_real tmp401;     fftw_real tmp223;     fftw_real tmp285;     fftw_real tmp343;     fftw_real tmp357;     fftw_real tmp652;     fftw_real tmp723;     fftw_real tmp600;     fftw_real tmp720;     fftw_real tmp242;     fftw_real tmp286;     fftw_real tmp346;     fftw_real tmp358;     ASSERT_ALIGNED_DOUBLE;     {	  fftw_real tmp5;	  fftw_real tmp580;	  fftw_real tmp3;	  fftw_real tmp578;	  fftw_real tmp9;	  fftw_real tmp575;	  fftw_real tmp133;	  fftw_real tmp576;	  fftw_real tmp6;	  fftw_real tmp130;	  ASSERT_ALIGNED_DOUBLE;	  {	       fftw_real tmp4;	       fftw_real tmp579;	       fftw_real tmp1;	       fftw_real tmp2;	       ASSERT_ALIGNED_DOUBLE;	       tmp4 = real_input[32 * real_istride];	       tmp5 = K2_000000000 * tmp4;	       tmp579 = imag_input[32 * imag_istride];	       tmp580 = K2_000000000 * tmp579;	       tmp1 = real_input[0];	       tmp2 = real_input[64 * real_istride];	       tmp3 = tmp1 + tmp2;	       tmp578 = tmp1 - tmp2;	       {		    fftw_real tmp7;		    fftw_real tmp8;		    fftw_real tmp131;		    fftw_real tmp132;		    ASSERT_ALIGNED_DOUBLE;		    tmp7 = real_input[16 * real_istride];		    tmp8 = real_input[48 * real_istride];		    tmp9 = K2_000000000 * (tmp7 + tmp8);		    tmp575 = tmp7 - tmp8;		    tmp131 = imag_input[16 * imag_istride];		    tmp132 = imag_input[48 * imag_istride];		    tmp133 = K2_000000000 * (tmp131 - tmp132);		    tmp576 = tmp131 + tmp132;	       }	  }	  tmp6 = tmp3 + tmp5;	  tmp10 = tmp6 + tmp9;	  tmp454 = tmp6 - tmp9;	  tmp130 = tmp3 - tmp5;	  tmp134 = tmp130 - tmp133;	  tmp326 = tmp130 + tmp133;	  {	       fftw_real tmp577;	       fftw_real tmp581;	       fftw_real tmp783;	       fftw_real tmp784;	       ASSERT_ALIGNED_DOUBLE;	       tmp577 = K1_414213562 * (tmp575 - tmp576);	       tmp581 = tmp578 - tmp580;	       tmp582 = tmp577 + tmp581;	       tmp715 = tmp581 - tmp577;	       tmp783 = tmp578 + tmp580;	       tmp784 = K1_414213562 * (tmp575 + tmp576);	       tmp785 = tmp783 - tmp784;	       tmp901 = tmp784 + tmp783;	  }     }     {	  fftw_real tmp13;	  fftw_real tmp568;	  fftw_real tmp141;	  fftw_real tmp572;	  fftw_real tmp16;	  fftw_real tmp571;	  fftw_real tmp138;	  fftw_real tmp569;	  fftw_real tmp135;	  fftw_real tmp142;	  ASSERT_ALIGNED_DOUBLE;	  {	       fftw_real tmp11;	       fftw_real tmp12;	       fftw_real tmp139;	       fftw_real tmp140;	       ASSERT_ALIGNED_DOUBLE;	       tmp11 = real_input[8 * real_istride];	       tmp12 = real_input[56 * real_istride];	       tmp13 = tmp11 + tmp12;	       tmp568 = tmp11 - tmp12;	       tmp139 = imag_input[8 * imag_istride];	       tmp140 = imag_input[56 * imag_istride];	       tmp141 = tmp139 - tmp140;	       tmp572 = tmp139 + tmp140;	  }	  {	       fftw_real tmp14;	       fftw_real tmp15;	       fftw_real tmp136;	       fftw_real tmp137;	       ASSERT_ALIGNED_DOUBLE;	       tmp14 = real_input[24 * real_istride];	       tmp15 = real_input[40 * real_istride];	       tmp16 = tmp14 + tmp15;	       tmp571 = tmp15 - tmp14;	       tmp136 = imag_input[24 * imag_istride];	       tmp137 = imag_input[40 * imag_istride];	       tmp138 = tmp136 - tmp137;	       tmp569 = tmp136 + tmp137;	  }	  tmp17 = K2_000000000 * (tmp13 + tmp16);	  tmp135 = tmp13 - tmp16;	  tmp142 = tmp138 + tmp141;	  tmp143 = K1_414213562 * (tmp135 - tmp142);	  tmp327 = K1_414213562 * (tmp135 + tmp142);	  tmp455 = K2_000000000 * (tmp141 - tmp138);	  {	       fftw_real tmp570;	       fftw_real tmp573;	       fftw_real tmp780;	       fftw_real tmp781;	       ASSERT_ALIGNED_DOUBLE;	       tmp570 = tmp568 - tmp569;	       tmp573 = tmp571 + tmp572;	       tmp574 = (K1_847759065 * tmp570) - (K765366864 * tmp573);	       tmp716 = (K765366864 * tmp570) + (K1_847759065 * tmp573);	       tmp780 = tmp568 + tmp569;	       tmp781 = tmp572 - tmp571;	       tmp782 = (K765366864 * tmp780) - (K1_847759065 * tmp781);	       tmp902 = (K1_847759065 * tmp780) + (K765366864 * tmp781);	  }     }     {	  fftw_real tmp104;	  fftw_real tmp244;	  fftw_real tmp260;	  fftw_real tmp406;	  fftw_real tmp626;	  fftw_real tmp819;	  fftw_real tmp629;	  fftw_real tmp820;	  fftw_real tmp126;	  fftw_real tmp272;	  fftw_real tmp270;	  fftw_real tmp410;	  fftw_real tmp634;	  fftw_real tmp829;	  fftw_real tmp637;	  fftw_real tmp830;	  fftw_real tmp111;	  fftw_real tmp253;	  fftw_real tmp251;	  fftw_real tmp407;	  fftw_real tmp619;	  fftw_real tmp822;	  fftw_real tmp622;	  fftw_real tmp823;	  fftw_real tmp119;	  fftw_real tmp263;	  fftw_real tmp279;	  fftw_real tmp409;	  fftw_real tmp641;	  fftw_real tmp826;	  fftw_real tmp644;	  fftw_real tmp827;	  ASSERT_ALIGNED_DOUBLE;	  {	       fftw_real tmp100;	       fftw_real tmp624;	       fftw_real tmp259;	       fftw_real tmp628;	       fftw_real tmp103;	       fftw_real tmp627;	       fftw_real tmp256;	       fftw_real tmp625;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp98;		    fftw_real tmp99;		    fftw_real tmp257;		    fftw_real tmp258;		    ASSERT_ALIGNED_DOUBLE;		    tmp98 = real_input[3 * real_istride];		    tmp99 = real_input[61 * real_istride];		    tmp100 = tmp98 + tmp99;		    tmp624 = tmp98 - tmp99;		    tmp257 = imag_input[3 * imag_istride];		    tmp258 = imag_input[61 * imag_istride];		    tmp259 = tmp257 - tmp258;		    tmp628 = tmp257 + tmp258;	       }	       {		    fftw_real tmp101;		    fftw_real tmp102;		    fftw_real tmp254;		    fftw_real tmp255;		    ASSERT_ALIGNED_DOUBLE;		    tmp101 = real_input[29 * real_istride];		    tmp102 = real_input[35 * real_istride];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -