#include #include #include #include #include #include #define SWAP(a,b) temp=(a);(a)=(b);(b)=temp #define LIW 15 #define MYDEBUG 1 #define CSWAP(a,b) ctemp=(a);(a)=(b);(b)=ctemp #define Switches (volatile char *) 0x01003020 #define LEDs (char *) 0x01003030 /*-------------------------------------------------------------------------*/ /* C obfuncation test V1.0 using FFT_NIOS.c from the book DSP with FPGAs */ /* CUSTOM INSTRUCTION in software for NIOS system without BFPROC */ /* This file is copyrighted 2011 by Dr. Uwe Meyer-Baese */ /*-------------------------------------------------------------------------*/ typedef struct{ long int ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 , l1l11lll1l11l1ll1l111l11llll11ll1111lllll11llllll11ll1ll11lll1ll1llll11l11l1111l111l11lll11l11l1111111lll1lll1l111l1lll1111l1l11 ;} icomplex; char str[ 50]; int ll11l11ll11l1111lll1l11l1l11l1l11l11ll1l11ll1l1l1l1ll1111llll1l1111l11ll1l11ll111l111l1111l1111lllll1lll1l1l1lllll111ll1l1ll1lll , l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 , ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 , l1lll1111ll11l1ll1l111ll1l1111l11lll1ll11l1lll1lll111l1l11l1111ll111ll1ll111l1lll1111lllllllll11lll11l1l1l1ll11l11l1llll1lll11ll = 0; int l1llll1ll11l111lll11llll1lll11ll1111lll111l11111lll111ll111l11l1llllll1l11llll11l1lllllll1ll1l1111llll1ll11l1ll1l1l1l111l1l111l1 [ 15], l11l11l1ll1lll11111ll1l1l1111ll1lll1lllll1llll1ll11ll1l1ll1ll111l1l1l1111ll111ll1l11ll11lll1l111l1l11llllll11111llllll1ll1lll11l , l1ll11l111111l11ll1l11111ll1ll1l11lll1ll11ll1111111llll1111lllll11l1lll1ll11lll11lllll1l1ll1ll1111l1l11111ll11ll1l1l1111l11ll1l1 [ 15]; long int l1l11111l11111llll1l1l11111ll1llll1111lll1lll1ll11l11111ll1111l1l1l111llll1l1lllllll1ll11l11l11111l1l1l111l1l1ll1l111ll11lll1l1l , ll1l1ll111lll11llll1l1ll1l111l111lll11l1llllllll111l1ll1llll1l1ll11llll1ll111l11111llll1lll1l11ll1l1l11ll1l11ll111l1l111lll1l1ll , ll1lllllll11ll11l11l1111llll11111l1ll1lllll1ll111l11ll11l111l11l1l11l111lll11ll11l1llllll111111l1lllllll1l111111lll111l1lllll1l1 , lllllll11ll1l11111l11111111111l11ll1l11l11l1ll11ll11ll1llll111ll1lll1l1ll11ll111ll11l1l111lll1l1l111l1l1111lll11ll1ll1lll1lll1ll , ll111111l11l11l111l1111lll1l1ll11llll11l1l1lll111l1l111l11111l11ll1ll111l1111l1l1ll11l1l1l1ll1l11l11lllllll1llll1l1111ll1l1ll1l1 , ll111l1111lllll1l11111l1lll1lllll1lll11ll111l11l11111llll111l1lllllll11l11ll11111l11llllll111l1l1ll1ll1111lll111l1lll11l111111l1 ; time_t t1, t2; typedef unsigned long l1llll1lll1l11111l11llll11l11llllllllll1l1l111l111l1ll1l1l11lllllll11l11111111l1lll1111lll1l11lll111ll11lll11l1l1lll1lll11l11111 ; long lll11llll1l1111lll11111l111llll1ll1ll1ll111l11l111llll1ll1l111lll1ll111l1111lllll111lllll11l1l1lll1l111l1l1l1l1l1lll111lll1ll1l1 ( ll1l1l1111l111lll1l111ll11ll11l1111111111l111111111ll1ll1ll11llll11lll1ll1l111l11lll1llll11ll111l111llll11l1l11ll111ll111111111l , l11l1l1lll1l1lll1ll1l1l1l1l1ll11lll1l1lll1ll1ll1l1l1llll1l11111lll1ll1l111111lllll1l1l111lll111llll11l1l11ll1l11111l1l11l111llll , l1ll11l1111l1l1llll11l11ll1ll11l11111ll1l111ll1l111l1l1l11lll11l1l1llll11111lll1ll11lll111l1ll11lll11llll111l1lll111l111lll1ll1l ){ long l11l1l11111ll1ll1lllll1ll1l11111l11l111l1ll1l1l1l1l1l111111l1l111111l111111l1l11l1111l11ll11l111ll1l111llll1lllllll1l1111l111l11 , l1lll11111ll111ll111l11111l1llll1111l1l1l1l1l111ll111ll11111lllllllll11l1ll1l1lll11ll1l11ll1l11l11l1lllll11llll1ll1l1l1l11l1ll1l ; long ll11ll1ll11lll11l1l111lllll11l11l11l111l1l111l1lll11ll1111111l1l11ll111l11l1l11l11l11lll1ll1l11l1ll11lll111l1l1llll11llll1llllll , l1lll1111l1111lll1ll11l1ll11l111l1llll1ll11l11ll11111111l1l1l1l11lll1llll111l1111l11111l11ll1l11lll1l1l1llll11lllll1l1llllll1l11 , l111ll1l1l1l111lll111111l11ll111lll1111l1ll11l1l1l1111llllllll1l1ll1l11ll11111ll1l1lll1l1l111ll11111l1lllll111ll1lll1ll11llll111 , l11l11ll1111l1l1l11l11ll1l111lll1ll1ll1lll1llll11llll11111llll11l11ll1ll11111lllll1ll111111111ll11ll1l1ll11l1l1l111l111l1ll1ll11 ; if( ll1l1l1111l111lll1l111ll11ll11l1111111111l111111111ll1ll1ll11llll11lll1ll1l111l11lll1llll11ll111l111llll11l1l11ll111ll111111111l == 1){ l1l11111l11111llll1l1l11111ll1llll1111lll1lll1ll11l11111ll1111l1l1l111llll1l1lllllll1ll11l11l11111l1l1l111l1l1ll1l111ll11lll1l1l = l11l1l1lll1l1lll1ll1l1l1l1l1ll11lll1l1lll1ll1ll1l1l1llll1l11111lll1ll1l111111lllll1l1l111lll111llll11l1l11ll1l11111l1l11l111llll ; ll1lllllll11ll11l11l1111llll11111l1ll1lllll1ll111l11ll11l111l11l1l11l111lll11ll11l1llllll111111l1lllllll1l111111lll111l1lllll1l1 = l1ll11l1111l1l1llll11l11ll1ll11l11111ll1l111ll1l111l1l1l11lll11l1l1llll11111lll1ll11lll111l1ll11lll11llll111l1lll111l111lll1ll1l ;}; if( ll1l1l1111l111lll1l111ll11ll11l1111111111l111111111ll1ll1ll11llll11lll1ll1l111l11lll1llll11ll111l111llll11l1l11ll111ll111111111l == 2){ ll1l1ll111lll11llll1l1ll1l111l111lll11l1llllllll111l1ll1llll1l1ll11llll1ll111l11111llll1lll1l11ll1l1l11ll1l11ll111l1l111lll1l1ll = l11l1l1lll1l1lll1ll1l1l1l1l1ll11lll1l1lll1ll1ll1l1l1llll1l11111lll1ll1l111111lllll1l1l111lll111llll11l1l11ll1l11111l1l11l111llll ; lllllll11ll1l11111l11111111111l11ll1l11l11l1ll11ll11ll1llll111ll1lll1l1ll11ll111ll11l1l111lll1l1l111l1l1111lll11ll1ll1lll1lll1ll = l1ll11l1111l1l1llll11l11ll1ll11l11111ll1l111ll1l111l1l1l11lll11l1l1llll11111lll1ll11lll111l1ll11lll11llll111l1lll111l111lll1ll1l ;}; if( ll1l1l1111l111lll1l111ll11ll11l1111111111l111111111ll1ll1ll11llll11lll1ll1l111l11lll1llll11ll111l111llll11l1l11ll111ll111111111l == 3){ ll111111l11l11l111l1111lll1l1ll11llll11l1l1lll111l1l111l11111l11ll1ll111l1111l1l1ll11l1l1l1ll1l11l11lllllll1llll1l1111ll1l1ll1l1 = l11l1l1lll1l1lll1ll1l1l1l1l1ll11lll1l1lll1ll1ll1l1l1llll1l11111lll1ll1l111111lllll1l1l111lll111llll11l1l11ll1l11111l1l11l111llll ; ll111l1111lllll1l11111l1lll1lllll1lll11ll111l11l11111llll111l1lllllll11l11ll11111l11llllll111l1l1ll1ll1111lll111l1lll11l111111l1 = l1ll11l1111l1l1llll11l11ll1ll11l11111ll1l111ll1l111l1l1l11lll11l1l1llll11111lll1ll11lll111l1ll11lll11llll111l1lll111l111lll1ll1l ;}; l11l1l11111ll1ll1lllll1ll1l11111l11l111l1ll1l1l1l1l1l111111l1l111111l111111l1l11l1111l11ll11l111ll1l111llll1lllllll1l1111l111l11 = l1l11111l11111llll1l1l11111ll1llll1111lll1lll1ll11l11111ll1111l1l1l111llll1l1lllllll1ll11l11l11111l1l1l111l1l1ll1l111ll11lll1l1l - ll1l1ll111lll11llll1l1ll1l111l111lll11l1llllllll111l1ll1llll1l1ll11llll1ll111l11111llll1lll1l11ll1l1l11ll1l11ll111l1l111lll1l1ll ; ll11ll1ll11lll11l1l111lllll11l11l11l111l1l111l1lll11ll1111111l1l11ll111l11l1l11l11l11lll1ll1l11l1ll11lll111l1l1llll11llll1llllll = ll1l1ll111lll11llll1l1ll1l111l111lll11l1llllllll111l1ll1llll1l1ll11llll1ll111l11111llll1lll1l11ll1l1l11ll1l11ll111l1l111lll1l1ll + l1l11111l11111llll1l1l11111ll1llll1111lll1lll1ll11l11111ll1111l1l1l111llll1l1lllllll1ll11l11l11111l1l1l111l1l1ll1l111ll11lll1l1l ; l1lll11111ll111ll111l11111l1llll1111l1l1l1l1l111ll111ll11111lllllllll11l1ll1l1lll11ll1l11ll1l11l11l1lllll11llll1ll1l1l1l11l1ll1l = ll1lllllll11ll11l11l1111llll11111l1ll1lllll1ll111l11ll11l111l11l1l11l111lll11ll11l1llllll111111l1lllllll1l111111lll111l1lllll1l1 - lllllll11ll1l11111l11111111111l11ll1l11l11l1ll11ll11ll1llll111ll1lll1l1ll11ll111ll11l1l111lll1l1l111l1l1111lll11ll1ll1lll1lll1ll ; l1lll1111l1111lll1ll11l1ll11l111l1llll1ll11l11ll11111111l1l1l1l11lll1llll111l1111l11111l11ll1l11lll1l1l1llll11lllll1l1llllll1l11 = lllllll11ll1l11111l11111111111l11ll1l11l11l1ll11ll11ll1llll111ll1lll1l1ll11ll111ll11l1l111lll1l1l111l1l1111lll11ll1ll1lll1lll1ll + ll1lllllll11ll11l11l1111llll11111l1ll1lllll1ll111l11ll11l111l11l1l11l111lll11ll11l1llllll111111l1lllllll1l111111lll111l1lllll1l1 ; l111ll1l1l1l111lll111111l11ll111lll1111l1ll11l1l1l1111llllllll1l1ll1l11ll11111ll1l1lll1l1l111ll11111l1lllll111ll1lll1ll11llll111 =( ll111111l11l11l111l1111lll1l1ll11llll11l1l1lll111l1l111l11111l11ll1ll111l1111l1l1ll11l1l1l1ll1l11l11lllllll1llll1l1111ll1l1ll1l1 * l11l1l11111ll1ll1lllll1ll1l11111l11l111l1ll1l1l1l1l1l111111l1l111111l111111l1l11l1111l11ll11l111ll1l111llll1lllllll1l1111l111l11 - ll111l1111lllll1l11111l1lll1lllll1lll11ll111l11l11111llll111l1lllllll11l11ll11111l11llllll111l1l1ll1ll1111lll111l1lll11l111111l1 * l1lll11111ll111ll111l11111l1llll1111l1l1l1l1l111ll111ll11111lllllllll11l1ll1l1lll11ll1l11ll1l11l11l1lllll11llll1ll1l1l1l11l1ll1l )>> LIW; l11l11ll1111l1l1l11l11ll1l111lll1ll1ll1lll1llll11llll11111llll11l11ll1ll11111lllll1ll111111111ll11ll1l1ll11l1l1l111l111l1ll1ll11 =( ll111111l11l11l111l1111lll1l1ll11llll11l1l1lll111l1l111l11111l11ll1ll111l1111l1l1ll11l1l1l1ll1l11l11lllllll1llll1l1111ll1l1ll1l1 * l1lll11111ll111ll111l11111l1llll1111l1l1l1l1l111ll111ll11111lllllllll11l1ll1l1lll11ll1l11ll1l11l11l1lllll11llll1ll1l1l1l11l1ll1l + ll111l1111lllll1l11111l1lll1lllll1lll11ll111l11l11111llll111l1lllllll11l11ll11111l11llllll111l1l1ll1ll1111lll111l1lll11l111111l1 * l11l1l11111ll1ll1lllll1ll1l11111l11l111l1ll1l1l1l1l1l111111l1l111111l111111l1l11l1111l11ll11l111ll1l111llll1lllllll1l1111l111l11 )>> LIW; if( ll1l1l1111l111lll1l111ll11ll11l1111111111l111111111ll1ll1ll11llll11lll1ll1l111l11lll1llll11ll111l111llll11l1l11ll111ll111111111l == 4) return ll11ll1ll11lll11l1l111lllll11l11l11l111l1l111l1lll11ll1111111l1l11ll111l11l1l11l11l11lll1ll1l11l1ll11lll111l1l1llll11llll1llllll ; else if( ll1l1l1111l111lll1l111ll11ll11l1111111111l111111111ll1ll1ll11llll11lll1ll1l111l11lll1llll11ll111l111llll11l1l11ll111ll111111111l == 5) return l1lll1111l1111lll1ll11l1ll11l111l1llll1ll11l11ll11111111l1l1l1l11lll1llll111l1111l11111l11ll1l11lll1l1l1llll11lllll1l1llllll1l11 ; else if( ll1l1l1111l111lll1l111ll11ll11l1111111111l111111111ll1ll1ll11llll11lll1ll1l111l11lll1llll11ll111l111llll11l1l11ll111ll111111111l == 6) return l111ll1l1l1l111lll111111l11ll111lll1111l1ll11l1l1l1111llllllll1l1ll1l11ll11111ll1l1lll1l1l111ll11111l1lllll111ll1lll1ll11llll111 ; else if( ll1l1l1111l111lll1l111ll11ll11l1111111111l111111111ll1ll1ll11llll11lll1ll1l111l11lll1llll11ll111l111llll11l1l11ll111ll111111111l == 7) return l11l11ll1111l1l1l11l11ll1l111lll1ll1ll1lll1llll11llll11111llll11l11ll1ll11111lllll1ll111111111ll11ll1l1ll11l1l1l111l111l1ll1ll11 ; else return 0;} int main(void){ int ll1lllll11lll11l1l1ll1lll1lllll1l11l1ll1l1l11ll111l1llll1lll1l1l11l1l1ll1llllllll111lllll1l11ll11l1111l11l11l1l1ll1l1l111l11ll11 , lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l , lll1lll11ll1lllllllll11l1llll11ll1llllll1llll1lll1111ll1ll1l1l111111l11lll1111ll1lll11l1l1ll11111l1l1l1l1l1ll1ll1111ll1llll1ll11 ; float l1111ll11ll1l11ll111llll11111l111ll11ll11ll1l1ll111ll1l1ll11ll1111l1lll1l111ll1111llllll11ll111111l1lll1ll11l1l111l11l111l1l11ll , l11l1l111lll1lll11l11llllll11ll1lll1111l1ll1l1ll111lll111l1l1l1ll1l111l11l1111llll1l1l1llll111l11ll1ll11111lll1lll11l1ll1ll111l1 = 3.14159265; int l111lll11ll11l1l11l1lll1l1llllll1l1ll11l1l1l1111lll1ll1l1l1111l111lll11llll1l1l1llll1lllll111l1ll1ll1lll11lllll1l11lllll1111l11l , l1ll11l1ll111llllll1ll1l1l111l1lll1ll1111ll1l11l1l1l11l1lll11l11l1ll1l111l1l1l1l11llll111llll11111111l11ll111l1l1l1lll1l1lll1lll , ll1l1ll1l1llll111l1l111lll1ll1lllll11l1ll1111111l1111l1l1ll1l111ll1l1l111lllll111l1ll1111l11l111l1l111lllll111l1ll11l1l1ll11111l , lll11l1111lll1ll11ll1ll1l1l111lll1l1ll111lll111l1111l111l1l1llll11l11l1l111lll11l1ll111l1l1ll1ll1ll11ll111l11l111ll11lllll11l111 , l111llll1l1ll11l1l1l1llll1l1ll1l11ll1l1l1l1l1lllll1l1l1l11l1111l11llll1111111l1ll111llll11ll1111l11ll1ll111l11l1l1l111l11l111l1l , ll111l11l1ll111ll1l11l11ll111ll11111ll1l11l11ll1l11l1111llll1l11ll111111l1111lll1ll11111l1l111l1lll11l111ll1lll1l1l111111llll1l1 , lllll111ll11l111l111ll111l1llll111l1lll11l111111l11llll1lll11lll1l1l11l1lll111111l11l111l1111l1111lll1l111l111l1l11ll1llll1l111l , l1l1ll11l1ll11ll1111ll1llllll1ll1ll111llll11l1l11l11l1lllll1ll11l11l11l1l1ll1ll11ll1ll1l1111ll11lll1l1ll1l11lll1l1l1111l11l111l1 , l11l111ll111ll111l1l11ll1lll1ll11l1lll1lll1l11ll1ll11l1lll11111l11l11l11l1lll111l11l1llll11l1llll1l1llll11l11l11l11111lllll111ll , l1l11l1l1llllllllllll11l1l1ll1l111ll1ll1111l111l11ll1llllll1l111llll1l11llll1l1ll11ll1lll1l1l1l11111l11l1l11ll1ll1llll11ll11l1l1 ; long int l11111l11lll11l1lll1l1ll1l11lll1lll1l1111l11111l1l111ll1l11ll111l11111ll1lll11111lll11ll111111ll1ll1l11l11111llll111ll11l11l11ll , lll1111111llll111111l111l11l11ll11l11lllll1lll11111111l1l1ll1l1l1l1l11ll1l1l1ll11lll11lll11ll111llll11ll11ll1l111l1ll1lll111l111 ,/* Warning: symbol tr already defined*/ l11l1l11111ll1ll1lllll1ll1l11111l11l111l1ll1l1l1l1l1l111111l1l111111l111111l1l11l1111l11ll11l111ll1l111llll1lllllll1l1111l111l11 ,/* Warning: symbol ti already defined*/ l1lll11111ll111ll111l11111l1llll1111l1l1l1l1l111ll111ll11111lllllllll11l1ll1l1lll11ll1l11ll1l11l11l1lllll11llll1ll1l1l1l11l1ll1l ; icomplex *coef, *x, *y, **z; icomplex ctemp; int l1l111111ll11lll1l111111l111111l1ll1llll111lll111l111l11111111lll1l1llllll1l111111llll111l1ll11lllll111111ll11l111l1l1lllll1ll1l , ll1l1l1ll1lll11111llll1l11111lll11l11ll1111l111l11l1l111111l11ll111l11llll1l1l11l11l1ll1l1l1l1lll111ll1lll1l1111lll111l11l1111ll , lllll11l1l1111l1ll111l1llllll11llll1ll1111llll11111lllllll11l1ll1l1l1l1l1lll1111lll1ll1111lll11l1lll1l1ll1l1l1111llll1111ll1lll1 ; *LEDs = 255; printf( "FFT beginning\n"); for( l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 = 3; l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 <= 12; l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 ++){ *LEDs = l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 ; ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 = 1<< l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 ; coef =( icomplex*) malloc( sizeof( icomplex)* ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 / 2); if( coef == NULL){ printf( " coef - Memory Allocation Failure\n"); exit( 1 );} x =( icomplex*) malloc( sizeof( icomplex)* ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 ); if( x == NULL){ printf( " x - Memory Allocation Failure\n"); exit( 1);} y =( icomplex*) malloc( sizeof( icomplex)* ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 ); if( y == NULL){ printf( " y - Memory Allocation Failure\n"); exit( 1);} l1111ll11ll1l11ll111llll11111l111ll11ll11ll1l1ll111ll1l1ll11ll1111l1lll1l111ll1111llllll11ll111111l1lll1ll11l1l111l11l111l1l11ll =( 2* l11l1l111lll1lll11l11llllll11ll1lll1111l1ll1l1ll111lll111l1l1l1ll1l111l11l1111llll1l1l1llll111l11ll1ll11111lll1lll11l1ll1ll111l1 )/ ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 ; for( lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l = 0; lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l <( ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 / 2); lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ++){ coef[ lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ]. ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 = ( long int)/* CAST */(( 1<< LIW)*cos( l1111ll11ll1l11ll111llll11111l111ll11ll11ll1l1ll111ll1l1ll11ll1111l1lll1l111ll1111llllll11ll111111l1lll1ll11l1l111l11l111l1l11ll * lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l )); coef[ lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ]. l1l11lll1l11l1ll1l111l11llll11ll1111lllll11llllll11ll1ll11lll1ll1llll11l11l1111l111l11lll11l11l1111111lll1lll1l111l1lll1111l1l11 = (long int )/* CAST */(( 1<< LIW)*sin( l1111ll11ll1l11ll111llll11111l111ll11ll11ll1l1ll111ll1l1ll11ll1111l1lll1l111ll1111llllll11ll111111l1lll1ll11l1l111l11l111l1l11ll * lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ));} if( MYDEBUG == 2){ printf( "**** UMB Fast SIN/COS coeffs for length %d\n", ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 ); for( lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l = 0; lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l <( ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 / 2); lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ++) printf( "(%ld)+i(%ld)\n", coef[ lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ]. ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 , coef[ lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ]. l1l11lll1l11l1ll1l111l11llll11ll1111lllll11llllll11ll1ll11lll1ll1llll11l11l1111l111l11lll11l11l1111111lll1lll1l111l1lll1111l1l11 );} for( lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l = 0; lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l < 8; lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ++) x[ lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ]. ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 =( lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l +1)* 20; for( lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l = 8; lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l < ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 ; lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ++) x[ lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ]. ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 = 0; for( lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l = 0; lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l < ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 ; lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ++) x[ lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ]. l1l11lll1l11l1ll1l111l11llll11ll1111lllll11llllll11ll1ll11lll1ll1llll11l11l1111l111l11lll11l11l1111111lll1lll1l111l1lll1111l1l11 = 0; if( MYDEBUG == 2){ printf( "**** First 4 RADIX-2 FFT INPUT for length %d\n", ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 ); for( lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l = 0; lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l < 4; lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ++) printf( "(%ld)+i(%ld)\n", x[ lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ]. ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 , x[ lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ]. l1l11lll1l11l1ll1l111l11llll11ll1111lllll11llllll11ll1ll11lll1ll1llll11l11l1111l111l11lll11l11l1111111lll1lll1l111l1lll1111l1l11 );} l11l11l1ll1lll11111ll1l1l1111ll1lll1lllll1llll1ll11ll1l1ll1ll111l1l1l1111ll111ll1l11ll11lll1l111l1l11llllll11111llllll1ll1lll11l = (int)/* CAST */ 1.0e6/( ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 *log( ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 )); printf( "**** ICOMPLEX FFT Start: LENGTH = %d LOOPS= %d\n", ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 , (int)/* CAST */ l11l11l1ll1lll11111ll1l1l1111ll1lll1lllll1llll1ll11ll1l1ll1ll111l1l1l1111ll111ll1l11ll11lll1l111l1l11llllll11111llllll1ll1lll11l ); l1l111111ll11lll1l111111l111111l1ll1llll111lll111l111l11111111lll1l1llllll1l111111llll111l1ll11lllll111111ll11l111l1l1lllll1ll1l = alt_nticks(); for( ll11l11ll11l1111lll1l11l1l11l1l11l11ll1l11ll1l1l1l1ll1111llll1l1111l11ll1l11ll111l111l1111l1111lllll1lll1l1l1lllll111ll1l1ll1lll = 1; ll11l11ll11l1111lll1l11l1l11l1l11l11ll1l11ll1l1l1l1ll1111llll1l1111l11ll1l11ll111l111l1111l1111lllll1lll1l1l1lllll111ll1l1ll1lll < l11l11l1ll1lll11111ll1l1l1111ll1lll1lllll1llll1ll11ll1l1ll1ll111l1l1l1111ll111ll1l11ll11lll1l111l1l11llllll11111llllll1ll1lll11l ; ll11l11ll11l1111lll1l11l1l11l1l11l11ll1l11ll1l1l1l1ll1111llll1l1111l11ll1l11ll111l111l1111l1111lllll1lll1l1l1lllll111ll1l1ll1lll ++){ ll111l11l1ll111ll1l11l11ll111ll11111ll1l11l11ll1l11l1111llll1l11ll111111l1111lll1ll11111l1l111l1lll11l111ll1lll1l1l111111llll1l1 = ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 ; lll11l1111lll1ll11ll1ll1l1l111lll1l1ll111lll111l1111l111l1l1llll11l11l1l111lll11l1ll111l1l1ll1ll1ll11ll111l11l111ll11lllll11l111 = 1; for( lllll111ll11l111l111ll111l1llll111l1lll11l111111l11llll1lll11lll1l1l11l1lll111111l11l111l1111l1111lll1l111l111l1l11ll1llll1l111l = 1; lllll111ll11l111l111ll111l1llll111l1lll11l111111l11llll1lll11lll1l1l11l1lll111111l11l111l1111l1111lll1l111l111l1l11ll1llll1l111l <= l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 ; lllll111ll11l111l111ll111l1llll111l1lll11l111111l11llll1lll11lll1l1l11l1lll111111l11l111l1111l1111lll1l111l111l1l11ll1llll1l111l ++){ l111llll1l1ll11l1l1l1llll1l1ll1l11ll1l1l1l1l1lllll1l1l1l11l1111l11llll1111111l1ll111llll11ll1111l11ll1ll111l11l1l1l111l11l111l1l = ll111l11l1ll111ll1l11l11ll111ll11111ll1l11l11ll1l11l1111llll1l11ll111111l1111lll1ll11111l1l111l1lll11l111ll1lll1l1l111111llll1l1 ; ll111l11l1ll111ll1l11l11ll111ll11111ll1l11l11ll1l11l1111llll1l11ll111111l1111lll1ll11111l1l111l1lll11l111ll1lll1l1l111111llll1l1 >>= 1; ll1l1ll1l1llll111l1l111lll1ll1lllll11l1ll1111111l1111l1l1ll1l111ll1l1l111lllll111l1ll1111l11l111l1l111lllll111l1ll11l1l1ll11111l = 0; for( l1l1ll11l1ll11ll1111ll1llllll1ll1ll111llll11l1l11l11l1lllll1ll11l11l11l1l1ll1ll11ll1ll1l1111ll11lll1l1ll1l11lll1l1l1111l11l111l1 = 0; l1l1ll11l1ll11ll1111ll1llllll1ll1ll111llll11l1l11l11l1lllll1ll11l11l11l1l1ll1ll11ll1ll1l1111ll11lll1l1ll1l11lll1l1l1111l11l111l1 < ll111l11l1ll111ll1l11l11ll111ll11111ll1l11l11ll1l11l1111llll1l11ll111111l1111lll1ll11111l1l111l1lll11l111ll1lll1l1l111111llll1l1 ; l1l1ll11l1ll11ll1111ll1llllll1ll1ll111llll11l1l11l11l1lllll1ll11l11l11l1l1ll1ll11ll1ll1l1111ll11lll1l1ll1l11lll1l1l1111l11l111l1 ++){ l11111l11lll11l1lll1l1ll1l11lll1lll1l1111l11111l1l111ll1l11ll111l11111ll1lll11111lll11ll111111ll1ll1l11l11111llll111ll11l11l11ll = coef[ ll1l1ll1l1llll111l1l111lll1ll1lllll11l1ll1111111l1111l1l1ll1l111ll1l1l111lllll111l1ll1111l11l111l1l111lllll111l1ll11l1l1ll11111l ]. ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 ; lll1111111llll111111l111l11l11ll11l11lllll1lll11111111l1l1ll1l1l1l1l11ll1l1l1ll11lll11lll11ll111llll11ll11ll1l111l1ll1lll111l111 = coef[ ll1l1ll1l1llll111l1l111lll1ll1lllll11l1ll1111111l1111l1l1ll1l111ll1l1l111lllll111l1ll1111l11l111l1l111lllll111l1ll11l1l1ll11111l ]. l1l11lll1l11l1ll1l111l11llll11ll1111lllll11llllll11ll1ll11lll1ll1llll11l11l1111l111l11lll11l11l1111111lll1lll1l111l1lll1111l1l11 ; lll11llll1l1111lll11111l111llll1ll1ll1ll111l11l111llll1ll1l111lll1ll111l1111lllll111lllll11l1l1lll1l111l1l1l1l1l1lll111lll1ll1l1 ( 3, l11111l11lll11l1lll1l1ll1l11lll1lll1l1111l11111l1l111ll1l11ll111l11111ll1lll11111lll11ll111111ll1ll1l11l11111llll111ll11l11l11ll , lll1111111llll111111l111l11l11ll11l11lllll1lll11111111l1l1ll1l1l1l1l11ll1l1l1ll11lll11lll11ll111llll11ll11ll1l111l1ll1lll111l111 ); ll1l1ll1l1llll111l1l111lll1ll1lllll11l1ll1111111l1111l1l1ll1l111ll1l1l111lllll111l1ll1111l11l111l1l111lllll111l1ll11l1l1ll11111l += lll11l1111lll1ll11ll1ll1l1l111lll1l1ll111lll111l1111l111l1l1llll11l11l1l111lll11l1ll111l1l1ll1ll1ll11ll111l11l111ll11lllll11l111 ; for( l111lll11ll11l1l11l1lll1l1llllll1l1ll11l1l1l1111lll1ll1l1l1111l111lll11llll1l1l1llll1lllll111l1ll1ll1lll11lllll1l11lllll1111l11l = l1l1ll11l1ll11ll1111ll1llllll1ll1ll111llll11l1l11l11l1lllll1ll11l11l11l1l1ll1ll11ll1ll1l1111ll11lll1l1ll1l11lll1l1l1111l11l111l1 ; l111lll11ll11l1l11l1lll1l1llllll1l1ll11l1l1l1111lll1ll1l1l1111l111lll11llll1l1l1llll1lllll111l1ll1ll1lll11lllll1l11lllll1111l11l < ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 ; l111lll11ll11l1l11l1lll1l1llllll1l1ll11l1l1l1111lll1ll1l1l1111l111lll11llll1l1l1llll1lllll111l1ll1ll1lll11lllll1l11lllll1111l11l += l111llll1l1ll11l1l1l1llll1l1ll1l11ll1l1l1l1l1lllll1l1l1l11l1111l11llll1111111l1ll111llll11ll1111l11ll1ll111l11l1l1l111l11l111l1l ){ l1ll11l1ll111llllll1ll1l1l111l1lll1ll1111ll1l11l1l1l11l1lll11l11l1ll1l111l1l1l1l11llll111llll11111111l11ll111l1l1l1lll1l1lll1lll = l111lll11ll11l1l11l1lll1l1llllll1l1ll11l1l1l1111lll1ll1l1l1111l111lll11llll1l1l1llll1lllll111l1ll1ll1lll11lllll1l11lllll1111l11l + ll111l11l1ll111ll1l11l11ll111ll11111ll1l11l11ll1l11l1111llll1l11ll111111l1111lll1ll11111l1l111l1lll11l111ll1lll1l1l111111llll1l1 ; l11l1l11111ll1ll1lllll1ll1l11111l11l111l1ll1l1l1l1l1l111111l1l111111l111111l1l11l1111l11ll11l111ll1l111llll1lllllll1l1111l111l11 = x[ l111lll11ll11l1l11l1lll1l1llllll1l1ll11l1l1l1111lll1ll1l1l1111l111lll11llll1l1l1llll1lllll111l1ll1ll1lll11lllll1l11lllll1111l11l ]. ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 ; l1lll11111ll111ll111l11111l1llll1111l1l1l1l1l111ll111ll11111lllllllll11l1ll1l1lll11ll1l11ll1l11l11l1lllll11llll1ll1l1l1l11l1ll1l = x[ l111lll11ll11l1l11l1lll1l1llllll1l1ll11l1l1l1111lll1ll1l1l1111l111lll11llll1l1l1llll1lllll111l1ll1ll1lll11lllll1l11lllll1111l11l ]. l1l11lll1l11l1ll1l111l11llll11ll1111lllll11llllll11ll1ll11lll1ll1llll11l11l1111l111l11lll11l11l1111111lll1lll1l111l1lll1111l1l11 ; lll11llll1l1111lll11111l111llll1ll1ll1ll111l11l111llll1ll1l111lll1ll111l1111lllll111lllll11l1l1lll1l111l1l1l1l1l1lll111lll1ll1l1 ( 1, l11l1l11111ll1ll1lllll1ll1l11111l11l111l1ll1l1l1l1l1l111111l1l111111l111111l1l11l1111l11ll11l111ll1l111llll1lllllll1l1111l111l11 , l1lll11111ll111ll111l11111l1llll1111l1l1l1l1l111ll111ll11111lllllllll11l1ll1l1lll11ll1l11ll1l11l11l1lllll11llll1ll1l1l1l11l1ll1l ); l11l1l11111ll1ll1lllll1ll1l11111l11l111l1ll1l1l1l1l1l111111l1l111111l111111l1l11l1111l11ll11l111ll1l111llll1lllllll1l1111l111l11 = x[ l1ll11l1ll111llllll1ll1l1l111l1lll1ll1111ll1l11l1l1l11l1lll11l11l1ll1l111l1l1l1l11llll111llll11111111l11ll111l1l1l1lll1l1lll1lll ]. ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 ; l1lll11111ll111ll111l11111l1llll1111l1l1l1l1l111ll111ll11111lllllllll11l1ll1l1lll11ll1l11ll1l11l11l1lllll11llll1ll1l1l1l11l1ll1l = x[ l1ll11l1ll111llllll1ll1l1l111l1lll1ll1111ll1l11l1l1l11l1lll11l11l1ll1l111l1l1l1l11llll111llll11111111l11ll111l1l1l1lll1l1lll1lll ]. l1l11lll1l11l1ll1l111l11llll11ll1111lllll11llllll11ll1ll11lll1ll1llll11l11l1111l111l11lll11l11l1111111lll1lll1l111l1lll1111l1l11 ; lll11llll1l1111lll11111l111llll1ll1ll1ll111l11l111llll1ll1l111lll1ll111l1111lllll111lllll11l1l1lll1l111l1l1l1l1l1lll111lll1ll1l1 ( 2, l11l1l11111ll1ll1lllll1ll1l11111l11l111l1ll1l1l1l1l1l111111l1l111111l111111l1l11l1111l11ll11l111ll1l111llll1lllllll1l1111l111l11 , l1lll11111ll111ll111l11111l1llll1111l1l1l1l1l111ll111ll11111lllllllll11l1ll1l1lll11ll1l11ll1l11l11l1lllll11llll1ll1l1l1l11l1ll1l ); x[ l111lll11ll11l1l11l1lll1l1llllll1l1ll11l1l1l1111lll1ll1l1l1111l111lll11llll1l1l1llll1lllll111l1ll1ll1lll11lllll1l11lllll1111l11l ]. ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 = lll11llll1l1111lll11111l111llll1ll1ll1ll111l11l111llll1ll1l111lll1ll111l1111lllll111lllll11l1l1lll1l111l1l1l1l1l1lll111lll1ll1l1 ( 4, 0, 0); x[ l111lll11ll11l1l11l1lll1l1llllll1l1ll11l1l1l1111lll1ll1l1l1111l111lll11llll1l1l1llll1lllll111l1ll1ll1lll11lllll1l11lllll1111l11l ]. l1l11lll1l11l1ll1l111l11llll11ll1111lllll11llllll11ll1ll11lll1ll1llll11l11l1111l111l11lll11l11l1111111lll1lll1l111l1lll1111l1l11 = lll11llll1l1111lll11111l111llll1ll1ll1ll111l11l111llll1ll1l111lll1ll111l1111lllll111lllll11l1l1lll1l111l1l1l1l1l1lll111lll1ll1l1 ( 5, 0, 0); x[ l1ll11l1ll111llllll1ll1l1l111l1lll1ll1111ll1l11l1l1l11l1lll11l11l1ll1l111l1l1l1l11llll111llll11111111l11ll111l1l1l1lll1l1lll1lll ]. ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 = lll11llll1l1111lll11111l111llll1ll1ll1ll111l11l111llll1ll1l111lll1ll111l1111lllll111lllll11l1l1lll1l111l1l1l1l1l1lll111lll1ll1l1 ( 6, 0, 0); x[ l1ll11l1ll111llllll1ll1l1l111l1lll1ll1111ll1l11l1l1l11l1lll11l11l1ll1l111l1l1l1l11llll111llll11111111l11ll111l1l1l1lll1l1lll1lll ]. l1l11lll1l11l1ll1l111l11llll11ll1111lllll11llllll11ll1ll11lll1ll1llll11l11l1111l111l11lll11l11l1111111lll1lll1l111l1lll1111l1l11 = lll11llll1l1111lll11111l111llll1ll1ll1ll111l11l111llll1ll1l111lll1ll111l1111lllll111lllll11l1l1lll1l111l1l1l1l1l1lll111lll1ll1l1 ( 7, 0, 0);}} lll11l1111lll1ll11ll1ll1l1l111lll1l1ll111lll111l1111l111l1l1llll11l11l1l111lll11l1ll111l1l1ll1ll1ll11ll111l11l111ll11lllll11l111 <<= 1;} if( ll11l11ll11l1111lll1l11l1l11l1l11l11ll1l11ll1l1l1l1ll1111llll1l1111l11ll1l11ll111l111l1111l1111lllll1lll1l1l1lllll111ll1l1ll1lll == 1) for( ll1lllll11lll11l1l1ll1lll1lllll1l11l1ll1l1l11ll111l1llll1lll1l1l11l1l1ll1llllllll111lllll1l11ll11l1111l11l11l1l1ll1l1l111l11ll11 = 0; ll1lllll11lll11l1l1ll1lll1lllll1l11l1ll1l1l11ll111l1llll1lll1l1l11l1l1ll1llllllll111lllll1l11ll11l1111l11l11l1l1ll1l1l111l11ll11 < ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 ; ll1lllll11lll11l1l1ll1lll1lllll1l11l1ll1l1l11ll111l1llll1lll1l1l11l1l1ll1llllllll111lllll1l11ll11l1111l11l11l1l1ll1l1l111l11ll11 ++){ y[ ll1lllll11lll11l1l1ll1lll1lllll1l11l1ll1l1l11ll111l1llll1lll1l1l11l1l1ll1llllllll111lllll1l11ll11l1111l11l11l1l1ll1l1l111l11ll11 ]. ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 = x[ ll1lllll11lll11l1l1ll1lll1lllll1l11l1ll1l1l11ll111l1llll1lll1l1l11l1l1ll1llllllll111lllll1l11ll11l1111l11l11l1l1ll1l1l111l11ll11 ]. ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 ; y[ ll1lllll11lll11l1l1ll1lll1lllll1l11l1ll1l1l11ll111l1llll1lll1l1l11l1l1ll1llllllll111lllll1l11ll11l1111l11l11l1l1ll1l1l111l11ll11 ]. l1l11lll1l11l1ll1l111l11llll11ll1111lllll11llllll11ll1ll11lll1ll1llll11l11l1111l111l11lll11l11l1111111lll1lll1l111l1lll1111l1l11 = x[ ll1lllll11lll11l1l1ll1lll1lllll1l11l1ll1l1l11ll111l1llll1lll1l1l11l1l1ll1llllllll111lllll1l11ll11l1111l11l11l1l1ll1l1l111l11ll11 ]. l1l11lll1l11l1ll1l111l11llll11ll1111lllll11llllll11ll1ll11lll1ll1llll11l11l1111l111l11lll11l11l1111111lll1lll1l111l1lll1111l1l11 ;}} ll1l1l1ll1lll11111llll1l11111lll11l11ll1111l111l11l1l111111l11ll111l11llll1l1l11l11l1ll1l1l1l1lll111ll1lll1l1111lll111l11l1111ll = alt_nticks(); lllll11l1l1111l1ll111l1llllll11llll1ll1111llll11111lllllll11l1ll1l1l1l1l1lll1111lll1ll1111lll11l1lll1l1ll1l1l1111llll1111ll1lll1 =(( ll1l1l1ll1lll11111llll1l11111lll11l11ll1111l111l11l1l111111l11ll111l11llll1l1l11l11l1ll1l1l1l1lll111ll1lll1l1111lll111l11l1111ll - l1l111111ll11lll1l111111l111111l1ll1llll111lll111l111l11111111lll1l1llllll1l111111llll111l1ll11lllll111111ll11l111l1l1lllll1ll1l )* 1000)/ alt_ticks_per_second(); printf( "Total time: %d ms\n", lllll11l1l1111l1ll111l1llllll11llll1ll1111llll11111lllllll11l1ll1l1l1l1l1lll1111lll1ll1111lll11l1lll1l1ll1l1l1111llll1111ll1lll1 ); printf( "Start ticks: %d \n", l1l111111ll11lll1l111111l111111l1ll1llll111lll111l111l11111111lll1l1llllll1l111111llll111l1ll11lllll111111ll11l111l1l1lllll1ll1l ); printf( "Finish ticks: %d \n", ll1l1l1ll1lll11111llll1l11111lll11l11ll1111l111l11l1l111111l11ll111l11llll1l1l11l11l1ll1l1l1l1lll111ll1lll1l1111lll111l11l1111ll ); l1llll1ll11l111lll11llll1lll11ll1111lll111l11111lll111ll111l11l1llllll1l11llll11l1lllllll1ll1l1111llll1ll11l1ll1l1l1l111l1l111l1 [ l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 ] = lllll11l1l1111l1ll111l1llllll11llll1ll1111llll11111lllllll11l1ll1l1l1l1l1lll1111lll1ll1111lll11l1lll1l1ll1l1l1111llll1111ll1lll1 ; l1ll11l111111l11ll1l11111ll1ll1l11lll1ll11ll1111111llll1111lllll11l1lll1ll11lll11lllll1l1ll1ll1111l1l11111ll11ll1l1l1111l11ll1l1 [ l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 ] = l11l11l1ll1lll11111ll1l1l1111ll1lll1lllll1llll1ll11ll1l1ll1ll111l1l1l1111ll111ll1l11ll11lll1l111l1l11llllll11111llllll1ll1lll11l ; l1lll1111ll11l1ll1l111ll1l1111l11lll1ll11l1lll1lll111l1l11l1111ll111ll1ll111l1lll1111lllllllll11lll11l1l1l1ll11l11l1llll1lll11ll = 4; printf( "ICOMPLEX N=%d", ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 ); l11l111ll111ll111l1l11ll1lll1ll11l1lll1lll1l11ll1ll11l1lll11111l11l11l11l1lll111l11l1llll11l1llll1l1llll11l11l11l11111lllll111ll = ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 / 2; for( lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l = 1; lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l <( ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 -1); lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ++){ if( lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l < l11l111ll111ll111l1l11ll1lll1ll11l1lll1lll1l11ll1ll11l1lll11111l11l11l11l1lll111l11l1llll11l1llll1l1llll11l11l11l11111lllll111ll ){ CSWAP( y[ l11l111ll111ll111l1l11ll1lll1ll11l1lll1lll1l11ll1ll11l1lll11111l11l11l11l1lll111l11l1llll11l1llll1l1llll11l11l11l11111lllll111ll ], y[ lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ]);} l1l11l1l1llllllllllll11l1l1ll1l111ll1ll1111l111l11ll1llllll1l111llll1l11llll1l1ll11ll1lll1l1l1l11111l11l1l11ll1ll1llll11ll11l1l1 = ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 / 2; while( l1l11l1l1llllllllllll11l1l1ll1l111ll1ll1111l111l11ll1llllll1l111llll1l11llll1l1ll11ll1lll1l1l1l11111l11l1l11ll1ll1llll11ll11l1l1 <= l11l111ll111ll111l1l11ll1lll1ll11l1lll1lll1l11ll1ll11l1lll11111l11l11l11l1lll111l11l1llll11l1llll1l1llll11l11l11l11111lllll111ll ){ l11l111ll111ll111l1l11ll1lll1ll11l1lll1lll1l11ll1ll11l1lll11111l11l11l11l1lll111l11l1llll11l1llll1l1llll11l11l11l11111lllll111ll = l11l111ll111ll111l1l11ll1lll1ll11l1lll1lll1l11ll1ll11l1lll11111l11l11l11l1lll111l11l1llll11l1llll1l1llll11l11l11l11111lllll111ll - l1l11l1l1llllllllllll11l1l1ll1l111ll1ll1111l111l11ll1llllll1l111llll1l11llll1l1ll11ll1lll1l1l1l11111l11l1l11ll1ll1llll11ll11l1l1 ; l1l11l1l1llllllllllll11l1l1ll1l111ll1ll1111l111l11ll1llllll1l111llll1l11llll1l1ll11ll1lll1l1l1l11111l11l1l11ll1ll1llll11ll11l1l1 = l1l11l1l1llllllllllll11l1l1ll1l111ll1ll1111l111l11ll1llllll1l111llll1l11llll1l1ll11ll1lll1l1l1l11111l11l1l11ll1ll1llll11ll11l1l1 / 2;} l11l111ll111ll111l1l11ll1lll1ll11l1lll1lll1l11ll1ll11l1lll11111l11l11l11l1lll111l11l1llll11l1llll1l1llll11l11l11l11111lllll111ll = l11l111ll111ll111l1l11ll1lll1ll11l1lll1lll1l11ll1ll11l1lll11111l11l11l11l1lll111l11l1llll11l1llll1l1llll11l11l11l11111lllll111ll + l1l11l1l1llllllllllll11l1l1ll1l111ll1ll1111l111l11ll1llllll1l111llll1l11llll1l1ll11ll1lll1l1l1l11111l11l1l11ll1ll1llll11ll11l1l1 ;} if( MYDEBUG >= 1){ printf( "**** UMB Fast ICOMPLEX first 4 RADIX-2 FFT OUTPUT for length %d\n", ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 ); for( lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l = 0; lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l < 4; lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ++) printf( "(%ld)+i(%ld)\n", y[ lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ]. ll11lll1lll1l111ll1l1ll11l1ll1111ll1l11lll1l1111l1l1l1l1lll1l1lll11l11l11ll111llll1ll1l1l1l1l11l1llll1l1l111ll1l11l11l1111ll1111 , y[ lll1lll1lll111111lll111l111lll1llll1lll11l1l111llll1111l11llll1l11l111l11111l111ll1l1ll1l1ll11ll111l111l11ll1111ll111l1ll1l1111l ]. l1l11lll1l11l1ll1l111l11llll11ll1111lllll11llllll11ll1ll11lll1ll1llll11l11l1111l111l11lll11l11l1111111lll1lll1l111l1lll1111l1l11 );} free( coef); free( x); free( y);} printf( "\nFFT cycles using ICOMPLEX:\n"); for( l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 = 3; l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 <= 12; l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 ++){ ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 = 1<< l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 ; lll1lll11ll1lllllllll11l1llll11ll1llllll1llll1lll1111ll1ll1l1l111111l11lll1111ll1lll11l1l1ll11111l1l1l1l1l1ll1ll1111ll1llll1ll11 = l1llll1ll11l111lll11llll1lll11ll1111lll111l11111lll111ll111l11l1llllll1l11llll11l1lllllll1ll1l1111llll1ll11l1ll1l1l1l111l1l111l1 [ l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 ]; l1111ll11ll1l11ll111llll11111l111ll11ll11ll1l1ll111ll1l1ll11ll1111l1lll1l111ll1111llllll11ll111111l1lll1ll11l1l111l11l111l1l11ll = 5.0* ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 *log( ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 )/log( 2.0)* l1ll11l111111l11ll1l11111ll1ll1l11lll1ll11ll1111111llll1111lllll11l1lll1ll11lll11lllll1l1ll1ll1111l1l11111ll11ll1l1l1111l11ll1l1 [ l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 ]/ lll1lll11ll1lllllllll11l1llll11ll1llllll1llll1lll1111ll1ll1l1l111111l11lll1111ll1lll11l1l1ll11111l1l1l1l1l1ll1ll1111ll1llll1ll11 ; printf( "%4d) T=%d ms L=%d 5N*log2(N)/T (us)=%d\n", ll1l1l111lllll1llll1l1lll11lll1l11lll111ll11l1ll111l1111l111l1lll111ll1l111l1llllllll11l1lll11111111l111lll1l1ll1l1111lllll111l1 , lll1lll11ll1lllllllll11l1llll11ll1llllll1llll1lll1111ll1ll1l1l111111l11lll1111ll1lll11l1l1ll11111l1l1l1l1l1ll1ll1111ll1llll1ll11 , l1ll11l111111l11ll1l11111ll1ll1l11lll1ll11ll1111111llll1111lllll11l1lll1ll11lll11lllll1l1ll1ll1111l1l11111ll11ll1l1l1111l11ll1l1 [ l1111l1ll1l111ll1ll11llll11l11llll111l11llll1lll111llllllll11l1111l1ll1lll111111111l1ll1l1ll1l1l1lllll1ll11l111lllllll1l111ll111 ], (int)/* CAST */ l1111ll11ll1l11ll111llll11111l111ll11ll11ll1l1ll111ll1l1ll11ll1111l1lll1l111ll1111llllll11ll111111l1lll1ll11l1l111l11l111l1l11ll );} printf( "Ticks pers sec: %u\n", alt_ticks_per_second()); /* No Warranty! What so ever ! copyright 2011 Uwe Meyer-Baese */ return 0;}