本文整理汇总了C++中c_im函数的典型用法代码示例。如果您正苦于以下问题:C++ c_im函数的具体用法?C++ c_im怎么用?C++ c_im使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了c_im函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fftwi_no_twiddle_9
void fftwi_no_twiddle_9(const fftw_complex *input, fftw_complex *output,
int istride, int ostride)
{
fftw_real tmp5;
fftw_real tmp37;
fftw_real tmp57;
fftw_real tmp22;
fftw_real tmp56;
fftw_real tmp38;
fftw_real tmp10;
fftw_real tmp42;
fftw_real tmp66;
fftw_real tmp27;
fftw_real tmp45;
fftw_real tmp67;
fftw_real tmp15;
fftw_real tmp52;
fftw_real tmp69;
fftw_real tmp32;
fftw_real tmp49;
fftw_real tmp70;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp1;
fftw_real tmp2;
fftw_real tmp3;
fftw_real tmp4;
ASSERT_ALIGNED_DOUBLE;
tmp1 = c_re(input[0]);
tmp2 = c_re(input[3 * istride]);
tmp3 = c_re(input[6 * istride]);
tmp4 = tmp2 + tmp3;
tmp5 = tmp1 + tmp4;
tmp37 = tmp1 - (K500000000 * tmp4);
tmp57 = K866025403 * (tmp2 - tmp3);
}
{
fftw_real tmp18;
fftw_real tmp19;
fftw_real tmp20;
fftw_real tmp21;
ASSERT_ALIGNED_DOUBLE;
tmp18 = c_im(input[0]);
tmp19 = c_im(input[3 * istride]);
tmp20 = c_im(input[6 * istride]);
tmp21 = tmp19 + tmp20;
tmp22 = tmp18 + tmp21;
tmp56 = tmp18 - (K500000000 * tmp21);
tmp38 = K866025403 * (tmp20 - tmp19);
}
{
fftw_real tmp6;
fftw_real tmp23;
fftw_real tmp9;
fftw_real tmp44;
fftw_real tmp26;
fftw_real tmp41;
fftw_real tmp40;
fftw_real tmp43;
ASSERT_ALIGNED_DOUBLE;
tmp6 = c_re(input[istride]);
tmp23 = c_im(input[istride]);
{
fftw_real tmp7;
fftw_real tmp8;
fftw_real tmp24;
fftw_real tmp25;
ASSERT_ALIGNED_DOUBLE;
tmp7 = c_re(input[4 * istride]);
tmp8 = c_re(input[7 * istride]);
tmp9 = tmp7 + tmp8;
tmp44 = K866025403 * (tmp7 - tmp8);
tmp24 = c_im(input[4 * istride]);
tmp25 = c_im(input[7 * istride]);
tmp26 = tmp24 + tmp25;
tmp41 = K866025403 * (tmp25 - tmp24);
}
tmp10 = tmp6 + tmp9;
tmp40 = tmp6 - (K500000000 * tmp9);
tmp42 = tmp40 - tmp41;
tmp66 = tmp40 + tmp41;
tmp27 = tmp23 + tmp26;
tmp43 = tmp23 - (K500000000 * tmp26);
tmp45 = tmp43 - tmp44;
tmp67 = tmp44 + tmp43;
}
{
fftw_real tmp11;
fftw_real tmp28;
fftw_real tmp14;
fftw_real tmp48;
fftw_real tmp31;
fftw_real tmp51;
fftw_real tmp50;
fftw_real tmp47;
ASSERT_ALIGNED_DOUBLE;
tmp11 = c_re(input[2 * istride]);
tmp28 = c_im(input[2 * istride]);
{
fftw_real tmp12;
//.........这里部分代码省略.........
示例2: fftw_hc2hc_forward_7
void fftw_hc2hc_forward_7(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 + (7 * iostride);
{
fftw_real tmp86;
fftw_real tmp84;
fftw_real tmp88;
fftw_real tmp78;
fftw_real tmp85;
fftw_real tmp81;
fftw_real tmp87;
fftw_real tmp82;
fftw_real tmp83;
ASSERT_ALIGNED_DOUBLE;
tmp86 = X[0];
tmp82 = X[3 * iostride];
tmp83 = X[4 * iostride];
tmp84 = tmp82 - tmp83;
tmp88 = tmp82 + tmp83;
{
fftw_real tmp76;
fftw_real tmp77;
fftw_real tmp79;
fftw_real tmp80;
ASSERT_ALIGNED_DOUBLE;
tmp76 = X[2 * iostride];
tmp77 = X[5 * iostride];
tmp78 = tmp76 - tmp77;
tmp85 = tmp76 + tmp77;
tmp79 = X[iostride];
tmp80 = X[6 * iostride];
tmp81 = tmp79 - tmp80;
tmp87 = tmp79 + tmp80;
}
Y[-3 * iostride] =
(K781831482 * tmp78) - (K433883739 * tmp81) -
(K974927912 * tmp84);
Y[-iostride] =
-((K974927912 * tmp78) + (K433883739 * tmp84) +
(K781831482 * tmp81));
Y[-2 * iostride] =
(K433883739 * tmp78) + (K781831482 * tmp84) -
(K974927912 * tmp81);
X[2 * iostride] =
(K623489801 * tmp88) + tmp86 - (K222520933 * tmp87) -
(K900968867 * tmp85);
X[iostride] =
(K623489801 * tmp87) + tmp86 - (K900968867 * tmp88) -
(K222520933 * tmp85);
X[3 * iostride] =
(K623489801 * tmp85) + tmp86 - (K900968867 * tmp87) -
(K222520933 * tmp88);
X[0] = tmp85 + tmp88 + tmp87 + tmp86;
}
X = X + dist;
Y = Y - dist;
for (i = 2; i < m; i = i + 2, X = X + dist, Y = Y - dist, W = W + 6) {
fftw_real tmp14;
fftw_real tmp66;
fftw_real tmp25;
fftw_real tmp68;
fftw_real tmp51;
fftw_real tmp63;
fftw_real tmp36;
fftw_real tmp69;
fftw_real tmp57;
fftw_real tmp64;
fftw_real tmp47;
fftw_real tmp70;
fftw_real tmp54;
fftw_real tmp65;
ASSERT_ALIGNED_DOUBLE;
tmp14 = X[0];
tmp66 = Y[-6 * iostride];
{
fftw_real tmp19;
fftw_real tmp49;
fftw_real tmp24;
fftw_real tmp50;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp16;
fftw_real tmp18;
fftw_real tmp15;
fftw_real tmp17;
ASSERT_ALIGNED_DOUBLE;
tmp16 = X[iostride];
tmp18 = Y[-5 * iostride];
tmp15 = c_re(W[0]);
tmp17 = c_im(W[0]);
tmp19 = (tmp15 * tmp16) - (tmp17 * tmp18);
tmp49 = (tmp17 * tmp16) + (tmp15 * tmp18);
}
{
fftw_real tmp21;
//.........这里部分代码省略.........
示例3: fftw_twiddle_9
void fftw_twiddle_9(fftw_complex *A, const fftw_complex *W, int iostride, int m, int dist)
{
int i;
fftw_complex *inout;
inout = A;
for (i = m; i > 0; i = i - 1, inout = inout + dist, W = W + 8) {
fftw_real tmp1;
fftw_real tmp99;
fftw_real tmp52;
fftw_real tmp98;
fftw_real tmp105;
fftw_real tmp104;
fftw_real tmp12;
fftw_real tmp49;
fftw_real tmp47;
fftw_real tmp69;
fftw_real tmp86;
fftw_real tmp95;
fftw_real tmp74;
fftw_real tmp85;
fftw_real tmp30;
fftw_real tmp58;
fftw_real tmp82;
fftw_real tmp94;
fftw_real tmp63;
fftw_real tmp83;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp6;
fftw_real tmp50;
fftw_real tmp11;
fftw_real tmp51;
ASSERT_ALIGNED_DOUBLE;
tmp1 = c_re(inout[0]);
tmp99 = c_im(inout[0]);
{
fftw_real tmp3;
fftw_real tmp5;
fftw_real tmp2;
fftw_real tmp4;
ASSERT_ALIGNED_DOUBLE;
tmp3 = c_re(inout[3 * iostride]);
tmp5 = c_im(inout[3 * iostride]);
tmp2 = c_re(W[2]);
tmp4 = c_im(W[2]);
tmp6 = (tmp2 * tmp3) - (tmp4 * tmp5);
tmp50 = (tmp4 * tmp3) + (tmp2 * tmp5);
}
{
fftw_real tmp8;
fftw_real tmp10;
fftw_real tmp7;
fftw_real tmp9;
ASSERT_ALIGNED_DOUBLE;
tmp8 = c_re(inout[6 * iostride]);
tmp10 = c_im(inout[6 * iostride]);
tmp7 = c_re(W[5]);
tmp9 = c_im(W[5]);
tmp11 = (tmp7 * tmp8) - (tmp9 * tmp10);
tmp51 = (tmp9 * tmp8) + (tmp7 * tmp10);
}
tmp52 = K866025403 * (tmp50 - tmp51);
tmp98 = tmp50 + tmp51;
tmp105 = tmp99 - (K500000000 * tmp98);
tmp104 = K866025403 * (tmp11 - tmp6);
tmp12 = tmp6 + tmp11;
tmp49 = tmp1 - (K500000000 * tmp12);
}
{
fftw_real tmp35;
fftw_real tmp71;
fftw_real tmp40;
fftw_real tmp66;
fftw_real tmp45;
fftw_real tmp67;
fftw_real tmp46;
fftw_real tmp72;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp32;
fftw_real tmp34;
fftw_real tmp31;
fftw_real tmp33;
ASSERT_ALIGNED_DOUBLE;
tmp32 = c_re(inout[2 * iostride]);
tmp34 = c_im(inout[2 * iostride]);
tmp31 = c_re(W[1]);
tmp33 = c_im(W[1]);
tmp35 = (tmp31 * tmp32) - (tmp33 * tmp34);
tmp71 = (tmp33 * tmp32) + (tmp31 * tmp34);
}
{
fftw_real tmp37;
fftw_real tmp39;
fftw_real tmp36;
fftw_real tmp38;
ASSERT_ALIGNED_DOUBLE;
tmp37 = c_re(inout[5 * iostride]);
tmp39 = c_im(inout[5 * iostride]);
tmp36 = c_re(W[4]);
//.........这里部分代码省略.........
示例4: fftw_hc2hc_backward_3
void fftw_hc2hc_backward_3(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 + (3 * iostride);
{
fftw_real tmp30;
fftw_real tmp26;
fftw_real tmp27;
fftw_real tmp28;
fftw_real tmp29;
ASSERT_ALIGNED_DOUBLE;
tmp29 = Y[-iostride];
tmp30 = K1_732050807 * tmp29;
tmp26 = X[0];
tmp27 = X[iostride];
tmp28 = tmp26 - tmp27;
X[0] = tmp26 + (K2_000000000 * tmp27);
X[iostride] = tmp28 - tmp30;
X[2 * iostride] = tmp28 + tmp30;
}
X = X + dist;
Y = Y - dist;
for (i = 2; i < m; i = i + 2, X = X + dist, Y = Y - dist, W = W + 2) {
fftw_real tmp6;
fftw_real tmp9;
fftw_real tmp15;
fftw_real tmp19;
fftw_real tmp10;
fftw_real tmp13;
fftw_real tmp16;
fftw_real tmp20;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp7;
fftw_real tmp8;
fftw_real tmp11;
fftw_real tmp12;
ASSERT_ALIGNED_DOUBLE;
tmp6 = X[0];
tmp7 = X[iostride];
tmp8 = Y[-2 * iostride];
tmp9 = tmp7 + tmp8;
tmp15 = K866025403 * (tmp7 - tmp8);
tmp19 = tmp6 - (K500000000 * tmp9);
tmp10 = Y[0];
tmp11 = Y[-iostride];
tmp12 = X[2 * iostride];
tmp13 = tmp11 - tmp12;
tmp16 = tmp10 - (K500000000 * tmp13);
tmp20 = K866025403 * (tmp11 + tmp12);
}
X[0] = tmp6 + tmp9;
{
fftw_real tmp23;
fftw_real tmp25;
fftw_real tmp22;
fftw_real tmp24;
ASSERT_ALIGNED_DOUBLE;
tmp23 = tmp16 - tmp15;
tmp25 = tmp19 + tmp20;
tmp22 = c_re(W[1]);
tmp24 = c_im(W[1]);
Y[0] = (tmp22 * tmp23) - (tmp24 * tmp25);
X[2 * iostride] = (tmp24 * tmp23) + (tmp22 * tmp25);
}
Y[-2 * iostride] = tmp10 + tmp13;
{
fftw_real tmp17;
fftw_real tmp21;
fftw_real tmp14;
fftw_real tmp18;
ASSERT_ALIGNED_DOUBLE;
tmp17 = tmp15 + tmp16;
tmp21 = tmp19 - tmp20;
tmp14 = c_re(W[0]);
tmp18 = c_im(W[0]);
Y[-iostride] = (tmp14 * tmp17) - (tmp18 * tmp21);
X[iostride] = (tmp18 * tmp17) + (tmp14 * tmp21);
}
}
if (i == m) {
fftw_real tmp5;
fftw_real tmp1;
fftw_real tmp2;
fftw_real tmp3;
fftw_real tmp4;
ASSERT_ALIGNED_DOUBLE;
tmp4 = Y[0];
tmp5 = K1_732050807 * tmp4;
tmp1 = X[iostride];
tmp2 = X[0];
tmp3 = tmp2 - tmp1;
X[0] = tmp1 + (K2_000000000 * tmp2);
X[2 * iostride] = -(tmp3 + tmp5);
X[iostride] = tmp3 - tmp5;
}
//.........这里部分代码省略.........
示例5: fftw_hc2hc_backward_6
//.........这里部分代码省略.........
tmp54 = tmp26 + tmp27;
tmp29 = Y[-iostride];
tmp30 = X[4 * iostride];
tmp31 = tmp29 - tmp30;
tmp53 = tmp29 + tmp30;
}
tmp32 = tmp28 + tmp31;
tmp39 = K866025403 * (tmp31 - tmp28);
tmp55 = tmp53 - tmp54;
tmp59 = K866025403 * (tmp54 + tmp53);
}
X[0] = tmp15 + tmp22;
{
fftw_real tmp36;
fftw_real tmp42;
fftw_real tmp40;
fftw_real tmp44;
fftw_real tmp34;
fftw_real tmp38;
ASSERT_ALIGNED_DOUBLE();
tmp34 = tmp25 - (K500000000 * tmp32);
tmp36 = tmp34 - tmp35;
tmp42 = tmp35 + tmp34;
tmp38 = tmp15 - (K500000000 * tmp22);
tmp40 = tmp38 - tmp39;
tmp44 = tmp38 + tmp39;
{
fftw_real tmp33;
fftw_real tmp37;
fftw_real tmp41;
fftw_real tmp43;
ASSERT_ALIGNED_DOUBLE();
tmp33 = c_re(W[1]);
tmp37 = c_im(W[1]);
Y[-3 * iostride] = (tmp33 * tmp36) - (tmp37 * tmp40);
X[2 * iostride] = (tmp37 * tmp36) + (tmp33 * tmp40);
tmp41 = c_re(W[3]);
tmp43 = c_im(W[3]);
Y[-iostride] = (tmp41 * tmp42) - (tmp43 * tmp44);
X[4 * iostride] = (tmp43 * tmp42) + (tmp41 * tmp44);
}
}
Y[-5 * iostride] = tmp25 + tmp32;
{
fftw_real tmp50;
fftw_real tmp56;
fftw_real tmp45;
fftw_real tmp51;
ASSERT_ALIGNED_DOUBLE();
tmp50 = tmp46 + tmp49;
tmp56 = tmp52 - tmp55;
tmp45 = c_re(W[2]);
tmp51 = c_im(W[2]);
X[3 * iostride] = (tmp45 * tmp50) + (tmp51 * tmp56);
Y[-2 * iostride] = (tmp45 * tmp56) - (tmp51 * tmp50);
}
{
fftw_real tmp60;
fftw_real tmp66;
fftw_real tmp64;
fftw_real tmp68;
fftw_real tmp58;
fftw_real tmp63;
ASSERT_ALIGNED_DOUBLE();
tmp58 = tmp46 - (K500000000 * tmp49);
tmp60 = tmp58 - tmp59;
示例6: fftw_twiddle_8
void fftw_twiddle_8(fftw_complex *A, const fftw_complex *W, int iostride, int m, int dist)
{
int i;
fftw_complex *inout;
inout = A;
for (i = m; i > 0; i = i - 1, inout = inout + dist, W = W + 7) {
fftw_real tmp7;
fftw_real tmp43;
fftw_real tmp71;
fftw_real tmp76;
fftw_real tmp41;
fftw_real tmp53;
fftw_real tmp56;
fftw_real tmp65;
fftw_real tmp18;
fftw_real tmp77;
fftw_real tmp46;
fftw_real tmp68;
fftw_real tmp30;
fftw_real tmp48;
fftw_real tmp51;
fftw_real tmp64;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp1;
fftw_real tmp70;
fftw_real tmp6;
fftw_real tmp69;
ASSERT_ALIGNED_DOUBLE;
tmp1 = c_re(inout[0]);
tmp70 = c_im(inout[0]);
{
fftw_real tmp3;
fftw_real tmp5;
fftw_real tmp2;
fftw_real tmp4;
ASSERT_ALIGNED_DOUBLE;
tmp3 = c_re(inout[4 * iostride]);
tmp5 = c_im(inout[4 * iostride]);
tmp2 = c_re(W[3]);
tmp4 = c_im(W[3]);
tmp6 = (tmp2 * tmp3) - (tmp4 * tmp5);
tmp69 = (tmp4 * tmp3) + (tmp2 * tmp5);
}
tmp7 = tmp1 + tmp6;
tmp43 = tmp1 - tmp6;
tmp71 = tmp69 + tmp70;
tmp76 = tmp70 - tmp69;
}
{
fftw_real tmp35;
fftw_real tmp54;
fftw_real tmp40;
fftw_real tmp55;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp32;
fftw_real tmp34;
fftw_real tmp31;
fftw_real tmp33;
ASSERT_ALIGNED_DOUBLE;
tmp32 = c_re(inout[7 * iostride]);
tmp34 = c_im(inout[7 * iostride]);
tmp31 = c_re(W[6]);
tmp33 = c_im(W[6]);
tmp35 = (tmp31 * tmp32) - (tmp33 * tmp34);
tmp54 = (tmp33 * tmp32) + (tmp31 * tmp34);
}
{
fftw_real tmp37;
fftw_real tmp39;
fftw_real tmp36;
fftw_real tmp38;
ASSERT_ALIGNED_DOUBLE;
tmp37 = c_re(inout[3 * iostride]);
tmp39 = c_im(inout[3 * iostride]);
tmp36 = c_re(W[2]);
tmp38 = c_im(W[2]);
tmp40 = (tmp36 * tmp37) - (tmp38 * tmp39);
tmp55 = (tmp38 * tmp37) + (tmp36 * tmp39);
}
tmp41 = tmp35 + tmp40;
tmp53 = tmp35 - tmp40;
tmp56 = tmp54 - tmp55;
tmp65 = tmp54 + tmp55;
}
{
fftw_real tmp12;
fftw_real tmp44;
fftw_real tmp17;
fftw_real tmp45;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp9;
fftw_real tmp11;
fftw_real tmp8;
fftw_real tmp10;
ASSERT_ALIGNED_DOUBLE;
tmp9 = c_re(inout[2 * iostride]);
tmp11 = c_im(inout[2 * iostride]);
//.........这里部分代码省略.........
示例7: fftwi_no_twiddle_32
void fftwi_no_twiddle_32(const fftw_complex *input, fftw_complex *output, int istride, int ostride)
{
fftw_real tmp7;
fftw_real tmp339;
fftw_real tmp70;
fftw_real tmp313;
fftw_real tmp97;
fftw_real tmp215;
fftw_real tmp179;
fftw_real tmp241;
fftw_real tmp14;
fftw_real tmp314;
fftw_real tmp77;
fftw_real tmp340;
fftw_real tmp182;
fftw_real tmp216;
fftw_real tmp104;
fftw_real tmp242;
fftw_real tmp153;
fftw_real tmp236;
fftw_real tmp53;
fftw_real tmp60;
fftw_real tmp287;
fftw_real tmp336;
fftw_real tmp360;
fftw_real tmp290;
fftw_real tmp293;
fftw_real tmp294;
fftw_real tmp170;
fftw_real tmp233;
fftw_real tmp333;
fftw_real tmp359;
fftw_real tmp164;
fftw_real tmp234;
fftw_real tmp173;
fftw_real tmp237;
fftw_real tmp22;
fftw_real tmp318;
fftw_real tmp343;
fftw_real tmp85;
fftw_real tmp112;
fftw_real tmp185;
fftw_real tmp220;
fftw_real tmp245;
fftw_real tmp29;
fftw_real tmp321;
fftw_real tmp342;
fftw_real tmp92;
fftw_real tmp119;
fftw_real tmp184;
fftw_real tmp223;
fftw_real tmp244;
fftw_real tmp126;
fftw_real tmp229;
fftw_real tmp38;
fftw_real tmp45;
fftw_real tmp278;
fftw_real tmp329;
fftw_real tmp357;
fftw_real tmp281;
fftw_real tmp284;
fftw_real tmp285;
fftw_real tmp143;
fftw_real tmp226;
fftw_real tmp326;
fftw_real tmp356;
fftw_real tmp137;
fftw_real tmp227;
fftw_real tmp146;
fftw_real tmp230;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp3;
fftw_real tmp177;
fftw_real tmp66;
fftw_real tmp96;
fftw_real tmp6;
fftw_real tmp95;
fftw_real tmp69;
fftw_real tmp178;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp1;
fftw_real tmp2;
fftw_real tmp64;
fftw_real tmp65;
ASSERT_ALIGNED_DOUBLE;
tmp1 = c_re(input[0]);
tmp2 = c_re(input[16 * istride]);
tmp3 = tmp1 + tmp2;
tmp177 = tmp1 - tmp2;
tmp64 = c_im(input[0]);
tmp65 = c_im(input[16 * istride]);
tmp66 = tmp64 + tmp65;
tmp96 = tmp64 - tmp65;
}
{
fftw_real tmp4;
fftw_real tmp5;
fftw_real tmp67;
//.........这里部分代码省略.........
示例8: fftwi_no_twiddle_7
void fftwi_no_twiddle_7(const fftw_complex *input, fftw_complex *output,
int istride, int ostride)
{
fftw_real tmp1;
fftw_real tmp15;
fftw_real tmp4;
fftw_real tmp11;
fftw_real tmp21;
fftw_real tmp31;
fftw_real tmp7;
fftw_real tmp13;
fftw_real tmp24;
fftw_real tmp33;
fftw_real tmp10;
fftw_real tmp12;
fftw_real tmp18;
fftw_real tmp32;
ASSERT_ALIGNED_DOUBLE;
tmp1 = c_re(input[0]);
tmp15 = c_im(input[0]);
{
fftw_real tmp2;
fftw_real tmp3;
fftw_real tmp19;
fftw_real tmp20;
ASSERT_ALIGNED_DOUBLE;
tmp2 = c_re(input[istride]);
tmp3 = c_re(input[6 * istride]);
tmp4 = tmp2 + tmp3;
tmp11 = tmp2 - tmp3;
tmp19 = c_im(input[istride]);
tmp20 = c_im(input[6 * istride]);
tmp21 = tmp19 + tmp20;
tmp31 = tmp20 - tmp19;
}
{
fftw_real tmp5;
fftw_real tmp6;
fftw_real tmp22;
fftw_real tmp23;
ASSERT_ALIGNED_DOUBLE;
tmp5 = c_re(input[2 * istride]);
tmp6 = c_re(input[5 * istride]);
tmp7 = tmp5 + tmp6;
tmp13 = tmp5 - tmp6;
tmp22 = c_im(input[2 * istride]);
tmp23 = c_im(input[5 * istride]);
tmp24 = tmp22 + tmp23;
tmp33 = tmp23 - tmp22;
}
{
fftw_real tmp8;
fftw_real tmp9;
fftw_real tmp16;
fftw_real tmp17;
ASSERT_ALIGNED_DOUBLE;
tmp8 = c_re(input[3 * istride]);
tmp9 = c_re(input[4 * istride]);
tmp10 = tmp8 + tmp9;
tmp12 = tmp8 - tmp9;
tmp16 = c_im(input[3 * istride]);
tmp17 = c_im(input[4 * istride]);
tmp18 = tmp16 + tmp17;
tmp32 = tmp17 - tmp16;
}
{
fftw_real tmp36;
fftw_real tmp35;
fftw_real tmp26;
fftw_real tmp27;
ASSERT_ALIGNED_DOUBLE;
c_re(output[0]) = tmp1 + tmp4 + tmp7 + tmp10;
tmp36 =
(K974927912 * tmp33) + (K433883739 * tmp32) +
(K781831482 * tmp31);
tmp35 =
tmp1 + (K623489801 * tmp4) - (K900968867 * tmp10) -
(K222520933 * tmp7);
c_re(output[6 * ostride]) = tmp35 - tmp36;
c_re(output[ostride]) = tmp35 + tmp36;
{
fftw_real tmp38;
fftw_real tmp37;
fftw_real tmp34;
fftw_real tmp30;
ASSERT_ALIGNED_DOUBLE;
tmp38 =
(K974927912 * tmp32) + (K433883739 * tmp31) -
(K781831482 * tmp33);
tmp37 =
tmp1 + (K623489801 * tmp7) - (K222520933 * tmp10) -
(K900968867 * tmp4);
c_re(output[4 * ostride]) = tmp37 - tmp38;
c_re(output[3 * ostride]) = tmp37 + tmp38;
tmp34 =
(K974927912 * tmp31) - (K781831482 * tmp32) -
(K433883739 * tmp33);
tmp30 =
tmp1 + (K623489801 * tmp10) - (K900968867 * tmp7) -
(K222520933 * tmp4);
//.........这里部分代码省略.........
示例9: prefetch_row
// this function walks through data loading every fourth element
// the purpose is to cache the data for a subsequent FFT
dist_fft_real prefetch_row(dist_fft_storage data,
int local_row,
int dimension)
{
// prefetching only speeds things up for very large dimensions
if (dimension < (1 << 13)) return 0;
int index = local_row * dimension;
int index1 = index;
int index2 = index+4;
int index3 = index+8;
int index4 = index+12;
double data_re1;
double data_im1;
double data_re2;
double data_im2;
double data_re3;
double data_im3;
double data_re4;
double data_im4;
int bigloopcount;
int bigloopindex;
dist_fft_real sum_re1 = 0, sum_im1 = 0, sum_re2 = 0, sum_im2 = 0;
dist_fft_real sum_re3 = 0, sum_im3 = 0, sum_re4 = 0, sum_im4 = 0;
bigloopcount = (dimension)/16;
for (bigloopindex=0; bigloopindex<bigloopcount; bigloopindex++) {
data_re1 = c_re(data, index1);
data_im1 = c_im(data, index1);
data_re2 = c_re(data, index2);
data_im2 = c_im(data, index2);
data_re3 = c_re(data, index3);
data_im3 = c_im(data, index3);
data_re4 = c_re(data, index4);
data_im4 = c_im(data, index4);
sum_re1 += data_re1;
sum_im1 += data_im1;
sum_re2 += data_re2;
sum_im2 += data_im2;
sum_re3 += data_re3;
sum_im3 += data_im3;
sum_re4 += data_re4;
sum_im4 += data_im4;
index1 += 16;
index2 += 16;
index3 += 16;
index4 += 16;
}
return sum_re1 * sum_im1 + sum_re2 * sum_im2 + sum_re3 * sum_im3 + sum_re4 * sum_im4;
}
示例10: fftw_hc2hc_forward_3
void fftw_hc2hc_forward_3(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 + (3 * iostride);
{
fftw_real tmp24;
fftw_real tmp25;
fftw_real tmp26;
fftw_real tmp27;
ASSERT_ALIGNED_DOUBLE;
tmp24 = X[0];
tmp25 = X[iostride];
tmp26 = X[2 * iostride];
tmp27 = tmp25 + tmp26;
X[iostride] = tmp24 - (K500000000 * tmp27);
X[0] = tmp24 + tmp27;
Y[-iostride] = K866025403 * (tmp26 - tmp25);
}
X = X + dist;
Y = Y - dist;
for (i = 2; i < m; i = i + 2, X = X + dist, Y = Y - dist, W = W + 2) {
fftw_real tmp4;
fftw_real tmp21;
fftw_real tmp9;
fftw_real tmp17;
fftw_real tmp14;
fftw_real tmp18;
fftw_real tmp15;
fftw_real tmp20;
ASSERT_ALIGNED_DOUBLE;
tmp4 = X[0];
tmp21 = Y[-2 * iostride];
{
fftw_real tmp6;
fftw_real tmp8;
fftw_real tmp5;
fftw_real tmp7;
ASSERT_ALIGNED_DOUBLE;
tmp6 = X[iostride];
tmp8 = Y[-iostride];
tmp5 = c_re(W[0]);
tmp7 = c_im(W[0]);
tmp9 = (tmp5 * tmp6) - (tmp7 * tmp8);
tmp17 = (tmp7 * tmp6) + (tmp5 * tmp8);
}
{
fftw_real tmp11;
fftw_real tmp13;
fftw_real tmp10;
fftw_real tmp12;
ASSERT_ALIGNED_DOUBLE;
tmp11 = X[2 * iostride];
tmp13 = Y[0];
tmp10 = c_re(W[1]);
tmp12 = c_im(W[1]);
tmp14 = (tmp10 * tmp11) - (tmp12 * tmp13);
tmp18 = (tmp12 * tmp11) + (tmp10 * tmp13);
}
tmp15 = tmp9 + tmp14;
tmp20 = tmp17 + tmp18;
{
fftw_real tmp16;
fftw_real tmp19;
fftw_real tmp22;
fftw_real tmp23;
ASSERT_ALIGNED_DOUBLE;
X[0] = tmp4 + tmp15;
tmp16 = tmp4 - (K500000000 * tmp15);
tmp19 = K866025403 * (tmp17 - tmp18);
Y[-2 * iostride] = tmp16 - tmp19;
X[iostride] = tmp16 + tmp19;
Y[0] = tmp20 + tmp21;
tmp22 = tmp21 - (K500000000 * tmp20);
tmp23 = K866025403 * (tmp14 - tmp9);
X[2 * iostride] = -(tmp22 - tmp23);
Y[-iostride] = tmp23 + tmp22;
}
}
if (i == m) {
fftw_real tmp1;
fftw_real tmp3;
fftw_real tmp2;
ASSERT_ALIGNED_DOUBLE;
tmp1 = X[iostride];
tmp3 = X[0];
tmp2 = X[2 * iostride];
Y[0] = -(K866025403 * (tmp1 + tmp2));
X[iostride] = tmp2 + tmp3 - tmp1;
X[0] = tmp3 - (K500000000 * (tmp2 - tmp1));
}
}
示例11: fftw_no_twiddle_14
void fftw_no_twiddle_14(const fftw_complex *input, fftw_complex *output, int istride, int ostride)
{
fftw_real tmp3;
fftw_real tmp25;
fftw_real tmp68;
fftw_real tmp77;
fftw_real tmp10;
fftw_real tmp62;
fftw_real tmp28;
fftw_real tmp88;
fftw_real tmp42;
fftw_real tmp71;
fftw_real tmp80;
fftw_real tmp97;
fftw_real tmp17;
fftw_real tmp64;
fftw_real tmp31;
fftw_real tmp90;
fftw_real tmp56;
fftw_real tmp69;
fftw_real tmp86;
fftw_real tmp99;
fftw_real tmp24;
fftw_real tmp63;
fftw_real tmp34;
fftw_real tmp89;
fftw_real tmp49;
fftw_real tmp70;
fftw_real tmp83;
fftw_real tmp98;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp1;
fftw_real tmp2;
fftw_real tmp66;
fftw_real tmp67;
ASSERT_ALIGNED_DOUBLE;
tmp1 = c_re(input[0]);
tmp2 = c_re(input[7 * istride]);
tmp3 = tmp1 - tmp2;
tmp25 = tmp1 + tmp2;
tmp66 = c_im(input[0]);
tmp67 = c_im(input[7 * istride]);
tmp68 = tmp66 - tmp67;
tmp77 = tmp66 + tmp67;
}
{
fftw_real tmp6;
fftw_real tmp26;
fftw_real tmp9;
fftw_real tmp27;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp4;
fftw_real tmp5;
fftw_real tmp7;
fftw_real tmp8;
ASSERT_ALIGNED_DOUBLE;
tmp4 = c_re(input[2 * istride]);
tmp5 = c_re(input[9 * istride]);
tmp6 = tmp4 - tmp5;
tmp26 = tmp4 + tmp5;
tmp7 = c_re(input[12 * istride]);
tmp8 = c_re(input[5 * istride]);
tmp9 = tmp7 - tmp8;
tmp27 = tmp7 + tmp8;
}
tmp10 = tmp6 + tmp9;
tmp62 = tmp9 - tmp6;
tmp28 = tmp26 + tmp27;
tmp88 = tmp27 - tmp26;
}
{
fftw_real tmp38;
fftw_real tmp78;
fftw_real tmp41;
fftw_real tmp79;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp36;
fftw_real tmp37;
fftw_real tmp39;
fftw_real tmp40;
ASSERT_ALIGNED_DOUBLE;
tmp36 = c_im(input[2 * istride]);
tmp37 = c_im(input[9 * istride]);
tmp38 = tmp36 - tmp37;
tmp78 = tmp36 + tmp37;
tmp39 = c_im(input[12 * istride]);
tmp40 = c_im(input[5 * istride]);
tmp41 = tmp39 - tmp40;
tmp79 = tmp39 + tmp40;
}
tmp42 = tmp38 - tmp41;
tmp71 = tmp38 + tmp41;
tmp80 = tmp78 + tmp79;
tmp97 = tmp78 - tmp79;
}
{
fftw_real tmp13;
//.........这里部分代码省略.........
示例12: fftw_hc2hc_backward_16
//.........这里部分代码省略.........
fftw_real tmp203;
fftw_real tmp239;
fftw_real tmp240;
ASSERT_ALIGNED_DOUBLE;
tmp200 = tmp198 + tmp199;
tmp203 = tmp201 - tmp202;
tmp204 = (K923879532 * tmp200) + (K382683432 * tmp203);
tmp215 = (K923879532 * tmp203) - (K382683432 * tmp200);
tmp239 = tmp201 + tmp202;
tmp240 = tmp199 - tmp198;
tmp241 = (K382683432 * tmp239) - (K923879532 * tmp240);
tmp251 = (K382683432 * tmp240) + (K923879532 * tmp239);
}
}
{
fftw_real tmp81;
fftw_real tmp96;
fftw_real tmp158;
fftw_real tmp162;
fftw_real tmp165;
fftw_real tmp166;
fftw_real tmp157;
fftw_real tmp159;
ASSERT_ALIGNED_DOUBLE;
tmp81 = tmp73 + tmp80;
tmp96 = tmp88 + tmp95;
tmp158 = tmp81 - tmp96;
tmp162 = tmp160 + tmp161;
tmp165 = tmp163 + tmp164;
tmp166 = tmp162 - tmp165;
X[0] = tmp81 + tmp96;
Y[-15 * iostride] = tmp162 + tmp165;
tmp157 = c_re(W[7]);
tmp159 = c_im(W[7]);
X[8 * iostride] = (tmp157 * tmp158) + (tmp159 * tmp166);
Y[-7 * iostride] = (tmp157 * tmp166) - (tmp159 * tmp158);
}
{
fftw_real tmp170;
fftw_real tmp176;
fftw_real tmp174;
fftw_real tmp178;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp168;
fftw_real tmp169;
fftw_real tmp172;
fftw_real tmp173;
ASSERT_ALIGNED_DOUBLE;
tmp168 = tmp160 - tmp161;
tmp169 = tmp88 - tmp95;
tmp170 = tmp168 - tmp169;
tmp176 = tmp169 + tmp168;
tmp172 = tmp73 - tmp80;
tmp173 = tmp164 - tmp163;
tmp174 = tmp172 - tmp173;
tmp178 = tmp172 + tmp173;
}
{
fftw_real tmp167;
fftw_real tmp171;
fftw_real tmp175;
fftw_real tmp177;
ASSERT_ALIGNED_DOUBLE;
tmp167 = c_re(W[11]);
tmp171 = c_im(W[11]);
示例13: fftwi_twiddle_6
void fftwi_twiddle_6(fftw_complex *A, const fftw_complex *W, int iostride,
int m, int dist)
{
int i;
fftw_complex *inout;
inout = A;
for (i = m; i > 0; i = i - 1, inout = inout + dist, W = W + 5) {
fftw_real tmp7;
fftw_real tmp31;
fftw_real tmp50;
fftw_real tmp54;
fftw_real tmp29;
fftw_real tmp33;
fftw_real tmp38;
fftw_real tmp44;
fftw_real tmp18;
fftw_real tmp32;
fftw_real tmp41;
fftw_real tmp45;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp1;
fftw_real tmp49;
fftw_real tmp6;
fftw_real tmp48;
ASSERT_ALIGNED_DOUBLE;
tmp1 = c_re(inout[0]);
tmp49 = c_im(inout[0]);
{
fftw_real tmp3;
fftw_real tmp5;
fftw_real tmp2;
fftw_real tmp4;
ASSERT_ALIGNED_DOUBLE;
tmp3 = c_re(inout[3 * iostride]);
tmp5 = c_im(inout[3 * iostride]);
tmp2 = c_re(W[2]);
tmp4 = c_im(W[2]);
tmp6 = (tmp2 * tmp3) + (tmp4 * tmp5);
tmp48 = (tmp2 * tmp5) - (tmp4 * tmp3);
}
tmp7 = tmp1 - tmp6;
tmp31 = tmp1 + tmp6;
tmp50 = tmp48 + tmp49;
tmp54 = tmp49 - tmp48;
}
{
fftw_real tmp23;
fftw_real tmp36;
fftw_real tmp28;
fftw_real tmp37;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp20;
fftw_real tmp22;
fftw_real tmp19;
fftw_real tmp21;
ASSERT_ALIGNED_DOUBLE;
tmp20 = c_re(inout[4 * iostride]);
tmp22 = c_im(inout[4 * iostride]);
tmp19 = c_re(W[3]);
tmp21 = c_im(W[3]);
tmp23 = (tmp19 * tmp20) + (tmp21 * tmp22);
tmp36 = (tmp19 * tmp22) - (tmp21 * tmp20);
}
{
fftw_real tmp25;
fftw_real tmp27;
fftw_real tmp24;
fftw_real tmp26;
ASSERT_ALIGNED_DOUBLE;
tmp25 = c_re(inout[iostride]);
tmp27 = c_im(inout[iostride]);
tmp24 = c_re(W[0]);
tmp26 = c_im(W[0]);
tmp28 = (tmp24 * tmp25) + (tmp26 * tmp27);
tmp37 = (tmp24 * tmp27) - (tmp26 * tmp25);
}
tmp29 = tmp23 - tmp28;
tmp33 = tmp23 + tmp28;
tmp38 = tmp36 - tmp37;
tmp44 = tmp36 + tmp37;
}
{
fftw_real tmp12;
fftw_real tmp39;
fftw_real tmp17;
fftw_real tmp40;
ASSERT_ALIGNED_DOUBLE;
{
fftw_real tmp9;
fftw_real tmp11;
fftw_real tmp8;
fftw_real tmp10;
ASSERT_ALIGNED_DOUBLE;
tmp9 = c_re(inout[2 * iostride]);
tmp11 = c_im(inout[2 * iostride]);
tmp8 = c_re(W[1]);
tmp10 = c_im(W[1]);
tmp12 = (tmp8 * tmp9) + (tmp10 * tmp11);
//.........这里部分代码省略.........
示例14: fftw_no_twiddle_13
void fftw_no_twiddle_13(const fftw_complex *input, fftw_complex *output, int istride, int ostride)
{
fftw_real tmp1;
fftw_real tmp88;
fftw_real tmp29;
fftw_real tmp36;
fftw_real tmp43;
fftw_real tmp121;
fftw_real tmp128;
fftw_real tmp30;
fftw_real tmp24;
fftw_real tmp131;
fftw_real tmp124;
fftw_real tmp129;
fftw_real tmp41;
fftw_real tmp44;
fftw_real tmp134;
fftw_real tmp83;
fftw_real tmp89;
fftw_real tmp70;
fftw_real tmp85;
fftw_real tmp137;
fftw_real tmp141;
fftw_real tmp146;
fftw_real tmp77;
fftw_real tmp86;
fftw_real tmp144;
fftw_real tmp147;
ASSERT_ALIGNED_DOUBLE;
tmp1 = c_re(input[0]);
tmp88 = c_im(input[0]);
{
fftw_real tmp15;
fftw_real tmp25;
fftw_real tmp18;
fftw_real tmp26;
fftw_real tmp21;
fftw_real tmp27;
fftw_real tmp22;
fftw_real tmp28;
fftw_real tmp6;
fftw_real tmp37;
fftw_real tmp33;
fftw_real tmp11;
fftw_real tmp38;
fftw_real tmp34;
fftw_real tmp13;
fftw_real tmp14;
fftw_real tmp12;
fftw_real tmp23;
ASSERT_ALIGNED_DOUBLE;
tmp13 = c_re(input[8 * istride]);
tmp14 = c_re(input[5 * istride]);
tmp15 = tmp13 + tmp14;
tmp25 = tmp13 - tmp14;
{
fftw_real tmp16;
fftw_real tmp17;
fftw_real tmp19;
fftw_real tmp20;
ASSERT_ALIGNED_DOUBLE;
tmp16 = c_re(input[6 * istride]);
tmp17 = c_re(input[11 * istride]);
tmp18 = tmp16 + tmp17;
tmp26 = tmp16 - tmp17;
tmp19 = c_re(input[2 * istride]);
tmp20 = c_re(input[7 * istride]);
tmp21 = tmp19 + tmp20;
tmp27 = tmp19 - tmp20;
}
tmp22 = tmp18 + tmp21;
tmp28 = tmp26 + tmp27;
{
fftw_real tmp2;
fftw_real tmp3;
fftw_real tmp4;
fftw_real tmp5;
ASSERT_ALIGNED_DOUBLE;
tmp2 = c_re(input[istride]);
tmp3 = c_re(input[3 * istride]);
tmp4 = c_re(input[9 * istride]);
tmp5 = tmp3 + tmp4;
tmp6 = tmp2 + tmp5;
tmp37 = tmp2 - (K500000000 * tmp5);
tmp33 = tmp3 - tmp4;
}
{
fftw_real tmp7;
fftw_real tmp8;
fftw_real tmp9;
fftw_real tmp10;
ASSERT_ALIGNED_DOUBLE;
tmp7 = c_re(input[12 * istride]);
tmp8 = c_re(input[4 * istride]);
tmp9 = c_re(input[10 * istride]);
tmp10 = tmp8 + tmp9;
tmp11 = tmp7 + tmp10;
tmp38 = tmp7 - (K500000000 * tmp10);
tmp34 = tmp8 - tmp9;
}
//.........这里部分代码省略.........
示例15: mkoddonly
static void mkoddonly(C *a, int n)
{
int i;
for (i = 0; i < n; i += 2)
c_re(a[i]) = c_im(a[i]) = 0.0;
}