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

📄 frc_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:06:14 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 -real2hc 128 *//* * This function contains 956 FP additions, 330 FP multiplications, * (or, 812 additions, 186 multiplications, 144 fused multiply/add), * 156 stack variables, and 256 memory accesses */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 K595699304 =FFTW_KONST(+0.595699304492433343467036528829969889511926338);static const fftw_real K803207531 =FFTW_KONST(+0.803207531480644909806676512963141923879569427);static const fftw_real K146730474 =FFTW_KONST(+0.146730474455361751658850129646717819706215317);static const fftw_real K989176509 =FFTW_KONST(+0.989176509964780973451673738016243063983689533);static const fftw_real K471396736 =FFTW_KONST(+0.471396736825997648556387625905254377657460319);static const fftw_real K881921264 =FFTW_KONST(+0.881921264348355029712756863660388349508442621);static const fftw_real K956940335 =FFTW_KONST(+0.956940335732208864935797886980269969482849206);static const fftw_real K290284677 =FFTW_KONST(+0.290284677254462367636192375817395274691476278);static const fftw_real K336889853 =FFTW_KONST(+0.336889853392220050689253212619147570477766780);static const fftw_real K941544065 =FFTW_KONST(+0.941544065183020778412509402599502357185589796);static const fftw_real K427555093 =FFTW_KONST(+0.427555093430282094320966856888798534304578629);static const fftw_real K903989293 =FFTW_KONST(+0.903989293123443331586200297230537048710132025);static const fftw_real K634393284 =FFTW_KONST(+0.634393284163645498215171613225493370675687095);static const fftw_real K773010453 =FFTW_KONST(+0.773010453362736960810906609758469800971041293);static const fftw_real K671558954 =FFTW_KONST(+0.671558954847018400625376850427421803228750632);static const fftw_real K740951125 =FFTW_KONST(+0.740951125354959091175616897495162729728955309);static const fftw_real K049067674 =FFTW_KONST(+0.049067674327418014254954976942682658314745363);static const fftw_real K998795456 =FFTW_KONST(+0.998795456205172392714771604759100694443203615);static const fftw_real K995184726 =FFTW_KONST(+0.995184726672196886244836953109479921575474869);static const fftw_real K098017140 =FFTW_KONST(+0.098017140329560601994195563888641845861136673);static const fftw_real K555570233 =FFTW_KONST(+0.555570233019602224742830813948532874374937191);static const fftw_real K831469612 =FFTW_KONST(+0.831469612302545237078788377617905756738560812);static const fftw_real K195090322 =FFTW_KONST(+0.195090322016128267848284868477022240927691618);static const fftw_real K980785280 =FFTW_KONST(+0.980785280403230449126182236134239036973933731);static const fftw_real K382683432 =FFTW_KONST(+0.382683432365089771728459984030398866761344562);static const fftw_real K923879532 =FFTW_KONST(+0.923879532511286756128183189396788286822416626);static const fftw_real K707106781 =FFTW_KONST(+0.707106781186547524400844362104849039284835938);/* * 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_real2hc_128(const fftw_real *input, fftw_real *real_output,		      fftw_real *imag_output, int istride,		      int real_ostride, int imag_ostride){     fftw_real tmp783;     fftw_real tmp15;     fftw_real tmp625;     fftw_real tmp862;     fftw_real tmp131;     fftw_real tmp461;     fftw_real tmp364;     fftw_real tmp530;     fftw_real tmp46;     fftw_real tmp626;     fftw_real tmp790;     fftw_real tmp865;     fftw_real tmp148;     fftw_real tmp369;     fftw_real tmp466;     fftw_real tmp533;     fftw_real tmp30;     fftw_real tmp708;     fftw_real tmp786;     fftw_real tmp863;     fftw_real tmp138;     fftw_real tmp531;     fftw_real tmp367;     fftw_real tmp462;     fftw_real tmp307;     fftw_real tmp419;     fftw_real tmp509;     fftw_real tmp583;     fftw_real tmp352;     fftw_real tmp423;     fftw_real tmp520;     fftw_real tmp587;     fftw_real tmp677;     fftw_real tmp747;     fftw_real tmp841;     fftw_real tmp915;     fftw_real tmp852;     fftw_real tmp919;     fftw_real tmp700;     fftw_real tmp748;     fftw_real tmp750;     fftw_real tmp692;     fftw_real tmp701;     fftw_real tmp751;     fftw_real tmp855;     fftw_real tmp916;     fftw_real tmp848;     fftw_real tmp918;     fftw_real tmp324;     fftw_real tmp353;     fftw_real tmp512;     fftw_real tmp521;     fftw_real tmp515;     fftw_real tmp522;     fftw_real tmp341;     fftw_real tmp354;     fftw_real tmp61;     fftw_real tmp627;     fftw_real tmp793;     fftw_real tmp866;     fftw_real tmp157;     fftw_real tmp370;     fftw_real tmp469;     fftw_real tmp534;     fftw_real tmp109;     fftw_real tmp633;     fftw_real tmp809;     fftw_real tmp900;     fftw_real tmp812;     fftw_real tmp901;     fftw_real tmp484;     fftw_real tmp569;     fftw_real tmp193;     fftw_real tmp405;     fftw_real tmp481;     fftw_real tmp568;     fftw_real tmp200;     fftw_real tmp404;     fftw_real tmp124;     fftw_real tmp634;     fftw_real tmp78;     fftw_real tmp630;     fftw_real tmp800;     fftw_real tmp904;     fftw_real tmp803;     fftw_real tmp903;     fftw_real tmp477;     fftw_real tmp571;     fftw_real tmp172;     fftw_real tmp407;     fftw_real tmp474;     fftw_real tmp572;     fftw_real tmp179;     fftw_real tmp408;     fftw_real tmp93;     fftw_real tmp631;     fftw_real tmp230;     fftw_real tmp415;     fftw_real tmp490;     fftw_real tmp579;     fftw_real tmp275;     fftw_real tmp413;     fftw_real tmp501;     fftw_real tmp577;     fftw_real tmp644;     fftw_real tmp740;     fftw_real tmp820;     fftw_real tmp911;     fftw_real tmp831;     fftw_real tmp909;     fftw_real tmp667;     fftw_real tmp741;     fftw_real tmp743;     fftw_real tmp659;     fftw_real tmp668;     fftw_real tmp744;     fftw_real tmp834;     fftw_real tmp912;     fftw_real tmp827;     fftw_real tmp908;     fftw_real tmp247;     fftw_real tmp276;     fftw_real tmp493;     fftw_real tmp502;     fftw_real tmp496;     fftw_real tmp503;     fftw_real tmp264;     fftw_real tmp277;     ASSERT_ALIGNED_DOUBLE;     {	  fftw_real tmp3;	  fftw_real tmp127;	  fftw_real tmp13;	  fftw_real tmp129;	  fftw_real tmp6;	  fftw_real tmp363;	  fftw_real tmp10;	  fftw_real tmp128;	  ASSERT_ALIGNED_DOUBLE;	  {	       fftw_real tmp1;	       fftw_real tmp2;	       fftw_real tmp11;	       fftw_real tmp12;	       ASSERT_ALIGNED_DOUBLE;	       tmp1 = input[0];	       tmp2 = input[64 * istride];	       tmp3 = tmp1 + tmp2;	       tmp127 = tmp1 - tmp2;	       tmp11 = input[112 * istride];	       tmp12 = input[48 * istride];	       tmp13 = tmp11 + tmp12;	       tmp129 = tmp11 - tmp12;	  }	  {	       fftw_real tmp4;	       fftw_real tmp5;	       fftw_real tmp8;	       fftw_real tmp9;	       ASSERT_ALIGNED_DOUBLE;	       tmp4 = input[32 * istride];	       tmp5 = input[96 * istride];	       tmp6 = tmp4 + tmp5;	       tmp363 = tmp4 - tmp5;	       tmp8 = input[16 * istride];	       tmp9 = input[80 * istride];	       tmp10 = tmp8 + tmp9;	       tmp128 = tmp8 - tmp9;	  }	  {	       fftw_real tmp7;	       fftw_real tmp14;	       fftw_real tmp130;	       fftw_real tmp362;	       ASSERT_ALIGNED_DOUBLE;	       tmp783 = tmp3 - tmp6;	       tmp7 = tmp3 + tmp6;	       tmp14 = tmp10 + tmp13;	       tmp15 = tmp7 + tmp14;	       tmp625 = tmp7 - tmp14;	       tmp862 = tmp13 - tmp10;	       tmp130 = K707106781 * (tmp128 + tmp129);	       tmp131 = tmp127 + tmp130;	       tmp461 = tmp127 - tmp130;	       tmp362 = K707106781 * (tmp129 - tmp128);	       tmp364 = tmp362 - tmp363;	       tmp530 = tmp363 + tmp362;	  }     }     {	  fftw_real tmp34;	  fftw_real tmp140;	  fftw_real tmp37;	  fftw_real tmp146;	  fftw_real tmp41;	  fftw_real tmp145;	  fftw_real tmp143;	  fftw_real tmp44;	  ASSERT_ALIGNED_DOUBLE;	  {	       fftw_real tmp32;	       fftw_real tmp33;	       fftw_real tmp35;	       fftw_real tmp36;	       ASSERT_ALIGNED_DOUBLE;	       tmp32 = input[4 * istride];	       tmp33 = input[68 * istride];	       tmp34 = tmp32 + tmp33;	       tmp140 = tmp32 - tmp33;	       tmp35 = input[36 * istride];	       tmp36 = input[100 * istride];	       tmp37 = tmp35 + tmp36;	       tmp146 = tmp35 - tmp36;	       {		    fftw_real tmp39;		    fftw_real tmp40;		    fftw_real tmp141;		    fftw_real tmp42;		    fftw_real tmp43;		    fftw_real tmp142;		    ASSERT_ALIGNED_DOUBLE;		    tmp39 = input[20 * istride];		    tmp40 = input[84 * istride];		    tmp141 = tmp39 - tmp40;		    tmp42 = input[116 * istride];		    tmp43 = input[52 * istride];		    tmp142 = tmp42 - tmp43;		    tmp41 = tmp39 + tmp40;		    tmp145 = K707106781 * (tmp142 - tmp141);		    tmp143 = K707106781 * (tmp141 + tmp142);		    tmp44 = tmp42 + tmp43;	       }	  }	  {	       fftw_real tmp38;	       fftw_real tmp45;	       fftw_real tmp788;	       fftw_real tmp789;	       ASSERT_ALIGNED_DOUBLE;	       tmp38 = tmp34 + tmp37;	       tmp45 = tmp41 + tmp44;	       tmp46 = tmp38 + tmp45;	       tmp626 = tmp38 - tmp45;	       tmp788 = tmp34 - tmp37;	       tmp789 = tmp44 - tmp41;	       tmp790 = (K923879532 * tmp788) + (K382683432 * tmp789);	       tmp865 = (K923879532 * tmp789) - (K382683432 * tmp788);	  }	  {	       fftw_real tmp144;	       fftw_real tmp147;	       fftw_real tmp464;	       fftw_real tmp465;	       ASSERT_ALIGNED_DOUBLE;	       tmp144 = tmp140 + tmp143;	       tmp147 = tmp145 - tmp146;	       tmp148 = (K980785280 * tmp144) + (K195090322 * tmp147);	       tmp369 = (K980785280 * tmp147) - (K195090322 * tmp144);	       tmp464 = tmp140 - tmp143;	       tmp465 = tmp146 + tmp145;	       tmp466 = (K831469612 * tmp464) + (K555570233 * tmp465);	       tmp533 = (K831469612 * tmp465) - (K555570233 * tmp464);	  }     }     {	  fftw_real tmp18;	  fftw_real tmp132;	  fftw_real tmp28;	  fftw_real tmp136;	  fftw_real tmp21;	  fftw_real tmp133;	  fftw_real tmp25;	  fftw_real tmp135;	  ASSERT_ALIGNED_DOUBLE;	  {	       fftw_real tmp16;	       fftw_real tmp17;	       fftw_real tmp26;	       fftw_real tmp27;	       ASSERT_ALIGNED_DOUBLE;	       tmp16 = input[8 * istride];	       tmp17 = input[72 * istride];	       tmp18 = tmp16 + tmp17;	       tmp132 = tmp16 - tmp17;	       tmp26 = input[24 * istride];	       tmp27 = input[88 * istride];	       tmp28 = tmp26 + tmp27;	       tmp136 = tmp26 - tmp27;	  }	  {	       fftw_real tmp19;	       fftw_real tmp20;	       fftw_real tmp23;	       fftw_real tmp24;	       ASSERT_ALIGNED_DOUBLE;	       tmp19 = input[40 * istride];	       tmp20 = input[104 * istride];	       tmp21 = tmp19 + tmp20;	       tmp133 = tmp19 - tmp20;	       tmp23 = input[120 * istride];	       tmp24 = input[56 * istride];	       tmp25 = tmp23 + tmp24;	       tmp135 = tmp23 - tmp24;	  }	  {	       fftw_real tmp22;	       fftw_real tmp29;	       fftw_real tmp784;	       fftw_real tmp785;	       ASSERT_ALIGNED_DOUBLE;	       tmp22 = tmp18 + tmp21;	       tmp29 = tmp25 + tmp28;	       tmp30 = tmp22 + tmp29;	       tmp708 = tmp29 - tmp22;	       tmp784 = tmp18 - tmp21;	       tmp785 = tmp25 - tmp28;	       tmp786 = K707106781 * (tmp784 + tmp785);	       tmp863 = K707106781 * (tmp785 - tmp784);	  }	  {	       fftw_real tmp134;	       fftw_real tmp137;	       fftw_real tmp365;	       fftw_real tmp366;	       ASSERT_ALIGNED_DOUBLE;	       tmp134 = (K923879532 * tmp132) - (K382683432 * tmp133);	       tmp137 = (K923879532 * tmp135) + (K382683432 * tmp136);	       tmp138 = tmp134 + tmp137;	       tmp531 = tmp137 - tmp134;	       tmp365 = (K382683432 * tmp135) - (K923879532 * tmp136);	       tmp366 = (K382683432 * tmp132) + (K923879532 * tmp133);	       tmp367 = tmp365 - tmp366;	       tmp462 = tmp366 + tmp365;	  }     }

⌨️ 快捷键说明

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