78     stage_count = factors[0];
    80     mstride = factors[ (stage_count << 1) - 1 ];
    81     N = factors[ stage_count << 1 ]; 
    94         for (f_count = 0; f_count < fstride; f_count ++)
    96             Fout1 = & Fout[ f_count * 8 ];
   109             scratch_in[0].
r = Fin1[0].
r + Fin1[fstride * 4].
r;
   110             scratch_in[0].
i = Fin1[0].
i + Fin1[fstride * 4].
i;
   111             scratch_in[1].
r = Fin1[0].
r - Fin1[fstride * 4].
r;
   112             scratch_in[1].
i = Fin1[0].
i - Fin1[fstride * 4].
i;
   113             scratch_in[2].
r = Fin1[fstride].
r + Fin1[fstride * 5].
r;
   114             scratch_in[2].
i = Fin1[fstride].
i + Fin1[fstride * 5].
i;
   115             scratch_in[3].
r = Fin1[fstride].
r - Fin1[fstride * 5].
r;
   116             scratch_in[3].
i = Fin1[fstride].
i - Fin1[fstride * 5].
i;
   117             scratch_in[4].
r = Fin1[fstride * 2].
r + Fin1[fstride * 6].
r;
   118             scratch_in[4].
i = Fin1[fstride * 2].
i + Fin1[fstride * 6].
i;
   119             scratch_in[5].
r = Fin1[fstride * 2].
r - Fin1[fstride * 6].
r;
   120             scratch_in[5].
i = Fin1[fstride * 2].
i - Fin1[fstride * 6].
i;
   121             scratch_in[6].
r = Fin1[fstride * 3].
r + Fin1[fstride * 7].
r;
   122             scratch_in[6].
i = Fin1[fstride * 3].
i + Fin1[fstride * 7].
i;
   123             scratch_in[7].
r = Fin1[fstride * 3].
r - Fin1[fstride * 7].
r;
   124             scratch_in[7].
i = Fin1[fstride * 3].
i - Fin1[fstride * 7].
i;
   127             scratch[0] = scratch_in[0];
   128             scratch[1] = scratch_in[1];
   130             scratch[2] = scratch_in[2];
   134             scratch[4] = scratch_in[4];
   135             scratch[5].
r = scratch_in[5].
i;
   136             scratch[5].
i = -scratch_in[5].
r;
   138             scratch[6].
r = scratch_in[6].
r;
   139             scratch[6].
i = scratch_in[6].
i;
   144             scratch[8].
r = scratch[0].
r + scratch[4].
r;
   145             scratch[8].
i = scratch[0].
i + scratch[4].
i;
   146             scratch[9].
r = scratch[1].
r + scratch[5].
r;
   147             scratch[9].
i = scratch[1].
i + scratch[5].
i;
   149             scratch[10].
r = scratch[0].
r - scratch[4].
r;
   150             scratch[10].
i = scratch[0].
i - scratch[4].
i;
   151             scratch[11].
r = scratch[1].
r - scratch[5].
r;
   152             scratch[11].
i = scratch[1].
i - scratch[5].
i;
   155             scratch[12].
r = scratch[2].
r + scratch[6].
r;
   156             scratch[12].
i = scratch[2].
i + scratch[6].
i;
   157             scratch[13].
r = scratch[3].
r + scratch[7].
r;
   158             scratch[13].
i = scratch[3].
i + scratch[7].
i;
   160             scratch[14].
r = scratch[2].
r - scratch[6].
r;
   161             scratch[14].
i = scratch[2].
i - scratch[6].
i;
   162             scratch[15].
r = scratch[3].
r - scratch[7].
r;
   163             scratch[15].
i = scratch[3].
i - scratch[7].
i;
   166             scratch_out[4].
r = scratch[8].
r - scratch[12].
r;
   167             scratch_out[4].
i = scratch[8].
i - scratch[12].
i;
   168             scratch_out[5].
r = scratch[9].
r - scratch[13].
r;
   169             scratch_out[5].
i = scratch[9].
i - scratch[13].
i;
   172             scratch_out[0].
r = scratch[8].
r + scratch[12].
r;
   173             scratch_out[0].
i = scratch[8].
i + scratch[12].
i;
   174             scratch_out[1].
r = scratch[9].
r + scratch[13].
r;
   175             scratch_out[1].
i = scratch[9].
i + scratch[13].
i;
   178             scratch_out[2].
r = scratch[10].
r + scratch[14].
i;
   179             scratch_out[2].
i = scratch[10].
i - scratch[14].
r;
   180             scratch_out[3].
r = scratch[11].
r + scratch[15].
i;
   181             scratch_out[3].
i = scratch[11].
i - scratch[15].
r;
   184             scratch_out[6].
r = scratch[10].
r - scratch[14].
i;
   185             scratch_out[6].
i = scratch[10].
i + scratch[14].
r;
   186             scratch_out[7].
r = scratch[11].
r - scratch[15].
i;
   187             scratch_out[7].
i = scratch[11].
i + scratch[15].
r;
   190             Fout1[0] = scratch_out[0];
   191             Fout1[1] = scratch_out[1];
   192             Fout1[2] = scratch_out[2];
   193             Fout1[3] = scratch_out[3];
   194             Fout1[4] = scratch_out[4];
   195             Fout1[5] = scratch_out[5];
   196             Fout1[6] = scratch_out[6];
   197             Fout1[7] = scratch_out[7];
   212         for (f_count = fstride; f_count ; f_count --)
   215             scratch_in[0] = *Fin1;
   216             Fin2 = Fin1 + fstride;
   217             scratch_in[1] = *Fin2;
   218             Fin2 = Fin2 + fstride;
   219             scratch_in[2] = *Fin2;
   220             Fin2 = Fin2 + fstride;
   221             scratch_in[3] = *Fin2;
   224             if (scaled_flag == 1)
   233             scratch[0].
r = scratch_in[0].
r + scratch_in[2].
r;
   234             scratch[0].
i = scratch_in[0].
i + scratch_in[2].
i;
   236             scratch[1].
r = scratch_in[0].
r - scratch_in[2].
r;
   237             scratch[1].
i = scratch_in[0].
i - scratch_in[2].
i;
   240             scratch[2].
r = scratch_in[1].
r + scratch_in[3].
r;
   241             scratch[2].
i = scratch_in[1].
i + scratch_in[3].
i;
   243             scratch[3].
r = scratch_in[1].
r - scratch_in[3].
r;
   244             scratch[3].
i = scratch_in[1].
i - scratch_in[3].
i;
   247             scratch_out[2].
r = scratch[0].
r - scratch[2].
r;
   248             scratch_out[2].
i = scratch[0].
i - scratch[2].
i;
   251             scratch_out[0].
r = scratch[0].
r + scratch[2].
r;
   252             scratch_out[0].
i = scratch[0].
i + scratch[2].
i;
   255             scratch_out[1].
r = scratch[1].
r + scratch[3].
i;
   256             scratch_out[1].
i = scratch[1].
i - scratch[3].
r;
   259             scratch_out[3].
r = scratch[1].
r - scratch[3].
i;
   260             scratch_out[3].
i = scratch[1].
i + scratch[3].
r;
   263             * Fout1 ++ = scratch_out[0];
   264             * Fout1 ++ = scratch_out[1];
   265             * Fout1 ++ = scratch_out[2];
   266             * Fout1 ++ = scratch_out[3];
   285         scratch_in[0] = Fin1[0];
   286         scratch_in[1] = Fin1[1];
   288         if (scaled_flag == 1)
   294         Fout1[0].
r = scratch_in[0].
r + scratch_in[1].
r;
   295         Fout1[0].
i = scratch_in[0].
i + scratch_in[1].
i;
   296         Fout1[1].
r = scratch_in[0].
r - scratch_in[1].
r;
   297         Fout1[1].
i = scratch_in[0].
i - scratch_in[1].
i;
   308     for (; stage_count > 1 ; stage_count--)
   311         for (f_count = 0; f_count < fstride; f_count ++)
   313             Fout1 = & Fout[ f_count * mstride << 2 ];
   315             for (m_count = mstride; m_count ; m_count --)
   318                 scratch_tw[0] = *tw1;
   320                 scratch_tw[1] = *tw2;
   322                 scratch_tw[2] = *tw2;
   323                 scratch_in[0] = * Fin1;
   325                 scratch_in[1] = * Fin2;
   327                 scratch_in[2] = * Fin2;
   329                 scratch_in[3] = * Fin2;
   330                 if (scaled_flag == 1)
   340                 scratch[0] = scratch_in[0];
   357                 scratch[4].
r = scratch[0].
r + scratch[2].
r;
   358                 scratch[4].
i = scratch[0].
i + scratch[2].
i;
   360                 scratch[5].
r = scratch[0].
r - scratch[2].
r;
   361                 scratch[5].
i = scratch[0].
i - scratch[2].
i;
   364                 scratch[6].
r = scratch[1].
r + scratch[3].
r;
   365                 scratch[6].
i = scratch[1].
i + scratch[3].
i;
   367                 scratch[7].
r = scratch[1].
r - scratch[3].
r;
   368                 scratch[7].
i = scratch[1].
i - scratch[3].
i;
   371                 scratch_out[2].
r = scratch[4].
r - scratch[6].
r;
   372                 scratch_out[2].
i = scratch[4].
i - scratch[6].
i;
   375                 scratch_out[0].
r = scratch[4].
r + scratch[6].
r;
   376                 scratch_out[0].
i = scratch[4].
i + scratch[6].
i;
   379                 scratch_out[1].
r = scratch[5].
r + scratch[7].
i;
   380                 scratch_out[1].
i = scratch[5].
i - scratch[7].
r;
   383                 scratch_out[3].
r = scratch[5].
r - scratch[7].
i;
   384                 scratch_out[3].
i = scratch[5].
i + scratch[7].
r;
   387                 *Fout1 = scratch_out[0];
   388                 Fout2 = Fout1 + mstride;
   389                 *Fout2 = scratch_out[1];
   391                 *Fout2 = scratch_out[2];
   393                 *Fout2 = scratch_out[3];
   416         for (f_count = 0; f_count < fstride; f_count ++)
   419             for (m_count = mstride; m_count ; m_count --)
   422                 scratch_tw[0] = *tw1;
   424                 scratch_tw[1] = *tw2;
   426                 scratch_tw[2] = *tw2;
   427                 scratch_in[0] = * Fin1;
   429                 scratch_in[1] = * Fin2;
   431                 scratch_in[2] = * Fin2;
   433                 scratch_in[3] = * Fin2;
   434                 if (scaled_flag == 1)
   444                 scratch[0] = scratch_in[0];
   461                 scratch[4].
r = scratch[0].
r + scratch[2].
r;
   462                 scratch[4].
i = scratch[0].
i + scratch[2].
i;
   464                 scratch[5].
r = scratch[0].
r - scratch[2].
r;
   465                 scratch[5].
i = scratch[0].
i - scratch[2].
i;
   468                 scratch[6].
r = scratch[1].
r + scratch[3].
r;
   469                 scratch[6].
i = scratch[1].
i + scratch[3].
i;
   471                 scratch[7].
r = scratch[1].
r - scratch[3].
r;
   472                 scratch[7].
i = scratch[1].
i - scratch[3].
i;
   475                 scratch_out[2].
r = scratch[4].
r - scratch[6].
r;
   476                 scratch_out[2].
i = scratch[4].
i - scratch[6].
i;
   479                 scratch_out[0].
r = scratch[4].
r + scratch[6].
r;
   480                 scratch_out[0].
i = scratch[4].
i + scratch[6].
i;
   483                 scratch_out[1].
r = scratch[5].
r + scratch[7].
i;
   484                 scratch_out[1].
i = scratch[5].
i - scratch[7].
r;
   487                 scratch_out[3].
r = scratch[5].
r - scratch[7].
i;
   488                 scratch_out[3].
i = scratch[5].
i + scratch[7].
r;
   491                 *Fout1 = scratch_out[0];
   493                 *Fout2 = scratch_out[1];
   495                 *Fout2 = scratch_out[2];
   497                 *Fout2 = scratch_out[3];
   531     stage_count = factors[0];
   532     fstride = factors[1];
   533     mstride = factors[ (stage_count << 1) - 1 ];
   534     N = factors[ stage_count << 1 ]; 
   547         for (f_count = 0; f_count < fstride; f_count ++)
   549             Fout1 = & Fout[ f_count * 8 ];
   551             if (scaled_flag == 1)
   563             scratch_in[0].
r = Fin1[0].
r + Fin1[fstride * 4].
r;
   564             scratch_in[0].
i = Fin1[0].
i + Fin1[fstride * 4].
i;
   565             scratch_in[1].
r = Fin1[0].
r - Fin1[fstride * 4].
r;
   566             scratch_in[1].
i = Fin1[0].
i - Fin1[fstride * 4].
i;
   567             scratch_in[2].
r = Fin1[fstride].
r + Fin1[fstride * 5].
r;
   568             scratch_in[2].
i = Fin1[fstride].
i + Fin1[fstride * 5].
i;
   569             scratch_in[3].
r = Fin1[fstride].
r - Fin1[fstride * 5].
r;
   570             scratch_in[3].
i = Fin1[fstride].
i - Fin1[fstride * 5].
i;
   571             scratch_in[4].
r = Fin1[fstride * 2].
r + Fin1[fstride * 6].
r;
   572             scratch_in[4].
i = Fin1[fstride * 2].
i + Fin1[fstride * 6].
i;
   573             scratch_in[5].
r = Fin1[fstride * 2].
r - Fin1[fstride * 6].
r;
   574             scratch_in[5].
i = Fin1[fstride * 2].
i - Fin1[fstride * 6].
i;
   575             scratch_in[6].
r = Fin1[fstride * 3].
r + Fin1[fstride * 7].
r;
   576             scratch_in[6].
i = Fin1[fstride * 3].
i + Fin1[fstride * 7].
i;
   577             scratch_in[7].
r = Fin1[fstride * 3].
r - Fin1[fstride * 7].
r;
   578             scratch_in[7].
i = Fin1[fstride * 3].
i - Fin1[fstride * 7].
i;
   582             scratch[0] = scratch_in[0];
   583             scratch[1] = scratch_in[1];
   585             scratch[2] = scratch_in[2];
   589             scratch[4] = scratch_in[4];
   590             scratch[5].
r = -scratch_in[5].
i;
   591             scratch[5].
i = scratch_in[5].
r;
   593             scratch[6].
r = scratch_in[6].
r;
   594             scratch[6].
i = scratch_in[6].
i;
   599             scratch[8].
r = scratch[0].
r + scratch[4].
r;
   600             scratch[8].
i = scratch[0].
i + scratch[4].
i;
   601             scratch[9].
r = scratch[1].
r + scratch[5].
r;
   602             scratch[9].
i = scratch[1].
i + scratch[5].
i;
   604             scratch[10].
r = scratch[0].
r - scratch[4].
r;
   605             scratch[10].
i = scratch[0].
i - scratch[4].
i;
   606             scratch[11].
r = scratch[1].
r - scratch[5].
r;
   607             scratch[11].
i = scratch[1].
i - scratch[5].
i;
   610             scratch[12].
r = scratch[2].
r + scratch[6].
r;
   611             scratch[12].
i = scratch[2].
i + scratch[6].
i;
   612             scratch[13].
r = scratch[3].
r + scratch[7].
r;
   613             scratch[13].
i = scratch[3].
i + scratch[7].
i;
   615             scratch[14].
r = scratch[2].
r - scratch[6].
r;
   616             scratch[14].
i = scratch[2].
i - scratch[6].
i;
   617             scratch[15].
r = scratch[3].
r - scratch[7].
r;
   618             scratch[15].
i = scratch[3].
i - scratch[7].
i;
   621             scratch_out[4].
r = scratch[8].
r - scratch[12].
r;
   622             scratch_out[4].
i = scratch[8].
i - scratch[12].
i;
   623             scratch_out[5].
r = scratch[9].
r - scratch[13].
r;
   624             scratch_out[5].
i = scratch[9].
i - scratch[13].
i;
   627             scratch_out[0].
r = scratch[8].
r + scratch[12].
r;
   628             scratch_out[0].
i = scratch[8].
i + scratch[12].
i;
   629             scratch_out[1].
r = scratch[9].
r + scratch[13].
r;
   630             scratch_out[1].
i = scratch[9].
i + scratch[13].
i;
   633             scratch_out[2].
r = scratch[10].
r - scratch[14].
i;
   634             scratch_out[2].
i = scratch[10].
i + scratch[14].
r;
   635             scratch_out[3].
r = scratch[11].
r - scratch[15].
i;
   636             scratch_out[3].
i = scratch[11].
i + scratch[15].
r;
   639             scratch_out[6].
r = scratch[10].
r + scratch[14].
i;
   640             scratch_out[6].
i = scratch[10].
i - scratch[14].
r;
   641             scratch_out[7].
r = scratch[11].
r + scratch[15].
i;
   642             scratch_out[7].
i = scratch[11].
i - scratch[15].
r;
   645             Fout1[0] = scratch_out[0];
   646             Fout1[1] = scratch_out[1];
   647             Fout1[2] = scratch_out[2];
   648             Fout1[3] = scratch_out[3];
   649             Fout1[4] = scratch_out[4];
   650             Fout1[5] = scratch_out[5];
   651             Fout1[6] = scratch_out[6];
   652             Fout1[7] = scratch_out[7];
   667         for (f_count = fstride; f_count ; f_count --)
   670             scratch_in[0] = *Fin1;
   671             Fin2 = Fin1 + fstride;
   672             scratch_in[1] = *Fin2;
   673             Fin2 = Fin2 + fstride;
   674             scratch_in[2] = *Fin2;
   675             Fin2 = Fin2 + fstride;
   676             scratch_in[3] = *Fin2;
   679             if (scaled_flag == 1)
   688             scratch[0].
r = scratch_in[0].
r + scratch_in[2].
r;
   689             scratch[0].
i = scratch_in[0].
i + scratch_in[2].
i;
   691             scratch[1].
r = scratch_in[0].
r - scratch_in[2].
r;
   692             scratch[1].
i = scratch_in[0].
i - scratch_in[2].
i;
   695             scratch[2].
r = scratch_in[1].
r + scratch_in[3].
r;
   696             scratch[2].
i = scratch_in[1].
i + scratch_in[3].
i;
   698             scratch[3].
r = scratch_in[1].
r - scratch_in[3].
r;
   699             scratch[3].
i = scratch_in[1].
i - scratch_in[3].
i;
   702             scratch_out[2].
r = scratch[0].
r - scratch[2].
r;
   703             scratch_out[2].
i = scratch[0].
i - scratch[2].
i;
   706             scratch_out[0].
r = scratch[0].
r + scratch[2].
r;
   707             scratch_out[0].
i = scratch[0].
i + scratch[2].
i;
   710             scratch_out[1].
r = scratch[1].
r - scratch[3].
i;
   711             scratch_out[1].
i = scratch[1].
i + scratch[3].
r;
   714             scratch_out[3].
r = scratch[1].
r + scratch[3].
i;
   715             scratch_out[3].
i = scratch[1].
i - scratch[3].
r;
   718             * Fout1 ++ = scratch_out[0];
   719             * Fout1 ++ = scratch_out[1];
   720             * Fout1 ++ = scratch_out[2];
   721             * Fout1 ++ = scratch_out[3];
   740         scratch_in[0] = Fin1[0];
   741         scratch_in[1] = Fin1[1];
   743         if (scaled_flag == 1)
   749         Fout1[0].
r = scratch_in[0].
r + scratch_in[1].
r;
   750         Fout1[0].
i = scratch_in[0].
i + scratch_in[1].
i;
   751         Fout1[1].
r = scratch_in[0].
r - scratch_in[1].
r;
   752         Fout1[1].
i = scratch_in[0].
i - scratch_in[1].
i;
   763     for (; stage_count > 1 ; stage_count--)
   766         for (f_count = 0; f_count < fstride; f_count ++)
   768             Fout1 = & Fout[ f_count * mstride << 2 ];
   770             for (m_count = mstride; m_count ; m_count --)
   773                 scratch_tw[0] = *tw1;
   775                 scratch_tw[1] = *tw2;
   777                 scratch_tw[2] = *tw2;
   778                 scratch_in[0] = * Fin1;
   780                 scratch_in[1] = * Fin2;
   782                 scratch_in[2] = * Fin2;
   784                 scratch_in[3] = * Fin2;
   785                 if (scaled_flag == 1)
   795                 scratch[0] = scratch_in[0];
   812                 scratch[4].
r = scratch[0].
r + scratch[2].
r;
   813                 scratch[4].
i = scratch[0].
i + scratch[2].
i;
   815                 scratch[5].
r = scratch[0].
r - scratch[2].
r;
   816                 scratch[5].
i = scratch[0].
i - scratch[2].
i;
   819                 scratch[6].
r = scratch[1].
r + scratch[3].
r;
   820                 scratch[6].
i = scratch[1].
i + scratch[3].
i;
   822                 scratch[7].
r = scratch[1].
r - scratch[3].
r;
   823                 scratch[7].
i = scratch[1].
i - scratch[3].
i;
   826                 scratch_out[2].
r = scratch[4].
r - scratch[6].
r;
   827                 scratch_out[2].
i = scratch[4].
i - scratch[6].
i;
   830                 scratch_out[0].
r = scratch[4].
r + scratch[6].
r;
   831                 scratch_out[0].
i = scratch[4].
i + scratch[6].
i;
   834                 scratch_out[1].
r = scratch[5].
r - scratch[7].
i;
   835                 scratch_out[1].
i = scratch[5].
i + scratch[7].
r;
   838                 scratch_out[3].
r = scratch[5].
r + scratch[7].
i;
   839                 scratch_out[3].
i = scratch[5].
i - scratch[7].
r;
   842                 *Fout1 = scratch_out[0];
   843                 Fout2 = Fout1 + mstride;
   844                 *Fout2 = scratch_out[1];
   846                 *Fout2 = scratch_out[2];
   848                 *Fout2 = scratch_out[3];
   871         for (f_count = 0; f_count < fstride; f_count ++)
   874             for (m_count = mstride; m_count ; m_count --)
   877                 scratch_tw[0] = *tw1;
   879                 scratch_tw[1] = *tw2;
   881                 scratch_tw[2] = *tw2;
   882                 scratch_in[0] = * Fin1;
   884                 scratch_in[1] = * Fin2;
   886                 scratch_in[2] = * Fin2;
   888                 scratch_in[3] = * Fin2;
   889                 if (scaled_flag == 1)
   899                 scratch[0] = scratch_in[0];
   916                 scratch[4].
r = scratch[0].
r + scratch[2].
r;
   917                 scratch[4].
i = scratch[0].
i + scratch[2].
i;
   919                 scratch[5].
r = scratch[0].
r - scratch[2].
r;
   920                 scratch[5].
i = scratch[0].
i - scratch[2].
i;
   923                 scratch[6].
r = scratch[1].
r + scratch[3].
r;
   924                 scratch[6].
i = scratch[1].
i + scratch[3].
i;
   926                 scratch[7].
r = scratch[1].
r - scratch[3].
r;
   927                 scratch[7].
i = scratch[1].
i - scratch[3].
i;
   930                 scratch_out[2].
r = scratch[4].
r - scratch[6].
r;
   931                 scratch_out[2].
i = scratch[4].
i - scratch[6].
i;
   934                 scratch_out[0].
r = scratch[4].
r + scratch[6].
r;
   935                 scratch_out[0].
i = scratch[4].
i + scratch[6].
i;
   938                 scratch_out[1].
r = scratch[5].
r - scratch[7].
i;
   939                 scratch_out[1].
i = scratch[5].
i + scratch[7].
r;
   942                 scratch_out[3].
r = scratch[5].
r + scratch[7].
i;
   943                 scratch_out[3].
i = scratch[5].
i - scratch[7].
r;
   946                 *Fout1 = scratch_out[0];
   948                 *Fout2 = scratch_out[1];
   950                 *Fout2 = scratch_out[2];
   952                 *Fout2 = scratch_out[3];
   977     dst[0].
r = tdc.
r + tdc.
i;
   978     dst[ncfft].
r = tdc.
r - tdc.
i;
   979     dst[ncfft].
i = dst[0].
i = 0;
   981     for (k = 1; k <= ncfft / 2 ; ++k)
   984         fpnk.
r =   src[ncfft - k].
r;
   985         fpnk.
i = - src[ncfft - k].
i;
   992         f1k.
r = fpk.
r + fpnk.
r;
   993         f1k.
i = fpk.
i + fpnk.
i;
   995         f2k.
r = fpk.
r - fpnk.
r;
   996         f2k.
i = fpk.
i - fpnk.
i;
  1003         dst[k].
r = (f1k.
r + tw.
r) >> 1;
  1004         dst[k].
i = (f1k.
i + tw.
i) >> 1;
  1005         dst[ncfft - k].
r = (f1k.
r - tw.
r) >> 1;
  1006         dst[ncfft - k].
i = (tw.
i - f1k.
i) >> 1;
  1021     dst[0].
r = src[0].
r + src[ncfft].
r;
  1022     dst[0].
i = src[0].
r - src[ncfft].
r;
  1027     for (k = 1; k <= ncfft / 2; k++)
  1030         fnkc.
r = src[ncfft - k].
r;
  1031         fnkc.
i = -src[ncfft - k].
i;
  1038         fek.
r = fk.
r + fnkc.
r;
  1039         fek.
i = fk.
i + fnkc.
i;
  1041         tmp.
r = fk.
r - fnkc.
r;
  1042         tmp.
i = fk.
i - fnkc.
i;
  1049         dst[k].
r = fek.
r + fok.
r;
  1050         dst[k].
i = fek.
i + fok.
i;
  1052         dst[ncfft - k].
r = fek.
r - fok.
r;
  1053         dst[ncfft - k].
i = fok.
i - fek.
i;
  1112         for (; stage_count > 0; stage_count --)
  1114             cur_radix = factors[2 * stage_count];
  1115             fstride /= cur_radix;
  1116             mstride = factors[2 * stage_count + 1];
  1117             for (j = 0; j < mstride; j++)
  1119                 for (k = 1; k < cur_radix; k++) 
  1121                     phase = -2 * pi * fstride * k * j / nfft;
  1126             twiddles += mstride * (cur_radix - 1);
  1144         ne10_mixed_radix_butterfly_inverse_int16_c (fout, fin, cfg->
factors, cfg->
twiddles, cfg->
buffer, scaled_flag);
  1146         ne10_mixed_radix_butterfly_int16_c (fout, fin, cfg->
factors, cfg->
twiddles, cfg->
buffer, scaled_flag);
  1208         for (; stage_count > 0; stage_count --)
  1210             cur_radix = factors[2 * stage_count];
  1211             fstride /= cur_radix;
  1212             mstride = factors[2 * stage_count + 1];
  1213             for (j = 0; j < mstride; j++)
  1215                 for (k = 1; k < cur_radix; k++) 
  1217                     phase = -2 * pi * fstride * k * j / ncfft;
  1222             twiddles += mstride * (cur_radix - 1);
  1226         for (j = 0; j < ncfft / 2; j++)
 Structure for the 16-bit fixed point FFT function. 
ne10_fft_cpx_int16_t * twiddles
ne10_fft_cpx_int16_t * twiddles
#define NE10_MAXFACTORS
Structure for the floating point FFT function. 
void ne10_fft_c2r_1d_int16_c(ne10_int16_t *fout, ne10_fft_cpx_int16_t *fin, ne10_fft_r2c_cfg_int16_t cfg, ne10_int32_t scaled_flag)
Specific implementation of ne10_fft_c2r_1d_int16 using plain C. 
ne10_int32_t ne10_factor(ne10_int32_t n, ne10_int32_t *facbuf, ne10_int32_t ne10_factor_flags)
void ne10_fft_c2c_1d_int16_c(ne10_fft_cpx_int16_t *fout, ne10_fft_cpx_int16_t *fin, ne10_fft_cfg_int16_t cfg, ne10_int32_t inverse_fft, ne10_int32_t scaled_flag)
Specific implementation of ne10_fft_c2c_1d_int16 using plain C. 
void ne10_fft_r2c_1d_int16_c(ne10_fft_cpx_int16_t *fout, ne10_int16_t *fin, ne10_fft_r2c_cfg_int16_t cfg, ne10_int32_t scaled_flag)
Specific implementation of ne10_fft_r2c_1d_int16 using plain C. 
#define NE10_F2I16_SAMPPROD
#define NE10_FFT_BYTE_ALIGNMENT
ne10_fft_cpx_int16_t * super_twiddles
#define NE10_PI
NE10 defines a number of macros for use in its function signatures. 
Structure for the 32-bit fixed point FFT function. 
#define NE10_F2I16_FIXDIV(c, div)
#define NE10_FACTOR_EIGHT_FIRST_STAGE
ne10_fft_cpx_int16_t * buffer
ne10_fft_r2c_cfg_int16_t ne10_fft_alloc_r2c_int16(ne10_int32_t nfft)
Creates a configuration structure for variants of ne10_fft_r2c_1d_int16 and ne10_fft_c2r_1d_int16. 
#define NE10_BYTE_ALIGNMENT(address, alignment)
ne10_fft_r2c_state_int16_t * ne10_fft_r2c_cfg_int16_t
ne10_fft_cfg_int16_t ne10_fft_alloc_c2c_int16(ne10_int32_t nfft)
Creates a configuration structure for variants of ne10_fft_c2c_1d_int16. 
ne10_fft_state_int16_t * ne10_fft_cfg_int16_t
ne10_fft_cpx_int16_t * buffer