cadencii.fft.cftbsub C# (CSharp) Method

cftbsub() static private method

static private cftbsub ( int n, double a, int ip, int nw, double w ) : void
n int
a double
ip int
nw int
w double
return void
        static void cftbsub( int n, double* a, int* ip, int nw, double* w ) {
            //void bitrv2conj(int n, int *ip, double *a);
            //void bitrv216neg(double *a);
            //void bitrv208neg(double *a);
            //void cftb1st(int n, double *a, double *w);
            //void cftrec4(int n, double *a, int nw, double *w);
            //void cftleaf(int n, int isplt, double *a, int nw, double *w);
            //void cftfx41(int n, double *a, int nw, double *w);
            //void cftf161(double *a, double *w);
            //void cftf081(double *a, double *w);
            //void cftb040(double *a);
            //void cftx020(double *a);

            if ( n > 8 ) {
                if ( n > 32 ) {
                    cftb1st( n, a, &w[nw - (n >> 2)] );
                    if ( n > 512 ) {
                        cftrec4( n, a, nw, w );
                    } else if ( n > 128 ) {
                        cftleaf( n, 1, a, nw, w );
                    } else {
                        cftfx41( n, a, nw, w );
                    }
                    bitrv2conj( n, ip, a );
                } else if ( n == 32 ) {
                    cftf161( a, &w[nw - 8] );
                    bitrv216neg( a );
                } else {
                    cftf081( a, w );
                    bitrv208neg( a );
                }
            } else if ( n == 8 ) {
                cftb040( a );
            } else if ( n == 4 ) {
                cftx020( a );
            }
        }