source: Deliverables/D2.2/8051/tests/clight/fir_complexe.c.expected @ 486

Last change on this file since 486 was 486, checked in by ayache, 9 years ago

Deliverable D2.2

File size: 1.0 KB
RevLine 
[486]1int t1[16];
2int t2[16];
3int t3[16];
4int t4[16];
5int t5[16];
6int t6[16];
7
8void init(){
9        int i;
10        for(i=0;i<16;i++){
11                t1[i] = 2;
12                t2[i] = 2;
13                t3[i] = 2;
14                t4[i] = 2;
15                t5[i] = 2;
16                t6[i] = 2;
17        }
18}
19
20int comp_fir_complexe(int in_re[], int in_im[], int c_re[], int c_im[], int out_re[], int out_im[], int size) {
21    int i,j,res_re,res_im,tmp_im,tmp_re,tmp_x_re,tmp_x_im;
22        int x_re[16];
23        int x_im[16];
24        int ii;
25        for(ii=0;ii<16;ii++){x_re[ii]=0;x_im[ii]=0;}
26        int adx = 0;
27        res_re = 0; res_im = 0;
28        for (j=0;j<size;j=j+1) {
29                x_re[adx]=in_re[j];
30                x_im[adx]=in_im[j];
31
32            for(i=0;i<16;i=i+1){
33                tmp_x_re = x_re[adx];
34                tmp_x_im = x_im[adx];
35                tmp_re = (tmp_x_re*c_re[i]-tmp_x_im*c_im[i])>>4;
36                tmp_im = (tmp_x_re*c_im[i]+tmp_x_im*c_re[i])>>4;
37                res_re = res_re + tmp_re;
38                res_im = res_im + tmp_im;
39                adx=(adx+1)%16;
40            }
41
42            adx=(adx+1)%16;
43
44            out_re[j]=res_re;
45            out_im[j]=res_im;
46    }
47        return 0;
48}
49int main(){
50        init();
51        return comp_fir_complexe(t1,t2,t3,t4,t5,t6,16);
52}
Note: See TracBrowser for help on using the repository browser.