| 378 | A_EQ_B_MUL_C (CH(i,k,u2),WA(u2-1,i),db) \ |
| 379 | } |
| 380 | NOINLINE static void pass3b (size_t ido, size_t l1, const cmplx * restrict cc, |
| 381 | cmplx * restrict ch, const cmplx * restrict wa) |
| 382 | { |
| 383 | const size_t cdim=3; |
| 384 | const double tw1r=-0.5, tw1i= 0.86602540378443864676; |
| 385 | |
| 386 | if (ido==1) |
| 387 | for (size_t k=0; k<l1; ++k) |
| 388 | { |
| 389 | PREP3(0) |
| 390 | PARTSTEP3a(1,2,tw1r,tw1i) |
| 391 | } |
| 392 | else |
| 393 | for (size_t k=0; k<l1; ++k) |
| 394 | { |
| 395 | { |
| 396 | PREP3(0) |
| 397 | PARTSTEP3a(1,2,tw1r,tw1i) |
| 398 | } |
| 399 | for (size_t i=1; i<ido; ++i) |
| 400 | { |
| 401 | PREP3(i) |
| 402 | PARTSTEP3b(1,2,tw1r,tw1i) |
| 403 | } |
| 404 | } |
| 405 | } |
| 406 | #define PARTSTEP3f(u1,u2,twr,twi) \ |
| 407 | { \ |
| 408 | cmplx ca,cb,da,db; \ |