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

📄 fhf_16.c

📁 FFTW, a collection of fast C routines to compute the Discrete Fourier Transform in one or more dime
💻 C
📖 第 1 页 / 共 2 页
字号:
	       tmp174 = tmp172 - tmp173;	       tmp175 = tmp171 + tmp174;	       tmp207 = tmp171 - tmp174;	  }	  {	       fftw_real tmp118;	       fftw_real tmp178;	       fftw_real tmp134;	       fftw_real tmp185;	       fftw_real tmp123;	       fftw_real tmp179;	       fftw_real tmp129;	       fftw_real tmp184;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp115;		    fftw_real tmp117;		    fftw_real tmp114;		    fftw_real tmp116;		    ASSERT_ALIGNED_DOUBLE;		    tmp115 = X[iostride];		    tmp117 = Y[-14 * iostride];		    tmp114 = c_re(W[0]);		    tmp116 = c_im(W[0]);		    tmp118 = (tmp114 * tmp115) - (tmp116 * tmp117);		    tmp178 = (tmp116 * tmp115) + (tmp114 * tmp117);	       }	       {		    fftw_real tmp131;		    fftw_real tmp133;		    fftw_real tmp130;		    fftw_real tmp132;		    ASSERT_ALIGNED_DOUBLE;		    tmp131 = X[13 * iostride];		    tmp133 = Y[-2 * iostride];		    tmp130 = c_re(W[12]);		    tmp132 = c_im(W[12]);		    tmp134 = (tmp130 * tmp131) - (tmp132 * tmp133);		    tmp185 = (tmp132 * tmp131) + (tmp130 * tmp133);	       }	       {		    fftw_real tmp120;		    fftw_real tmp122;		    fftw_real tmp119;		    fftw_real tmp121;		    ASSERT_ALIGNED_DOUBLE;		    tmp120 = X[9 * iostride];		    tmp122 = Y[-6 * iostride];		    tmp119 = c_re(W[8]);		    tmp121 = c_im(W[8]);		    tmp123 = (tmp119 * tmp120) - (tmp121 * tmp122);		    tmp179 = (tmp121 * tmp120) + (tmp119 * tmp122);	       }	       {		    fftw_real tmp126;		    fftw_real tmp128;		    fftw_real tmp125;		    fftw_real tmp127;		    ASSERT_ALIGNED_DOUBLE;		    tmp126 = X[5 * iostride];		    tmp128 = Y[-10 * iostride];		    tmp125 = c_re(W[4]);		    tmp127 = c_im(W[4]);		    tmp129 = (tmp125 * tmp126) - (tmp127 * tmp128);		    tmp184 = (tmp127 * tmp126) + (tmp125 * tmp128);	       }	       {		    fftw_real tmp183;		    fftw_real tmp186;		    fftw_real tmp180;		    fftw_real tmp181;		    ASSERT_ALIGNED_DOUBLE;		    tmp124 = tmp118 + tmp123;		    tmp135 = tmp129 + tmp134;		    tmp226 = tmp124 - tmp135;		    tmp183 = tmp118 - tmp123;		    tmp186 = tmp184 - tmp185;		    tmp187 = tmp183 - tmp186;		    tmp211 = tmp183 + tmp186;		    tmp227 = tmp178 + tmp179;		    tmp228 = tmp184 + tmp185;		    tmp229 = tmp227 - tmp228;		    tmp180 = tmp178 - tmp179;		    tmp181 = tmp129 - tmp134;		    tmp182 = tmp180 + tmp181;		    tmp210 = tmp180 - tmp181;	       }	  }	  {	       fftw_real tmp177;	       fftw_real tmp201;	       fftw_real tmp271;	       fftw_real tmp273;	       fftw_real tmp200;	       fftw_real tmp274;	       fftw_real tmp204;	       fftw_real tmp272;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp165;		    fftw_real tmp176;		    fftw_real tmp269;		    fftw_real tmp270;		    ASSERT_ALIGNED_DOUBLE;		    tmp165 = tmp161 - tmp164;		    tmp176 = K707106781 * (tmp170 - tmp175);		    tmp177 = tmp165 + tmp176;		    tmp201 = tmp165 - tmp176;		    tmp269 = K707106781 * (tmp207 - tmp206);		    tmp270 = tmp263 + tmp262;		    tmp271 = tmp269 + tmp270;		    tmp273 = tmp270 - tmp269;	       }	       {		    fftw_real tmp188;		    fftw_real tmp199;		    fftw_real tmp202;		    fftw_real tmp203;		    ASSERT_ALIGNED_DOUBLE;		    tmp188 = (K923879532 * tmp182) + (K382683432 * tmp187);		    tmp199 = (K382683432 * tmp193) - (K923879532 * tmp198);		    tmp200 = tmp188 + tmp199;		    tmp274 = tmp199 - tmp188;		    tmp202 = (K382683432 * tmp182) - (K923879532 * tmp187);		    tmp203 = (K382683432 * tmp198) + (K923879532 * tmp193);		    tmp204 = tmp202 - tmp203;		    tmp272 = tmp202 + tmp203;	       }	       Y[-11 * iostride] = tmp177 - tmp200;	       X[3 * iostride] = tmp177 + tmp200;	       Y[-15 * iostride] = tmp201 - tmp204;	       X[7 * iostride] = tmp201 + tmp204;	       X[11 * iostride] = -(tmp271 - tmp272);	       Y[-3 * iostride] = tmp272 + tmp271;	       X[15 * iostride] = -(tmp273 - tmp274);	       Y[-7 * iostride] = tmp274 + tmp273;	  }	  {	       fftw_real tmp209;	       fftw_real tmp217;	       fftw_real tmp265;	       fftw_real tmp267;	       fftw_real tmp216;	       fftw_real tmp268;	       fftw_real tmp220;	       fftw_real tmp266;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp205;		    fftw_real tmp208;		    fftw_real tmp261;		    fftw_real tmp264;		    ASSERT_ALIGNED_DOUBLE;		    tmp205 = tmp161 + tmp164;		    tmp208 = K707106781 * (tmp206 + tmp207);		    tmp209 = tmp205 + tmp208;		    tmp217 = tmp205 - tmp208;		    tmp261 = K707106781 * (tmp170 + tmp175);		    tmp264 = tmp262 - tmp263;		    tmp265 = tmp261 + tmp264;		    tmp267 = tmp264 - tmp261;	       }	       {		    fftw_real tmp212;		    fftw_real tmp215;		    fftw_real tmp218;		    fftw_real tmp219;		    ASSERT_ALIGNED_DOUBLE;		    tmp212 = (K382683432 * tmp210) + (K923879532 * tmp211);		    tmp215 = (K923879532 * tmp213) - (K382683432 * tmp214);		    tmp216 = tmp212 + tmp215;		    tmp268 = tmp215 - tmp212;		    tmp218 = (K923879532 * tmp210) - (K382683432 * tmp211);		    tmp219 = (K923879532 * tmp214) + (K382683432 * tmp213);		    tmp220 = tmp218 - tmp219;		    tmp266 = tmp218 + tmp219;	       }	       Y[-9 * iostride] = tmp209 - tmp216;	       X[iostride] = tmp209 + tmp216;	       Y[-13 * iostride] = tmp217 - tmp220;	       X[5 * iostride] = tmp217 + tmp220;	       X[9 * iostride] = -(tmp265 - tmp266);	       Y[-iostride] = tmp266 + tmp265;	       X[13 * iostride] = -(tmp267 - tmp268);	       Y[-5 * iostride] = tmp268 + tmp267;	  }	  {	       fftw_real tmp225;	       fftw_real tmp237;	       fftw_real tmp257;	       fftw_real tmp259;	       fftw_real tmp236;	       fftw_real tmp260;	       fftw_real tmp240;	       fftw_real tmp258;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp221;		    fftw_real tmp224;		    fftw_real tmp255;		    fftw_real tmp256;		    ASSERT_ALIGNED_DOUBLE;		    tmp221 = tmp77 - tmp88;		    tmp224 = tmp222 - tmp223;		    tmp225 = tmp221 + tmp224;		    tmp237 = tmp221 - tmp224;		    tmp255 = tmp111 - tmp100;		    tmp256 = tmp249 - tmp246;		    tmp257 = tmp255 + tmp256;		    tmp259 = tmp256 - tmp255;	       }	       {		    fftw_real tmp230;		    fftw_real tmp235;		    fftw_real tmp238;		    fftw_real tmp239;		    ASSERT_ALIGNED_DOUBLE;		    tmp230 = tmp226 + tmp229;		    tmp235 = tmp231 - tmp234;		    tmp236 = K707106781 * (tmp230 + tmp235);		    tmp260 = K707106781 * (tmp235 - tmp230);		    tmp238 = tmp229 - tmp226;		    tmp239 = tmp231 + tmp234;		    tmp240 = K707106781 * (tmp238 - tmp239);		    tmp258 = K707106781 * (tmp238 + tmp239);	       }	       Y[-10 * iostride] = tmp225 - tmp236;	       X[2 * iostride] = tmp225 + tmp236;	       Y[-14 * iostride] = tmp237 - tmp240;	       X[6 * iostride] = tmp237 + tmp240;	       X[10 * iostride] = -(tmp257 - tmp258);	       Y[-2 * iostride] = tmp258 + tmp257;	       X[14 * iostride] = -(tmp259 - tmp260);	       Y[-6 * iostride] = tmp260 + tmp259;	  }	  {	       fftw_real tmp113;	       fftw_real tmp241;	       fftw_real tmp251;	       fftw_real tmp253;	       fftw_real tmp160;	       fftw_real tmp254;	       fftw_real tmp244;	       fftw_real tmp252;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp89;		    fftw_real tmp112;		    fftw_real tmp245;		    fftw_real tmp250;		    ASSERT_ALIGNED_DOUBLE;		    tmp89 = tmp77 + tmp88;		    tmp112 = tmp100 + tmp111;		    tmp113 = tmp89 + tmp112;		    tmp241 = tmp89 - tmp112;		    tmp245 = tmp222 + tmp223;		    tmp250 = tmp246 + tmp249;		    tmp251 = tmp245 + tmp250;		    tmp253 = tmp250 - tmp245;	       }	       {		    fftw_real tmp136;		    fftw_real tmp159;		    fftw_real tmp242;		    fftw_real tmp243;		    ASSERT_ALIGNED_DOUBLE;		    tmp136 = tmp124 + tmp135;		    tmp159 = tmp147 + tmp158;		    tmp160 = tmp136 + tmp159;		    tmp254 = tmp159 - tmp136;		    tmp242 = tmp227 + tmp228;		    tmp243 = tmp232 + tmp233;		    tmp244 = tmp242 - tmp243;		    tmp252 = tmp242 + tmp243;	       }	       Y[-8 * iostride] = tmp113 - tmp160;	       X[0] = tmp113 + tmp160;	       Y[-12 * iostride] = tmp241 - tmp244;	       X[4 * iostride] = tmp241 + tmp244;	       X[8 * iostride] = -(tmp251 - tmp252);	       Y[0] = tmp252 + tmp251;	       X[12 * iostride] = -(tmp253 - tmp254);	       Y[-4 * iostride] = tmp254 + tmp253;	  }     }     if (i == m) {	  fftw_real tmp5;	  fftw_real tmp41;	  fftw_real tmp61;	  fftw_real tmp67;	  fftw_real tmp30;	  fftw_real tmp49;	  fftw_real tmp34;	  fftw_real tmp50;	  fftw_real tmp12;	  fftw_real tmp66;	  fftw_real tmp44;	  fftw_real tmp58;	  fftw_real tmp19;	  fftw_real tmp46;	  fftw_real tmp23;	  fftw_real tmp47;	  ASSERT_ALIGNED_DOUBLE;	  {	       fftw_real tmp1;	       fftw_real tmp60;	       fftw_real tmp4;	       fftw_real tmp59;	       fftw_real tmp2;	       fftw_real tmp3;	       ASSERT_ALIGNED_DOUBLE;	       tmp1 = X[0];	       tmp60 = X[8 * iostride];	       tmp2 = X[4 * iostride];	       tmp3 = X[12 * iostride];	       tmp4 = K707106781 * (tmp2 - tmp3);	       tmp59 = K707106781 * (tmp2 + tmp3);	       tmp5 = tmp1 + tmp4;	       tmp41 = tmp1 - tmp4;	       tmp61 = tmp59 + tmp60;	       tmp67 = tmp60 - tmp59;	  }	  {	       fftw_real tmp29;	       fftw_real tmp33;	       fftw_real tmp27;	       fftw_real tmp31;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp28;		    fftw_real tmp32;		    fftw_real tmp25;		    fftw_real tmp26;		    ASSERT_ALIGNED_DOUBLE;		    tmp28 = X[15 * iostride];		    tmp29 = K2_000000000 * tmp28;		    tmp32 = X[7 * iostride];		    tmp33 = K2_000000000 * tmp32;		    tmp25 = X[3 * iostride];		    tmp26 = X[11 * iostride];		    tmp27 = K1_414213562 * (tmp25 - tmp26);		    tmp31 = K1_414213562 * (tmp25 + tmp26);	       }	       tmp30 = tmp27 - tmp29;	       tmp49 = tmp27 + tmp29;	       tmp34 = tmp31 + tmp33;	       tmp50 = tmp33 - tmp31;	  }	  {	       fftw_real tmp8;	       fftw_real tmp42;	       fftw_real tmp11;	       fftw_real tmp43;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp6;		    fftw_real tmp7;		    fftw_real tmp9;		    fftw_real tmp10;		    ASSERT_ALIGNED_DOUBLE;		    tmp6 = X[2 * iostride];		    tmp7 = X[10 * iostride];		    tmp8 = (K923879532 * tmp6) - (K382683432 * tmp7);		    tmp42 = (K382683432 * tmp6) + (K923879532 * tmp7);		    tmp9 = X[6 * iostride];		    tmp10 = X[14 * iostride];		    tmp11 = (K382683432 * tmp9) - (K923879532 * tmp10);		    tmp43 = (K923879532 * tmp9) + (K382683432 * tmp10);	       }	       tmp12 = tmp8 + tmp11;	       tmp66 = tmp11 - tmp8;	       tmp44 = tmp42 - tmp43;	       tmp58 = tmp42 + tmp43;	  }	  {	       fftw_real tmp15;	       fftw_real tmp22;	       fftw_real tmp18;	       fftw_real tmp20;	       ASSERT_ALIGNED_DOUBLE;	       {		    fftw_real tmp14;		    fftw_real tmp21;		    fftw_real tmp16;		    fftw_real tmp17;		    ASSERT_ALIGNED_DOUBLE;		    tmp14 = X[iostride];		    tmp15 = K2_000000000 * tmp14;		    tmp21 = X[9 * iostride];		    tmp22 = K2_000000000 * tmp21;		    tmp16 = X[5 * iostride];		    tmp17 = X[13 * iostride];		    tmp18 = K1_414213562 * (tmp16 - tmp17);		    tmp20 = K1_414213562 * (tmp16 + tmp17);	       }	       tmp19 = tmp15 + tmp18;	       tmp46 = tmp15 - tmp18;	       tmp23 = tmp20 + tmp22;	       tmp47 = tmp22 - tmp20;	  }	  {	       fftw_real tmp13;	       fftw_real tmp62;	       fftw_real tmp36;	       fftw_real tmp57;	       fftw_real tmp24;	       fftw_real tmp35;	       ASSERT_ALIGNED_DOUBLE;	       tmp13 = tmp5 - tmp12;	       tmp62 = tmp58 + tmp61;	       tmp24 = (K097545161 * tmp19) + (K490392640 * tmp23);	       tmp35 = (K097545161 * tmp30) - (K490392640 * tmp34);	       tmp36 = tmp24 + tmp35;	       tmp57 = tmp35 - tmp24;	       X[4 * iostride] = tmp13 - tmp36;	       X[3 * iostride] = tmp13 + tmp36;	       Y[0] = tmp57 - tmp62;	       Y[-7 * iostride] = tmp57 + tmp62;	  }	  {	       fftw_real tmp37;	       fftw_real tmp64;	       fftw_real tmp40;	       fftw_real tmp63;	       fftw_real tmp38;	       fftw_real tmp39;	       ASSERT_ALIGNED_DOUBLE;	       tmp37 = tmp5 + tmp12;	       tmp64 = tmp61 - tmp58;	       tmp38 = (K490392640 * tmp19) - (K097545161 * tmp23);	       tmp39 = (K490392640 * tmp30) + (K097545161 * tmp34);	       tmp40 = tmp38 + tmp39;	       tmp63 = tmp39 - tmp38;	       X[7 * iostride] = tmp37 - tmp40;	       X[0] = tmp37 + tmp40;	       Y[-4 * iostride] = tmp63 - tmp64;	       Y[-3 * iostride] = tmp63 + tmp64;	  }	  {	       fftw_real tmp45;	       fftw_real tmp68;	       fftw_real tmp52;	       fftw_real tmp65;	       fftw_real tmp48;	       fftw_real tmp51;	       ASSERT_ALIGNED_DOUBLE;	       tmp45 = tmp41 + tmp44;	       tmp68 = tmp66 - tmp67;	       tmp48 = (K415734806 * tmp46) + (K277785116 * tmp47);	       tmp51 = (K415734806 * tmp49) + (K277785116 * tmp50);	       tmp52 = tmp48 - tmp51;	       tmp65 = tmp48 + tmp51;	       X[6 * iostride] = tmp45 - tmp52;	       X[iostride] = tmp45 + tmp52;	       Y[-5 * iostride] = -(tmp65 + tmp68);	       Y[-2 * iostride] = tmp68 - tmp65;	  }	  {	       fftw_real tmp53;	       fftw_real tmp70;	       fftw_real tmp56;	       fftw_real tmp69;	       fftw_real tmp54;	       fftw_real tmp55;	       ASSERT_ALIGNED_DOUBLE;	       tmp53 = tmp41 - tmp44;	       tmp70 = tmp66 + tmp67;	       tmp54 = (K415734806 * tmp50) - (K277785116 * tmp49);	       tmp55 = (K415734806 * tmp47) - (K277785116 * tmp46);	       tmp56 = tmp54 - tmp55;	       tmp69 = tmp55 + tmp54;	       X[5 * iostride] = tmp53 - tmp56;	       X[2 * iostride] = tmp53 + tmp56;	       Y[-6 * iostride] = tmp69 - tmp70;	       Y[-iostride] = tmp69 + tmp70;	  }     }}static const int twiddle_order[] =    { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };fftw_codelet_desc fftw_hc2hc_forward_16_desc = {     "fftw_hc2hc_forward_16",     (void (*)()) fftw_hc2hc_forward_16,     16,     FFTW_FORWARD,     FFTW_HC2HC,     355,     15,     twiddle_order,};

⌨️ 快捷键说明

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