| 684 | } |
| 685 | |
| 686 | static void fft2pt(SPFLOAT * ioptr) |
| 687 | { |
| 688 | /*** RADIX 2 fft ***/ |
| 689 | SPFLOAT f0r, f0i, f1r, f1i; |
| 690 | SPFLOAT t0r, t0i; |
| 691 | |
| 692 | /* bit reversed load */ |
| 693 | f0r = ioptr[0]; |
| 694 | f0i = ioptr[1]; |
| 695 | f1r = ioptr[2]; |
| 696 | f1i = ioptr[3]; |
| 697 | |
| 698 | /* Butterflys */ |
| 699 | /* |
| 700 | f0 - - t0 |
| 701 | f1 - 1 - f1 |
| 702 | */ |
| 703 | |
| 704 | t0r = f0r + f1r; |
| 705 | t0i = f0i + f1i; |
| 706 | f1r = f0r - f1r; |
| 707 | f1i = f0i - f1i; |
| 708 | |
| 709 | /* store result */ |
| 710 | ioptr[0] = t0r; |
| 711 | ioptr[1] = t0i; |
| 712 | ioptr[2] = f1r; |
| 713 | ioptr[3] = f1i; |
| 714 | } |
| 715 | |
| 716 | static void fft4pt(SPFLOAT * ioptr) |
| 717 | { |