#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 MeyerBaese */
/**/
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 RADIX2 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 RADIX2 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 MeyerBaese */
return 0;}