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

📄 fhb_9.c

📁 完整的3D 模型检索程序
💻 C
📖 第 1 页 / 共 2 页
字号:
/* * Copyright (c) 1997-1999 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 Sun Nov  7 20:45:14 EST 1999 */#include "fftw-int.h"#include "fftw.h"/* Generated by: ./genfft -magic-alignment-check -magic-twiddle-load-all -magic-variables 4 -magic-loopi -hc2hc-backward 9 *//* * This function contains 183 FP additions, 122 FP multiplications, * (or, 130 additions, 69 multiplications, 53 fused multiply/add), * 43 stack variables, and 72 memory accesses */static const fftw_real K663413948 = FFTW_KONST(+0.663413948168938396205421319635891297216863310);static const fftw_real K556670399 = FFTW_KONST(+0.556670399226419366452912952047023132968291906);static const fftw_real K296198132 = FFTW_KONST(+0.296198132726023843175338011893050938967728390);static const fftw_real K150383733 = FFTW_KONST(+0.150383733180435296639271897612501926072238258);static const fftw_real K813797681 = FFTW_KONST(+0.813797681349373692844693217248393223289101568);static const fftw_real K852868531 = FFTW_KONST(+0.852868531952443209628250963940074071936020296);static const fftw_real K939692620 = FFTW_KONST(+0.939692620785908384054109277324731469936208134);static const fftw_real K342020143 = FFTW_KONST(+0.342020143325668733044099614682259580763083368);static const fftw_real K984807753 = FFTW_KONST(+0.984807753012208059366743024589523013670643252);static const fftw_real K173648177 = FFTW_KONST(+0.173648177666930348851716626769314796000375677);static const fftw_real K300767466 = FFTW_KONST(+0.300767466360870593278543795225003852144476517);static const fftw_real K1_705737063 = FFTW_KONST(+1.705737063904886419256501927880148143872040591);static const fftw_real K642787609 = FFTW_KONST(+0.642787609686539326322643409907263432907559884);static const fftw_real K766044443 = FFTW_KONST(+0.766044443118978035202392650555416673935832457);static const fftw_real K1_326827896 = FFTW_KONST(+1.326827896337876792410842639271782594433726619);static const fftw_real K1_113340798 = FFTW_KONST(+1.113340798452838732905825904094046265936583811);static const fftw_real K500000000 = FFTW_KONST(+0.500000000000000000000000000000000000000000000);static const fftw_real K866025403 = FFTW_KONST(+0.866025403784438646763723170752936183471402627);static const fftw_real K2_000000000 = FFTW_KONST(+2.000000000000000000000000000000000000000000000);static const fftw_real K1_732050807 = FFTW_KONST(+1.732050807568877293527446341505872366942805254);/* * Generator Id's :  * $Id: exprdag.ml,v 1.41 1999/05/26 15:44:14 fftw Exp $ * $Id: fft.ml,v 1.43 1999/05/17 19:44:18 fftw Exp $ * $Id: to_c.ml,v 1.25 1999/10/26 21:41:32 stevenj Exp $ */void fftw_hc2hc_backward_9(fftw_real *A, const fftw_complex *W, int iostride, int m, int dist){     int i;     fftw_real *X;     fftw_real *Y;     X = A;     Y = A + (9 * iostride);     {	  fftw_real tmp153;	  fftw_real tmp181;	  fftw_real tmp175;	  fftw_real tmp160;	  fftw_real tmp163;	  fftw_real tmp158;	  fftw_real tmp167;	  fftw_real tmp178;	  fftw_real tmp170;	  fftw_real tmp179;	  fftw_real tmp159;	  fftw_real tmp164;	  ASSERT_ALIGNED_DOUBLE;	  {	       fftw_real tmp174;	       fftw_real tmp151;	       fftw_real tmp152;	       fftw_real tmp172;	       fftw_real tmp173;	       ASSERT_ALIGNED_DOUBLE;	       tmp173 = Y[-3 * iostride];	       tmp174 = K1_732050807 * tmp173;	       tmp151 = X[0];	       tmp152 = X[3 * iostride];	       tmp172 = tmp152 - tmp151;	       tmp153 = tmp151 + (K2_000000000 * tmp152);	       tmp181 = tmp174 - tmp172;	       tmp175 = tmp172 + tmp174;	  }	  {	       fftw_real tmp154;	       fftw_real tmp157;	       fftw_real tmp168;	       fftw_real tmp166;	       fftw_real tmp165;	       fftw_real tmp169;	       ASSERT_ALIGNED_DOUBLE;	       tmp154 = X[iostride];	       tmp160 = Y[-iostride];	       {		    fftw_real tmp155;		    fftw_real tmp156;		    fftw_real tmp161;		    fftw_real tmp162;		    ASSERT_ALIGNED_DOUBLE;		    tmp155 = X[4 * iostride];		    tmp156 = X[2 * iostride];		    tmp157 = tmp155 + tmp156;		    tmp168 = K866025403 * (tmp155 - tmp156);		    tmp161 = Y[-2 * iostride];		    tmp162 = Y[-4 * iostride];		    tmp163 = tmp161 - tmp162;		    tmp166 = K866025403 * (tmp162 + tmp161);	       }	       tmp158 = tmp154 + tmp157;	       tmp165 = tmp154 - (K500000000 * tmp157);	       tmp167 = tmp165 - tmp166;	       tmp178 = tmp165 + tmp166;	       tmp169 = (K500000000 * tmp163) + tmp160;	       tmp170 = tmp168 + tmp169;	       tmp179 = tmp169 - tmp168;	  }	  X[0] = tmp153 + (K2_000000000 * tmp158);	  tmp159 = tmp153 - tmp158;	  tmp164 = K1_732050807 * (tmp160 - tmp163);	  X[6 * iostride] = tmp159 + tmp164;	  X[3 * iostride] = tmp159 - tmp164;	  {	       fftw_real tmp176;	       fftw_real tmp171;	       fftw_real tmp177;	       fftw_real tmp183;	       fftw_real tmp180;	       fftw_real tmp182;	       ASSERT_ALIGNED_DOUBLE;	       tmp176 = (K1_113340798 * tmp167) + (K1_326827896 * tmp170);	       tmp171 = (K766044443 * tmp167) - (K642787609 * tmp170);	       tmp177 = tmp171 + tmp175;	       X[iostride] = (K2_000000000 * tmp171) - tmp175;	       X[7 * iostride] = tmp176 - tmp177;	       X[4 * iostride] = -(tmp176 + tmp177);	       tmp183 = (K1_705737063 * tmp178) + (K300767466 * tmp179);	       tmp180 = (K173648177 * tmp178) - (K984807753 * tmp179);	       tmp182 = tmp181 - tmp180;	       X[2 * iostride] = (K2_000000000 * tmp180) + tmp181;	       X[8 * iostride] = tmp183 + tmp182;	       X[5 * iostride] = tmp182 - tmp183;	  }     }     X = X + dist;     Y = Y - dist;     for (i = 2; i < m; i = i + 2, X = X + dist, Y = Y - dist, W = W + 8) {	  fftw_real tmp43;	  fftw_real tmp86;	  fftw_real tmp134;	  fftw_real tmp59;	  fftw_real tmp106;	  fftw_real tmp124;	  fftw_real tmp48;	  fftw_real tmp53;	  fftw_real tmp54;	  fftw_real tmp100;	  fftw_real tmp108;	  fftw_real tmp130;	  fftw_real tmp136;	  fftw_real tmp127;	  fftw_real tmp135;	  fftw_real tmp93;	  fftw_real tmp107;	  fftw_real tmp64;	  fftw_real tmp69;	  fftw_real tmp70;	  ASSERT_ALIGNED_DOUBLE;	  {	       fftw_real tmp39;	       fftw_real tmp55;	       fftw_real tmp42;	       fftw_real tmp104;	       fftw_real tmp58;	       fftw_real tmp85;	       fftw_real tmp84;	       fftw_real tmp105;	       ASSERT_ALIGNED_DOUBLE;	       tmp39 = X[0];	       tmp55 = Y[0];	       {		    fftw_real tmp40;		    fftw_real tmp41;		    fftw_real tmp56;		    fftw_real tmp57;		    ASSERT_ALIGNED_DOUBLE;		    tmp40 = X[3 * iostride];		    tmp41 = Y[-6 * iostride];		    tmp42 = tmp40 + tmp41;		    tmp104 = K866025403 * (tmp40 - tmp41);		    tmp56 = Y[-3 * iostride];		    tmp57 = X[6 * iostride];		    tmp58 = tmp56 - tmp57;		    tmp85 = K866025403 * (tmp56 + tmp57);	       }	       tmp43 = tmp39 + tmp42;	       tmp84 = tmp39 - (K500000000 * tmp42);	       tmp86 = tmp84 - tmp85;	       tmp134 = tmp84 + tmp85;	       tmp59 = tmp55 + tmp58;	       tmp105 = tmp55 - (K500000000 * tmp58);	       tmp106 = tmp104 + tmp105;	       tmp124 = tmp105 - tmp104;	  }	  {	       fftw_real tmp44;	       fftw_real tmp47;	       fftw_real tmp87;	       fftw_real tmp90;	       fftw_real tmp60;	       fftw_real tmp63;	       fftw_real tmp88;	       fftw_real tmp91;	       fftw_real tmp49;	       fftw_real tmp52;	       fftw_real tmp94;	       fftw_real tmp97;	       fftw_real tmp65;	       fftw_real tmp68;	       fftw_real tmp95;	       fftw_real tmp98;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp45;		    fftw_real tmp46;		    fftw_real tmp61;		    fftw_real tmp62;		    ASSERT_ALIGNED_DOUBLE;		    tmp44 = X[iostride];		    tmp45 = X[4 * iostride];		    tmp46 = Y[-7 * iostride];		    tmp47 = tmp45 + tmp46;		    tmp87 = tmp44 - (K500000000 * tmp47);		    tmp90 = K866025403 * (tmp45 - tmp46);		    tmp60 = Y[-iostride];		    tmp61 = Y[-4 * iostride];		    tmp62 = X[7 * iostride];		    tmp63 = tmp61 - tmp62;		    tmp88 = K866025403 * (tmp61 + tmp62);		    tmp91 = tmp60 - (K500000000 * tmp63);	       }	       {		    fftw_real tmp50;		    fftw_real tmp51;		    fftw_real tmp66;		    fftw_real tmp67;		    ASSERT_ALIGNED_DOUBLE;		    tmp49 = X[2 * iostride];		    tmp50 = Y[-5 * iostride];		    tmp51 = Y[-8 * iostride];		    tmp52 = tmp50 + tmp51;		    tmp94 = tmp49 - (K500000000 * tmp52);		    tmp97 = K866025403 * (tmp50 - tmp51);		    tmp65 = Y[-2 * iostride];		    tmp66 = X[5 * iostride];		    tmp67 = X[8 * iostride];		    tmp68 = tmp66 + tmp67;		    tmp95 = K866025403 * (tmp66 - tmp67);		    tmp98 = tmp65 + (K500000000 * tmp68);	       }	       tmp48 = tmp44 + tmp47;	       tmp53 = tmp49 + tmp52;	       tmp54 = tmp48 + tmp53;	       {		    fftw_real tmp96;		    fftw_real tmp99;		    fftw_real tmp128;		    fftw_real tmp129;		    ASSERT_ALIGNED_DOUBLE;		    tmp96 = tmp94 + tmp95;

⌨️ 快捷键说明

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