📄 fhf_16.c
字号:
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 + -