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

📄 fhb_32.c

📁 完整的3D 模型检索程序
💻 C
📖 第 1 页 / 共 5 页
字号:
/* * 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:18 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 32 *//* * This function contains 764 FP additions, 346 FP multiplications, * (or, 618 additions, 200 multiplications, 146 fused multiply/add), * 93 stack variables, and 256 memory accesses */static const fftw_real K1_662939224 = FFTW_KONST(+1.662939224605090474157576755235811513477121624);static const fftw_real K1_111140466 = FFTW_KONST(+1.111140466039204449485661627897065748749874382);static const fftw_real K390180644 = FFTW_KONST(+0.390180644032256535696569736954044481855383236);static const fftw_real K1_961570560 = FFTW_KONST(+1.961570560806460898252364472268478073947867462);static const fftw_real K1_913880671 = FFTW_KONST(+1.913880671464417729871595773960539938965698411);static const fftw_real K580569354 = FFTW_KONST(+0.580569354508924735272384751634790549382952557);static const fftw_real K942793473 = FFTW_KONST(+0.942793473651995297112775251810508755314920638);static const fftw_real K1_763842528 = FFTW_KONST(+1.763842528696710059425513727320776699016885241);static const fftw_real K1_546020906 = FFTW_KONST(+1.546020906725473921621813219516939601942082586);static const fftw_real K1_268786568 = FFTW_KONST(+1.268786568327290996430343226450986741351374190);static const fftw_real K196034280 = FFTW_KONST(+0.196034280659121203988391127777283691722273346);static const fftw_real K1_990369453 = FFTW_KONST(+1.990369453344393772489673906218959843150949737);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);static const fftw_real K765366864 = FFTW_KONST(+0.765366864730179543456919968060797733522689125);static const fftw_real K1_847759065 = FFTW_KONST(+1.847759065022573512256366378793576573644833252);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 K1_414213562 = FFTW_KONST(+1.414213562373095048801688724209698078569671875);static const fftw_real K2_000000000 = FFTW_KONST(+2.000000000000000000000000000000000000000000000);/* * 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_32(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 + (32 * iostride);     {	  fftw_real tmp679;	  fftw_real tmp804;	  fftw_real tmp766;	  fftw_real tmp707;	  fftw_real tmp702;	  fftw_real tmp728;	  fftw_real tmp726;	  fftw_real tmp753;	  fftw_real tmp815;	  fftw_real tmp819;	  fftw_real tmp789;	  fftw_real tmp793;	  fftw_real tmp676;	  fftw_real tmp704;	  fftw_real tmp763;	  fftw_real tmp803;	  fftw_real tmp687;	  fftw_real tmp709;	  fftw_real tmp716;	  fftw_real tmp749;	  fftw_real tmp770;	  fftw_real tmp806;	  fftw_real tmp773;	  fftw_real tmp807;	  fftw_real tmp695;	  fftw_real tmp719;	  fftw_real tmp735;	  fftw_real tmp752;	  fftw_real tmp812;	  fftw_real tmp818;	  fftw_real tmp782;	  fftw_real tmp792;	  ASSERT_ALIGNED_DOUBLE;	  {	       fftw_real tmp677;	       fftw_real tmp678;	       fftw_real tmp764;	       fftw_real tmp705;	       fftw_real tmp706;	       fftw_real tmp765;	       ASSERT_ALIGNED_DOUBLE;	       tmp677 = X[4 * iostride];	       tmp678 = X[12 * iostride];	       tmp764 = tmp677 - tmp678;	       tmp705 = Y[-4 * iostride];	       tmp706 = Y[-12 * iostride];	       tmp765 = tmp706 + tmp705;	       tmp679 = K2_000000000 * (tmp677 + tmp678);	       tmp804 = K1_414213562 * (tmp764 + tmp765);	       tmp766 = K1_414213562 * (tmp764 - tmp765);	       tmp707 = K2_000000000 * (tmp705 - tmp706);	  }	  {	       fftw_real tmp698;	       fftw_real tmp783;	       fftw_real tmp725;	       fftw_real tmp787;	       fftw_real tmp701;	       fftw_real tmp786;	       fftw_real tmp722;	       fftw_real tmp784;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp696;		    fftw_real tmp697;		    fftw_real tmp723;		    fftw_real tmp724;		    ASSERT_ALIGNED_DOUBLE;		    tmp696 = X[3 * iostride];		    tmp697 = X[13 * iostride];		    tmp698 = tmp696 + tmp697;		    tmp783 = tmp696 - tmp697;		    tmp723 = Y[-3 * iostride];		    tmp724 = Y[-13 * iostride];		    tmp725 = tmp723 - tmp724;		    tmp787 = tmp723 + tmp724;	       }	       {		    fftw_real tmp699;		    fftw_real tmp700;		    fftw_real tmp720;		    fftw_real tmp721;		    ASSERT_ALIGNED_DOUBLE;		    tmp699 = X[5 * iostride];		    tmp700 = X[11 * iostride];		    tmp701 = tmp699 + tmp700;		    tmp786 = tmp700 - tmp699;		    tmp720 = Y[-5 * iostride];		    tmp721 = Y[-11 * iostride];		    tmp722 = tmp720 - tmp721;		    tmp784 = tmp721 + tmp720;	       }	       tmp702 = tmp698 + tmp701;	       tmp728 = tmp701 - tmp698;	       tmp726 = tmp722 + tmp725;	       tmp753 = tmp725 - tmp722;	       {		    fftw_real tmp813;		    fftw_real tmp814;		    fftw_real tmp785;		    fftw_real tmp788;		    ASSERT_ALIGNED_DOUBLE;		    tmp813 = tmp783 + tmp784;		    tmp814 = tmp787 - tmp786;		    tmp815 = (K980785280 * tmp813) - (K195090322 * tmp814);		    tmp819 = (K195090322 * tmp813) + (K980785280 * tmp814);		    tmp785 = tmp783 - tmp784;		    tmp788 = tmp786 + tmp787;		    tmp789 = (K831469612 * tmp785) - (K555570233 * tmp788);		    tmp793 = (K555570233 * tmp785) + (K831469612 * tmp788);	       }	  }	  {	       fftw_real tmp675;	       fftw_real tmp762;	       fftw_real tmp673;	       fftw_real tmp760;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp674;		    fftw_real tmp761;		    fftw_real tmp671;		    fftw_real tmp672;		    ASSERT_ALIGNED_DOUBLE;		    tmp674 = X[8 * iostride];		    tmp675 = K2_000000000 * tmp674;		    tmp761 = Y[-8 * iostride];		    tmp762 = K2_000000000 * tmp761;		    tmp671 = X[0];		    tmp672 = X[16 * iostride];		    tmp673 = tmp671 + tmp672;		    tmp760 = tmp671 - tmp672;	       }	       tmp676 = tmp673 + tmp675;	       tmp704 = tmp673 - tmp675;	       tmp763 = tmp760 - tmp762;	       tmp803 = tmp760 + tmp762;	  }	  {	       fftw_real tmp683;	       fftw_real tmp768;	       fftw_real tmp715;	       fftw_real tmp772;	       fftw_real tmp686;	       fftw_real tmp771;	       fftw_real tmp712;	       fftw_real tmp769;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp681;		    fftw_real tmp682;		    fftw_real tmp713;		    fftw_real tmp714;		    ASSERT_ALIGNED_DOUBLE;		    tmp681 = X[2 * iostride];		    tmp682 = X[14 * iostride];		    tmp683 = tmp681 + tmp682;		    tmp768 = tmp681 - tmp682;		    tmp713 = Y[-2 * iostride];		    tmp714 = Y[-14 * iostride];		    tmp715 = tmp713 - tmp714;		    tmp772 = tmp713 + tmp714;	       }	       {		    fftw_real tmp684;		    fftw_real tmp685;		    fftw_real tmp710;		    fftw_real tmp711;		    ASSERT_ALIGNED_DOUBLE;		    tmp684 = X[6 * iostride];		    tmp685 = X[10 * iostride];		    tmp686 = tmp684 + tmp685;		    tmp771 = tmp685 - tmp684;		    tmp710 = Y[-6 * iostride];		    tmp711 = Y[-10 * iostride];		    tmp712 = tmp710 - tmp711;		    tmp769 = tmp711 + tmp710;	       }	       tmp687 = K2_000000000 * (tmp683 + tmp686);	       tmp709 = tmp683 - tmp686;	       tmp716 = tmp712 + tmp715;	       tmp749 = K2_000000000 * (tmp715 - tmp712);	       tmp770 = tmp768 - tmp769;	       tmp806 = tmp768 + tmp769;	       tmp773 = tmp771 + tmp772;	       tmp807 = tmp772 - tmp771;	  }	  {	       fftw_real tmp691;	       fftw_real tmp776;	       fftw_real tmp734;	       fftw_real tmp780;	       fftw_real tmp694;	       fftw_real tmp779;	       fftw_real tmp731;	       fftw_real tmp777;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp689;		    fftw_real tmp690;		    fftw_real tmp732;		    fftw_real tmp733;		    ASSERT_ALIGNED_DOUBLE;		    tmp689 = X[iostride];		    tmp690 = X[15 * iostride];		    tmp691 = tmp689 + tmp690;		    tmp776 = tmp689 - tmp690;		    tmp732 = Y[-iostride];		    tmp733 = Y[-15 * iostride];		    tmp734 = tmp732 - tmp733;		    tmp780 = tmp732 + tmp733;	       }	       {		    fftw_real tmp692;		    fftw_real tmp693;		    fftw_real tmp729;		    fftw_real tmp730;		    ASSERT_ALIGNED_DOUBLE;		    tmp692 = X[7 * iostride];		    tmp693 = X[9 * iostride];		    tmp694 = tmp692 + tmp693;		    tmp779 = tmp693 - tmp692;		    tmp729 = Y[-7 * iostride];		    tmp730 = Y[-9 * iostride];		    tmp731 = tmp729 - tmp730;		    tmp777 = tmp730 + tmp729;	       }	       tmp695 = tmp691 + tmp694;	       tmp719 = tmp691 - tmp694;	       tmp735 = tmp731 + tmp734;	       tmp752 = tmp734 - tmp731;	       {		    fftw_real tmp810;		    fftw_real tmp811;		    fftw_real tmp778;		    fftw_real tmp781;		    ASSERT_ALIGNED_DOUBLE;		    tmp810 = tmp776 + tmp777;		    tmp811 = tmp780 - tmp779;		    tmp812 = (K555570233 * tmp810) + (K831469612 * tmp811);		    tmp818 = (K831469612 * tmp810) - (K555570233 * tmp811);		    tmp778 = tmp776 - tmp777;		    tmp781 = tmp779 + tmp780;		    tmp782 = (K980785280 * tmp778) - (K195090322 * tmp781);		    tmp792 = (K195090322 * tmp778) + (K980785280 * tmp781);	       }	  }	  {	       fftw_real tmp703;	       fftw_real tmp759;	       fftw_real tmp688;	       fftw_real tmp758;	       fftw_real tmp680;	       ASSERT_ALIGNED_DOUBLE;	       tmp703 = K2_000000000 * (tmp695 + tmp702);	       tmp759 = K2_000000000 * (tmp752 - tmp753);	       tmp680 = tmp676 + tmp679;	       tmp688 = tmp680 + tmp687;	       tmp758 = tmp680 - tmp687;	       X[16 * iostride] = tmp688 - tmp703;	       X[0] = tmp688 + tmp703;	       X[24 * iostride] = tmp758 + tmp759;	       X[8 * iostride] = tmp758 - tmp759;	  }	  {	       fftw_real tmp750;	       fftw_real tmp756;	       fftw_real tmp755;	       fftw_real tmp757;	       fftw_real tmp748;	       fftw_real tmp751;	       fftw_real tmp754;	       ASSERT_ALIGNED_DOUBLE;	       tmp748 = tmp676 - tmp679;	       tmp750 = tmp748 - tmp749;	       tmp756 = tmp748 + tmp749;	       tmp751 = tmp695 - tmp702;	       tmp754 = tmp752 + tmp753;	       tmp755 = K1_414213562 * (tmp751 - tmp754);	       tmp757 = K1_414213562 * (tmp751 + tmp754);	       X[20 * iostride] = tmp750 - tmp755;	       X[4 * iostride] = tmp750 + tmp755;	       X[12 * iostride] = tmp756 - tmp757;	       X[28 * iostride] = tmp756 + tmp757;	  }	  {	       fftw_real tmp718;	       fftw_real tmp738;	       fftw_real tmp737;	       fftw_real tmp739;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp708;		    fftw_real tmp717;		    fftw_real tmp727;		    fftw_real tmp736;		    ASSERT_ALIGNED_DOUBLE;		    tmp708 = tmp704 - tmp707;		    tmp717 = K1_414213562 * (tmp709 - tmp716);		    tmp718 = tmp708 + tmp717;		    tmp738 = tmp708 - tmp717;		    tmp727 = tmp719 - tmp726;		    tmp736 = tmp728 + tmp735;		    tmp737 = (K1_847759065 * tmp727) - (K765366864 * tmp736);		    tmp739 = (K1_847759065 * tmp736) + (K765366864 * tmp727);	       }	       X[18 * iostride] = tmp718 - tmp737;	       X[2 * iostride] = tmp718 + tmp737;	       X[10 * iostride] = tmp738 - tmp739;	       X[26 * iostride] = tmp738 + tmp739;	  }	  {	       fftw_real tmp742;	       fftw_real tmp746;	       fftw_real tmp745;	       fftw_real tmp747;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp740;		    fftw_real tmp741;		    fftw_real tmp743;		    fftw_real tmp744;		    ASSERT_ALIGNED_DOUBLE;		    tmp740 = tmp704 + tmp707;		    tmp741 = K1_414213562 * (tmp709 + tmp716);		    tmp742 = tmp740 - tmp741;		    tmp746 = tmp740 + tmp741;		    tmp743 = tmp719 + tmp726;		    tmp744 = tmp735 - tmp728;		    tmp745 = (K765366864 * tmp743) - (K1_847759065 * tmp744);		    tmp747 = (K765366864 * tmp744) + (K1_847759065 * tmp743);	       }	       X[22 * iostride] = tmp742 - tmp745;	       X[6 * iostride] = tmp742 + tmp745;	       X[14 * iostride] = tmp746 - tmp747;	       X[30 * iostride] = tmp746 + tmp747;	  }	  {	       fftw_real tmp790;	       fftw_real tmp794;	       fftw_real tmp775;	       fftw_real tmp791;	       fftw_real tmp767;	       fftw_real tmp774;	       ASSERT_ALIGNED_DOUBLE;	       tmp790 = K2_000000000 * (tmp782 + tmp789);	       tmp794 = K2_000000000 * (tmp792 - tmp793);	       tmp767 = tmp763 + tmp766;	       tmp774 = (K1_847759065 * tmp770) - (K765366864 * tmp773);	       tmp775 = tmp767 + tmp774;	       tmp791 = tmp767 - tmp774;	       X[17 * iostride] = tmp775 - tmp790;	       X[iostride] = tmp775 + tmp790;	       X[9 * iostride] = tmp791 - tmp794;	       X[25 * iostride] = tmp791 + tmp794;	  }	  {	       fftw_real tmp797;	       fftw_real tmp801;	       fftw_real tmp800;	       fftw_real tmp802;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp795;		    fftw_real tmp796;		    fftw_real tmp798;		    fftw_real tmp799;		    ASSERT_ALIGNED_DOUBLE;		    tmp795 = tmp763 - tmp766;		    tmp796 = (K765366864 * tmp770) + (K1_847759065 * tmp773);		    tmp797 = tmp795 - tmp796;		    tmp801 = tmp795 + tmp796;		    tmp798 = tmp782 - tmp789;		    tmp799 = tmp792 + tmp793;		    tmp800 = K1_414213562 * (tmp798 - tmp799);		    tmp802 = K1_414213562 * (tmp798 + tmp799);	       }	       X[21 * iostride] = tmp797 - tmp800;	       X[5 * iostride] = tmp797 + tmp800;	       X[13 * iostride] = tmp801 - tmp802;

⌨️ 快捷键说明

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