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

📄 fn_64.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:05:51 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 -notwiddle 64 *//* * This function contains 912 FP additions, 248 FP multiplications, * (or, 808 additions, 144 multiplications, 104 fused multiply/add), * 156 stack variables, and 256 memory accesses */static const fftw_real K555570233 =FFTW_KONST(+0.555570233019602224742830813948532874374937191);static const fftw_real K831469612 =FFTW_KONST(+0.831469612302545237078788377617905756738560812);static const fftw_real K881921264 =FFTW_KONST(+0.881921264348355029712756863660388349508442621);static const fftw_real K471396736 =FFTW_KONST(+0.471396736825997648556387625905254377657460319);static const fftw_real K290284677 =FFTW_KONST(+0.290284677254462367636192375817395274691476278);static const fftw_real K956940335 =FFTW_KONST(+0.956940335732208864935797886980269969482849206);static const fftw_real K980785280 =FFTW_KONST(+0.980785280403230449126182236134239036973933731);static const fftw_real K195090322 =FFTW_KONST(+0.195090322016128267848284868477022240927691618);static const fftw_real K995184726 =FFTW_KONST(+0.995184726672196886244836953109479921575474869);static const fftw_real K098017140 =FFTW_KONST(+0.098017140329560601994195563888641845861136673);static const fftw_real K773010453 =FFTW_KONST(+0.773010453362736960810906609758469800971041293);static const fftw_real K634393284 =FFTW_KONST(+0.634393284163645498215171613225493370675687095);static const fftw_real K923879532 =FFTW_KONST(+0.923879532511286756128183189396788286822416626);static const fftw_real K382683432 =FFTW_KONST(+0.382683432365089771728459984030398866761344562);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_no_twiddle_64(const fftw_complex *input, fftw_complex *output,			int istride, int ostride){     fftw_real tmp193;     fftw_real tmp471;     fftw_real tmp15;     fftw_real tmp815;     fftw_real tmp719;     fftw_real tmp781;     fftw_real tmp142;     fftw_real tmp849;     fftw_real tmp371;     fftw_real tmp537;     fftw_real tmp637;     fftw_real tmp755;     fftw_real tmp200;     fftw_real tmp538;     fftw_real tmp374;     fftw_real tmp472;     fftw_real tmp109;     fftw_real tmp837;     fftw_real tmp693;     fftw_real tmp773;     fftw_real tmp844;     fftw_real tmp892;     fftw_real tmp710;     fftw_real tmp776;     fftw_real tmp329;     fftw_real tmp429;     fftw_real tmp519;     fftw_real tmp593;     fftw_real tmp362;     fftw_real tmp432;     fftw_real tmp530;     fftw_real tmp596;     fftw_real tmp30;     fftw_real tmp850;     fftw_real tmp640;     fftw_real tmp721;     fftw_real tmp157;     fftw_real tmp816;     fftw_real tmp643;     fftw_real tmp720;     fftw_real tmp208;     fftw_real tmp377;     fftw_real tmp476;     fftw_real tmp541;     fftw_real tmp215;     fftw_real tmp376;     fftw_real tmp479;     fftw_real tmp540;     fftw_real tmp124;     fftw_real tmp845;     fftw_real tmp365;     fftw_real tmp430;     fftw_real tmp352;     fftw_real tmp433;     fftw_real tmp840;     fftw_real tmp893;     fftw_real tmp526;     fftw_real tmp597;     fftw_real tmp533;     fftw_real tmp594;     fftw_real tmp704;     fftw_real tmp777;     fftw_real tmp713;     fftw_real tmp774;     fftw_real tmp46;     fftw_real tmp819;     fftw_real tmp648;     fftw_real tmp758;     fftw_real tmp173;     fftw_real tmp818;     fftw_real tmp651;     fftw_real tmp759;     fftw_real tmp228;     fftw_real tmp414;     fftw_real tmp484;     fftw_real tmp578;     fftw_real tmp235;     fftw_real tmp415;     fftw_real tmp487;     fftw_real tmp579;     fftw_real tmp78;     fftw_real tmp831;     fftw_real tmp666;     fftw_real tmp769;     fftw_real tmp828;     fftw_real tmp887;     fftw_real tmp683;     fftw_real tmp766;     fftw_real tmp274;     fftw_real tmp425;     fftw_real tmp500;     fftw_real tmp589;     fftw_real tmp307;     fftw_real tmp422;     fftw_real tmp511;     fftw_real tmp586;     fftw_real tmp61;     fftw_real tmp821;     fftw_real tmp655;     fftw_real tmp761;     fftw_real tmp188;     fftw_real tmp822;     fftw_real tmp658;     fftw_real tmp762;     fftw_real tmp247;     fftw_real tmp417;     fftw_real tmp491;     fftw_real tmp581;     fftw_real tmp254;     fftw_real tmp418;     fftw_real tmp494;     fftw_real tmp582;     fftw_real tmp93;     fftw_real tmp829;     fftw_real tmp310;     fftw_real tmp426;     fftw_real tmp297;     fftw_real tmp423;     fftw_real tmp834;     fftw_real tmp888;     fftw_real tmp507;     fftw_real tmp587;     fftw_real tmp514;     fftw_real tmp590;     fftw_real tmp677;     fftw_real tmp767;     fftw_real tmp686;     fftw_real tmp770;     ASSERT_ALIGNED_DOUBLE;     {	  fftw_real tmp3;	  fftw_real tmp191;	  fftw_real tmp130;	  fftw_real tmp370;	  fftw_real tmp6;	  fftw_real tmp369;	  fftw_real tmp133;	  fftw_real tmp192;	  fftw_real tmp10;	  fftw_real tmp195;	  fftw_real tmp137;	  fftw_real tmp194;	  fftw_real tmp13;	  fftw_real tmp197;	  fftw_real tmp140;	  fftw_real tmp198;	  ASSERT_ALIGNED_DOUBLE;	  {	       fftw_real tmp1;	       fftw_real tmp2;	       fftw_real tmp128;	       fftw_real tmp129;	       ASSERT_ALIGNED_DOUBLE;	       tmp1 = c_re(input[0]);	       tmp2 = c_re(input[32 * istride]);	       tmp3 = tmp1 + tmp2;	       tmp191 = tmp1 - tmp2;	       tmp128 = c_im(input[0]);	       tmp129 = c_im(input[32 * istride]);	       tmp130 = tmp128 + tmp129;	       tmp370 = tmp128 - tmp129;	  }	  {	       fftw_real tmp4;	       fftw_real tmp5;	       fftw_real tmp131;	       fftw_real tmp132;	       ASSERT_ALIGNED_DOUBLE;	       tmp4 = c_re(input[16 * istride]);	       tmp5 = c_re(input[48 * istride]);	       tmp6 = tmp4 + tmp5;	       tmp369 = tmp4 - tmp5;	       tmp131 = c_im(input[16 * istride]);	       tmp132 = c_im(input[48 * istride]);	       tmp133 = tmp131 + tmp132;	       tmp192 = tmp131 - tmp132;	  }	  {	       fftw_real tmp8;	       fftw_real tmp9;	       fftw_real tmp135;	       fftw_real tmp136;	       ASSERT_ALIGNED_DOUBLE;	       tmp8 = c_re(input[8 * istride]);	       tmp9 = c_re(input[40 * istride]);	       tmp10 = tmp8 + tmp9;	       tmp195 = tmp8 - tmp9;	       tmp135 = c_im(input[8 * istride]);	       tmp136 = c_im(input[40 * istride]);	       tmp137 = tmp135 + tmp136;	       tmp194 = tmp135 - tmp136;	  }	  {	       fftw_real tmp11;	       fftw_real tmp12;	       fftw_real tmp138;	       fftw_real tmp139;	       ASSERT_ALIGNED_DOUBLE;	       tmp11 = c_re(input[56 * istride]);	       tmp12 = c_re(input[24 * istride]);	       tmp13 = tmp11 + tmp12;	       tmp197 = tmp11 - tmp12;	       tmp138 = c_im(input[56 * istride]);	       tmp139 = c_im(input[24 * istride]);	       tmp140 = tmp138 + tmp139;	       tmp198 = tmp138 - tmp139;	  }	  {	       fftw_real tmp7;	       fftw_real tmp14;	       fftw_real tmp635;	       fftw_real tmp636;	       ASSERT_ALIGNED_DOUBLE;	       tmp193 = tmp191 - tmp192;	       tmp471 = tmp191 + tmp192;	       tmp7 = tmp3 + tmp6;	       tmp14 = tmp10 + tmp13;	       tmp15 = tmp7 + tmp14;	       tmp815 = tmp7 - tmp14;	       {		    fftw_real tmp717;		    fftw_real tmp718;		    fftw_real tmp134;		    fftw_real tmp141;		    ASSERT_ALIGNED_DOUBLE;		    tmp717 = tmp130 - tmp133;		    tmp718 = tmp13 - tmp10;		    tmp719 = tmp717 - tmp718;		    tmp781 = tmp718 + tmp717;		    tmp134 = tmp130 + tmp133;		    tmp141 = tmp137 + tmp140;		    tmp142 = tmp134 + tmp141;		    tmp849 = tmp134 - tmp141;	       }	       tmp371 = tmp369 + tmp370;	       tmp537 = tmp370 - tmp369;	       tmp635 = tmp3 - tmp6;	       tmp636 = tmp137 - tmp140;	       tmp637 = tmp635 - tmp636;	       tmp755 = tmp635 + tmp636;	       {		    fftw_real tmp196;		    fftw_real tmp199;		    fftw_real tmp372;		    fftw_real tmp373;		    ASSERT_ALIGNED_DOUBLE;		    tmp196 = tmp194 - tmp195;		    tmp199 = tmp197 + tmp198;		    tmp200 = K707106781 * (tmp196 - tmp199);		    tmp538 = K707106781 * (tmp196 + tmp199);		    tmp372 = tmp197 - tmp198;		    tmp373 = tmp195 + tmp194;		    tmp374 = K707106781 * (tmp372 - tmp373);		    tmp472 = K707106781 * (tmp373 + tmp372);	       }	  }     }     {	  fftw_real tmp97;	  fftw_real tmp313;	  fftw_real tmp357;	  fftw_real tmp706;	  fftw_real tmp100;	  fftw_real tmp354;	  fftw_real tmp316;	  fftw_real tmp707;	  fftw_real tmp107;	  fftw_real tmp691;	  fftw_real tmp327;	  fftw_real tmp359;	  fftw_real tmp104;	  fftw_real tmp690;	  fftw_real tmp322;	  fftw_real tmp360;	  ASSERT_ALIGNED_DOUBLE;	  {	       fftw_real tmp95;	       fftw_real tmp96;	       fftw_real tmp314;	       fftw_real tmp315;	       ASSERT_ALIGNED_DOUBLE;	       tmp95 = c_re(input[63 * istride]);	       tmp96 = c_re(input[31 * istride]);	       tmp97 = tmp95 + tmp96;	       tmp313 = tmp95 - tmp96;	       {		    fftw_real tmp355;		    fftw_real tmp356;		    fftw_real tmp98;		    fftw_real tmp99;		    ASSERT_ALIGNED_DOUBLE;		    tmp355 = c_im(input[63 * istride]);		    tmp356 = c_im(input[31 * istride]);		    tmp357 = tmp355 - tmp356;		    tmp706 = tmp355 + tmp356;		    tmp98 = c_re(input[15 * istride]);		    tmp99 = c_re(input[47 * istride]);		    tmp100 = tmp98 + tmp99;		    tmp354 = tmp98 - tmp99;	       }	       tmp314 = c_im(input[15 * istride]);	       tmp315 = c_im(input[47 * istride]);	       tmp316 = tmp314 - tmp315;	       tmp707 = tmp314 + tmp315;	       {		    fftw_real tmp105;		    fftw_real tmp106;		    fftw_real tmp323;		    fftw_real tmp324;		    fftw_real tmp325;		    fftw_real tmp326;		    ASSERT_ALIGNED_DOUBLE;		    tmp105 = c_re(input[55 * istride]);		    tmp106 = c_re(input[23 * istride]);		    tmp323 = tmp105 - tmp106;		    tmp324 = c_im(input[55 * istride]);		    tmp325 = c_im(input[23 * istride]);		    tmp326 = tmp324 - tmp325;		    tmp107 = tmp105 + tmp106;		    tmp691 = tmp324 + tmp325;		    tmp327 = tmp323 + tmp326;		    tmp359 = tmp323 - tmp326;	       }	       {		    fftw_real tmp102;		    fftw_real tmp103;		    fftw_real tmp321;		    fftw_real tmp318;		    fftw_real tmp319;		    fftw_real tmp320;		    ASSERT_ALIGNED_DOUBLE;		    tmp102 = c_re(input[7 * istride]);		    tmp103 = c_re(input[39 * istride]);		    tmp321 = tmp102 - tmp103;		    tmp318 = c_im(input[7 * istride]);		    tmp319 = c_im(input[39 * istride]);		    tmp320 = tmp318 - tmp319;		    tmp104 = tmp102 + tmp103;		    tmp690 = tmp318 + tmp319;		    tmp322 = tmp320 - tmp321;		    tmp360 = tmp321 + tmp320;	       }	  }	  {	       fftw_real tmp101;	       fftw_real tmp108;	       fftw_real tmp689;	       fftw_real tmp692;	       ASSERT_ALIGNED_DOUBLE;	       tmp101 = tmp97 + tmp100;	       tmp108 = tmp104 + tmp107;	       tmp109 = tmp101 + tmp108;	       tmp837 = tmp101 - tmp108;	       tmp689 = tmp97 - tmp100;	       tmp692 = tmp690 - tmp691;	       tmp693 = tmp689 - tmp692;	       tmp773 = tmp689 + tmp692;	  }	  {	       fftw_real tmp842;	       fftw_real tmp843;	       fftw_real tmp708;	       fftw_real tmp709;	       ASSERT_ALIGNED_DOUBLE;	       tmp842 = tmp706 + tmp707;	       tmp843 = tmp690 + tmp691;	       tmp844 = tmp842 - tmp843;	       tmp892 = tmp842 + tmp843;	       tmp708 = tmp706 - tmp707;	       tmp709 = tmp107 - tmp104;	       tmp710 = tmp708 - tmp709;	       tmp776 = tmp709 + tmp708;	  }

⌨️ 快捷键说明

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