| 1545 | |
| 1546 | #if 0 |
| 1547 | static void ffts1(SPFLOAT * ioptr, int M, SPFLOAT * Utbl, int16_t * BRLow) |
| 1548 | { |
| 1549 | /* Compute in-place complex fft on the rows of the input array */ |
| 1550 | /* INPUTS */ |
| 1551 | /* *ioptr = input data array */ |
| 1552 | /* M = log2 of fft size (ex M=10 for 1024 point fft) */ |
| 1553 | /* *Utbl = cosine table */ |
| 1554 | /* *BRLow = bit reversed counter table */ |
| 1555 | /* OUTPUTS */ |
| 1556 | /* *ioptr = output data array */ |
| 1557 | |
| 1558 | int StageCnt; |
| 1559 | int NDiffU; |
| 1560 | |
| 1561 | switch (M) |
| 1562 | { |
| 1563 | case 0: |
| 1564 | break; |
| 1565 | case 1: |
| 1566 | fft2pt(ioptr); /* a 2 pt fft */ |
| 1567 | break; |
| 1568 | case 2: |
| 1569 | fft4pt(ioptr); /* a 4 pt fft */ |
| 1570 | break; |
| 1571 | case 3: |
| 1572 | fft8pt(ioptr); /* an 8 pt fft */ |
| 1573 | break; |
| 1574 | default: |
| 1575 | bitrevR2(ioptr, M, BRLow); /* bit reverse and first radix 2 stage */ |
| 1576 | StageCnt = (M - 1) / 3; /* number of radix 8 stages */ |
| 1577 | NDiffU = 2; /* one radix 2 stage already complete */ |
| 1578 | if ((M - 1 - (StageCnt * 3)) == 1) |
| 1579 | { |
| 1580 | bfR2(ioptr, M, NDiffU); /* 1 radix 2 stage */ |
| 1581 | NDiffU *= 2; |
| 1582 | } |
| 1583 | if ((M - 1 - (StageCnt * 3)) == 2) |
| 1584 | { |
| 1585 | bfR4(ioptr, M, NDiffU); /* 1 radix 4 stage */ |
| 1586 | NDiffU *= 4; |
| 1587 | } |
| 1588 | if (M <= (int) MCACHE) |
| 1589 | bfstages(ioptr, M, Utbl, 1, NDiffU, StageCnt); /* RADIX 8 Stages */ |
| 1590 | else |
| 1591 | fftrecurs(ioptr, M, Utbl, 1, NDiffU, StageCnt); /* RADIX 8 Stages */ |
| 1592 | } |
| 1593 | } |
| 1594 | #endif |
| 1595 | |
| 1596 | /****************** |