| 1738 | } |
| 1739 | |
| 1740 | static void ifft2pt(SPFLOAT * ioptr, SPFLOAT scale) |
| 1741 | { |
| 1742 | /*** RADIX 2 ifft ***/ |
| 1743 | SPFLOAT f0r, f0i, f1r, f1i; |
| 1744 | SPFLOAT t0r, t0i; |
| 1745 | |
| 1746 | /* bit reversed load */ |
| 1747 | f0r = ioptr[0]; |
| 1748 | f0i = ioptr[1]; |
| 1749 | f1r = ioptr[2]; |
| 1750 | f1i = ioptr[3]; |
| 1751 | |
| 1752 | /* Butterflys */ |
| 1753 | /* |
| 1754 | f0 - - t0 |
| 1755 | f1 - 1 - f1 |
| 1756 | */ |
| 1757 | |
| 1758 | t0r = f0r + f1r; |
| 1759 | t0i = f0i + f1i; |
| 1760 | f1r = f0r - f1r; |
| 1761 | f1i = f0i - f1i; |
| 1762 | |
| 1763 | /* store result */ |
| 1764 | ioptr[0] = scale * t0r; |
| 1765 | ioptr[1] = scale * t0i; |
| 1766 | ioptr[2] = scale * f1r; |
| 1767 | ioptr[3] = scale * f1i; |
| 1768 | } |
| 1769 | |
| 1770 | static void ifft4pt(SPFLOAT * ioptr, SPFLOAT scale) |
| 1771 | { |