Lines Matching refs:im

185     BF(tmp[0].re, tmp[1].im, in[1].im, in[2].im);
186 BF(tmp[0].im, tmp[1].re, in[1].re, in[2].re);
189 out[0*stride].im = in[0].im + tmp[1].im;
193 mtmp[1] = (int64_t)tab[1] * tmp[0].im;
195 mtmp[3] = (int64_t)tab[2] * tmp[1].im;
197 out[1*stride].im = in[0].im - (mtmp[3] - mtmp[1] + 0x40000000 >> 31);
199 out[2*stride].im = in[0].im - (mtmp[3] + mtmp[1] + 0x40000000 >> 31);
202 tmp[0].im = tab[1] * tmp[0].im;
204 tmp[1].im = tab[2] * tmp[1].im;
206 out[1*stride].im = in[0].im - tmp[1].im - tmp[0].im;
208 out[2*stride].im = in[0].im - tmp[1].im + tmp[0].im;
219 BF(t[1].im, t[0].re, in[1].re, in[4].re); \
220 BF(t[1].re, t[0].im, in[1].im, in[4].im); \
221 BF(t[3].im, t[2].re, in[2].re, in[3].re); \
222 BF(t[3].re, t[2].im, in[2].im, in[3].im); \
225 out[D0*stride].im = in[0].im + t[0].im + t[2].im; \
228 SMUL(t[4].im, t[0].im, tab[4], tab[6], t[2].im, t[0].im); \
230 CMUL(t[5].im, t[1].im, tab[5], tab[7], t[3].im, t[1].im); \
233 BF(z0[0].im, z0[3].im, t[0].im, t[1].im); \
235 BF(z0[2].im, z0[1].im, t[4].im, t[5].im); \
238 out[D1*stride].im = in[0].im + z0[0].im; \
240 out[D2*stride].im = in[0].im + z0[1].im; \
242 out[D3*stride].im = in[0].im + z0[2].im; \
244 out[D4*stride].im = in[0].im + z0[3].im; \
262 BF(t[1].im, t[0].im, in[1].im, in[6].im);
264 BF(t[3].im, t[2].im, in[2].im, in[5].im);
266 BF(t[5].im, t[4].im, in[3].im, in[4].im);
269 out[0*stride].im = in[0].im + t[0].im + t[2].im + t[4].im;
275 mtmp[ 3] = ((int64_t)tab[0].re)*t[0].im - ((int64_t)tab[1].re)*t[2].im;
276 mtmp[ 4] = ((int64_t)tab[0].re)*t[4].im - ((int64_t)tab[1].re)*t[0].im;
277 mtmp[ 5] = ((int64_t)tab[0].re)*t[2].im - ((int64_t)tab[2].re)*t[0].im;
279 mtmp[ 6] = ((int64_t)tab[2].im)*t[1].im + ((int64_t)tab[1].im)*t[5].im;
280 mtmp[ 7] = ((int64_t)tab[0].im)*t[5].im + ((int64_t)tab[2].im)*t[3].im;
281 mtmp[ 8] = ((int64_t)tab[2].im)*t[5].im + ((int64_t)tab[1].im)*t[3].im;
282 mtmp[ 9] = ((int64_t)tab[0].im)*t[1].re + ((int64_t)tab[1].im)*t[3].re;
283 mtmp[10] = ((int64_t)tab[2].im)*t[3].re + ((int64_t)tab[0].im)*t[5].re;
284 mtmp[11] = ((int64_t)tab[2].im)*t[1].re + ((int64_t)tab[1].im)*t[5].re;
289 z[0].im = (int32_t)(mtmp[ 3] - ((int64_t)tab[2].re)*t[4].im + 0x40000000 >> 31);
290 z[1].im = (int32_t)(mtmp[ 4] - ((int64_t)tab[2].re)*t[2].im + 0x40000000 >> 31);
291 z[2].im = (int32_t)(mtmp[ 5] - ((int64_t)tab[1].re)*t[4].im + 0x40000000 >> 31);
293 t[0].re = (int32_t)(mtmp[ 6] - ((int64_t)tab[0].im)*t[3].im + 0x40000000 >> 31);
294 t[2].re = (int32_t)(mtmp[ 7] - ((int64_t)tab[1].im)*t[1].im + 0x40000000 >> 31);
295 t[4].re = (int32_t)(mtmp[ 8] + ((int64_t)tab[0].im)*t[1].im + 0x40000000 >> 31);
296 t[0].im = (int32_t)(mtmp[ 9] + ((int64_t)tab[2].im)*t[5].re + 0x40000000 >> 31);
297 t[2].im = (int32_t)(mtmp[10] - ((int64_t)tab[1].im)*t[1].re + 0x40000000 >> 31);
298 t[4].im = (int32_t)(mtmp[11] - ((int64_t)tab[0].im)*t[3].re + 0x40000000 >> 31);
303 z[0].im = tab[0].re*t[0].im - tab[1].re*t[2].im - tab[2].re*t[4].im;
304 z[1].im = tab[0].re*t[4].im - tab[1].re*t[0].im - tab[2].re*t[2].im;
305 z[2].im = tab[0].re*t[2].im - tab[2].re*t[0].im - tab[1].re*t[4].im;
307 /* It's possible to do t[4].re and t[0].im with 2 multiplies only by
310 t[0].re = tab[2].im*t[1].im + tab[1].im*t[5].im - tab[0].im*t[3].im;
311 t[2].re = tab[0].im*t[5].im + tab[2].im*t[3].im - tab[1].im*t[1].im;
312 t[4].re = tab[2].im*t[5].im + tab[1].im*t[3].im + tab[0].im*t[1].im;
313 t[0].im = tab[0].im*t[1].re + tab[1].im*t[3].re + tab[2].im*t[5].re;
314 t[2].im = tab[2].im*t[3].re + tab[0].im*t[5].re - tab[1].im*t[1].re;
315 t[4].im = tab[2].im*t[1].re + tab[1].im*t[5].re - tab[0].im*t[3].re;
321 BF(t[1].im, z[0].im, z[0].im, t[0].im);
322 BF(t[3].im, z[1].im, z[1].im, t[2].im);
323 BF(t[5].im, z[2].im, z[2].im, t[4].im);
326 out[1*stride].im = in[0].im + t[1].im;
328 out[2*stride].im = in[0].im + z[1].im;
330 out[3*stride].im = in[0].im + t[5].im;
332 out[4*stride].im = in[0].im + z[2].im;
334 out[5*stride].im = in[0].im + t[3].im;
336 out[6*stride].im = in[0].im + z[0].im;
349 BF(t[1].im, t[0].im, in[1].im, in[8].im);
351 BF(t[3].im, t[2].im, in[2].im, in[7].im);
353 BF(t[5].im, t[4].im, in[3].im, in[6].im);
355 BF(t[7].im, t[6].im, in[4].im, in[5].im);
358 w[0].im = t[0].im - t[6].im;
360 w[1].im = t[2].im - t[6].im;
362 w[2].im = t[1].im - t[7].im;
364 w[3].im = t[3].im + t[7].im;
367 z[0].im = in[0].im + t[4].im;
370 z[1].im = t[0].im + t[2].im + t[6].im;
373 out[0*stride].im = z[0].im + z[1].im;
377 mtmp[1] = t[1].im - t[3].im + t[7].im;
379 y[3].re = (int32_t)(((int64_t)tab[0].im)*mtmp[0] + 0x40000000 >> 31);
380 y[3].im = (int32_t)(((int64_t)tab[0].im)*mtmp[1] + 0x40000000 >> 31);
383 mtmp[1] = (int32_t)(((int64_t)tab[0].re)*z[1].im + 0x40000000 >> 31);
385 mtmp[3] = (int32_t)(((int64_t)tab[0].re)*t[4].im + 0x40000000 >> 31);
388 x[3].im = z[0].im + (int32_t)mtmp[1];
390 z[0].im = in[0].im + (int32_t)mtmp[3];
393 mtmp[1] = ((int64_t)tab[1].re)*w[0].im;
394 mtmp[2] = ((int64_t)tab[2].im)*w[0].re;
395 mtmp[3] = ((int64_t)tab[2].im)*w[0].im;
396 mtmp[4] = ((int64_t)tab[1].im)*w[2].re;
397 mtmp[5] = ((int64_t)tab[1].im)*w[2].im;
399 mtmp[7] = ((int64_t)tab[2].re)*w[2].im;
401 x[1].re = (int32_t)(mtmp[0] + ((int64_t)tab[2].im)*w[1].re + 0x40000000 >> 31);
402 x[1].im = (int32_t)(mtmp[1] + ((int64_t)tab[2].im)*w[1].im + 0x40000000 >> 31);
404 x[2].im = (int32_t)(mtmp[3] - ((int64_t)tab[3].re)*w[1].im + 0x40000000 >> 31);
406 y[1].im = (int32_t)(mtmp[5] + ((int64_t)tab[2].re)*w[3].im + 0x40000000 >> 31);
407 y[2].re = (int32_t)(mtmp[6] - ((int64_t)tab[3].im)*w[3].re + 0x40000000 >> 31);
408 y[2].im = (int32_t)(mtmp[7] - ((int64_t)tab[3].im)*w[3].im + 0x40000000 >> 31);
410 y[0].re = (int32_t)(((int64_t)tab[0].im)*t[5].re + 0x40000000 >> 31);
411 y[0].im = (int32_t)(((int64_t)tab[0].im)*t[5].im + 0x40000000 >> 31);
414 y[3].re = tab[0].im*(t[1].re - t[3].re + t[7].re);
415 y[3].im = tab[0].im*(t[1].im - t[3].im + t[7].im);
418 x[3].im = z[0].im + tab[0].re*z[1].im;
420 z[0].im = in[0].im + tab[0].re*t[4].im;
422 x[1].re = tab[1].re*w[0].re + tab[2].im*w[1].re;
423 x[1].im = tab[1].re*w[0].im + tab[2].im*w[1].im;
424 x[2].re = tab[2].im*w[0].re - tab[3].re*w[1].re;
425 x[2].im = tab[2].im*w[0].im - tab[3].re*w[1].im;
426 y[1].re = tab[1].im*w[2].re + tab[2].re*w[3].re;
427 y[1].im = tab[1].im*w[2].im + tab[2].re*w[3].im;
428 y[2].re = tab[2].re*w[2].re - tab[3].im*w[3].re;
429 y[2].im = tab[2].re*w[2].im - tab[3].im*w[3].im;
431 y[0].re = tab[0].im*t[5].re;
432 y[0].im = tab[0].im*t[5].im;
436 x[4].im = x[1].im + x[2].im;
439 y[4].im = y[1].im - y[2].im;
441 x[1].im = z[0].im + x[1].im;
443 y[1].im = y[0].im + y[1].im;
445 x[2].im = z[0].im + x[2].im;
447 y[2].im = y[2].im - y[0].im;
449 x[4].im = z[0].im - x[4].im;
451 y[4].im = y[0].im - y[4].im;
453 out[1*stride] = (TXComplex){ x[1].re + y[1].im, x[1].im - y[1].re };
454 out[2*stride] = (TXComplex){ x[2].re + y[2].im, x[2].im - y[2].re };
455 out[3*stride] = (TXComplex){ x[3].re + y[3].im, x[3].im - y[3].re };
456 out[4*stride] = (TXComplex){ x[4].re + y[4].im, x[4].im - y[4].re };
457 out[5*stride] = (TXComplex){ x[4].re - y[4].im, x[4].im + y[4].re };
458 out[6*stride] = (TXComplex){ x[3].re - y[3].im, x[3].im + y[3].re };
459 out[7*stride] = (TXComplex){ x[2].re - y[2].im, x[2].im + y[2].re };
460 out[8*stride] = (TXComplex){ x[1].re - y[1].im, x[1].im + y[1].re };
479 i0=a0.im; \
481 i1=a1.im; \
484 BF(a3.im, a1.im, i1, t3); \
487 BF(a2.im, a0.im, i0, t6); \
492 CMUL(t1, t2, a2.re, a2.im, wre, -wim); \
493 CMUL(t5, t6, a3.re, a3.im, wre, wim); \
572 BF(tmp.im, z[0].im, z[0].im, z[1].im);
585 BF(t4, t2, z[0].im, z[1].im);
586 BF(t7, t5, z[2].im, z[3].im);
587 BF(z[3].im, z[1].im, t4, t8);
589 BF(z[2].im, z[0].im, t2, t5);
602 BF(t2, z[5].im, z[4].im, -z[5].im);
604 BF(t6, z[7].im, z[6].im, -z[7].im);
626 t2 = z[ 8].im;
628 t6 = z[12].im;
762 tmp.im += res.im;
987 tmp.im = FOLD(-src[ len3 + k], -src[1*len3 - 1 - k]);
990 tmp.im = FOLD( src[-len2 + k], -src[1*len3 - 1 - k]);
992 CMUL(z[idx].im, z[idx].re, tmp.re, tmp.im, exp[i].re, exp[i].im);
999 TXComplex src1 = { z[i1].re, z[i1].im };
1000 TXComplex src0 = { z[i0].re, z[i0].im };
1002 CMUL(dst[2*i1*stride + stride], dst[2*i0*stride], src0.re, src0.im,
1003 exp[i0].im, exp[i0].re);
1004 CMUL(dst[2*i0*stride + stride], dst[2*i1*stride], src1.re, src1.im,
1005 exp[i1].im, exp[i1].re);
1031 TXComplex src1 = { z[i1].im, z[i1].re };
1032 TXComplex src0 = { z[i0].im, z[i0].re };
1034 CMUL(z[i1].re, z[i0].im, src1.re, src1.im, exp[i1].im, exp[i1].re);
1035 CMUL(z[i0].re, z[i1].im, src0.re, src0.im, exp[i0].im, exp[i0].re);
1186 TXComplex src1 = { s->tmp[s1].im, s->tmp[s1].re }; \
1187 TXComplex src0 = { s->tmp[s0].im, s->tmp[s0].re }; \
1189 CMUL(z[i1].re, z[i0].im, src1.re, src1.im, exp[i1].im, exp[i1].re); \
1190 CMUL(z[i0].re, z[i1].im, src0.re, src0.im, exp[i0].im, exp[i0].re); \
1234 tmp.im = FOLD(-src[ len3 + k], -src[1*len3 - 1 - k]); \
1237 tmp.im = FOLD( src[-len4 + k], -src[1*len3 - 1 - k]); \
1239 CMUL(fft##N##in[j].im, fft##N##in[j].re, tmp.re, tmp.im, \
1240 exp[k >> 1].re, exp[k >> 1].im); \
1251 TXComplex src1 = { s->tmp[s1].re, s->tmp[s1].im }; \
1252 TXComplex src0 = { s->tmp[s0].re, s->tmp[s0].im }; \
1254 CMUL(dst[2*i1*stride + stride], dst[2*i0*stride], src0.re, src0.im, \
1255 exp[i0].im, exp[i0].re); \
1256 CMUL(dst[2*i0*stride + stride], dst[2*i1*stride], src1.re, src1.im, \
1257 exp[i1].im, exp[i1].re); \
1339 data[0].im = data[len2].re; \
1345 data[0].re = t[0].re + data[0].im; \
1346 data[0].im = t[0].re - data[0].im; \
1348 data[ 0].im = MULT(fact[1], data[ 0].im); \
1350 data[len4].im = MULT(fact[3], data[len4].im); \
1355 t[0].im = MULT(fact[5], (data[i].im - data[len2 - i].im)); \
1356 t[1].re = MULT(fact[6], (data[i].im + data[len2 - i].im)); \
1357 t[1].im = MULT(fact[7], (data[i].re - data[len2 - i].re)); \
1360 CMUL(t[2].re, t[2].im, t[1].re, t[1].im, tcos[i], tsin[i]); \
1363 data[ i].im = t[2].im - t[0].im; \
1365 data[len2 - i].im = t[2].im + t[0].im; \
1371 /* Move [0].im to the last position, as convention requires */ \
1372 data[len2].re = data[0].im; \
1373 data[ 0].im = 0; \
1421 s->exp[i].im = RESCALE(sin(alpha) * scale);