Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<math.h>
- const double PI = 3.14159265358979 ;
- int toto(int a,int b);
- void add_dcb(int octet);
- void flush();
- static int hexadigit[16];
- static int iindex=0;
- int main(){
- int w;
- int ow=0;
- int z;
- int tabsin512[512];
- // printf("sin512:\n");
- for (int f=0;f<512;f++)
- {
- w=(sin(f*2*PI/512)*32766);
- tabsin512[f]=w;
- }
- int tab2[511];
- for(int f=1;f<512;f++)
- {
- // printf("%d\t",tabsin512[f]-tabsin512[f-1]);
- tab2[f-1]=tabsin512[f]-tabsin512[f-1];
- }
- printf("\n");
- //for (int f=1;f<511;f++)
- // {
- //printf("%d\t",tab2[f]-tab2[f-1]);
- //}
- // printf("\n");
- printf("\ntablecompact512:\n");
- printf("dc.w %d\n",tabsin512[0]);
- printf("dc.w %d\n",tab2[0]);
- for (int f=1;f<511;f+=2)
- {
- // printf(";nibledc %d %d\n",tab2[f]-tab2[f-1],tab2[f+1]-tab2[f]);
- w = toto(tab2[f]-tab2[f-1],tab2[f+1]-tab2[f]);
- //printf("dc.b %d \n",w);
- add_dcb(w);
- }
- flush();
- printf("\t\teven\n");
- int tabsin896[896];
- int tab3[895];
- //printf("\nsin896:\n");
- for (int f=0;f<896;f+=8)
- {
- //printf("\tdc.w ");
- for (int g=f;g<f+7;g++)
- { w=(sin(g*2*PI/896)*32766);
- tabsin896[g]=w;
- // printf("%d,",w);
- }
- w=sin((f+7)*2*PI/896)*32766;
- tabsin896[f+7]=w;
- //printf("%d\n",w);
- }
- for(int f=1;f<896;f++)
- {
- // printf("%d\t",tabsin896[f]-tabsin896[f-1]);
- tab3[f-1]=tabsin896[f]-tabsin896[f-1];
- }
- printf("\n");
- for (int f=1;f<895;f++)
- {
- // printf("%d\t",tab3[f]-tab3[f-1]);
- }
- printf("\n");
- printf("\ntablecompact896:\n");
- printf("\tdc.w %d\n",tabsin896[0]);
- printf("\tdc.w %d\n",tab3[0]);
- for (int f=1;f<895;f+=2)
- {
- // printf(";nibledc %d %d\n",tab2[f]-tab2[f-1],tab2[f+1]-tab2[f]);
- w = toto(tab3[f]-tab3[f-1],tab3[f+1]-tab3[f]);
- // printf("\tdc.b %d \n",w);
- add_dcb(w);
- }
- flush();
- printf("\t\teven\n");
- int sintab[1540];
- for (int i=0;i<1540;i++)
- {
- sintab[i]=32766*sin(2*PI*i/1540);
- }
- int sintab2[1539];
- for (int f=1;f<1539;f++)
- {
- sintab2[f-1]=sintab[f]-sintab[f-1];
- }
- printf("\n");
- printf("\ntablecompact1540:\n");
- printf("\tdc.w %d\n",sintab[0]);
- printf("\tdc.w %d\n",sintab2[0]);
- for (int f=1;f<1539;f+=2)
- { w = toto(sintab2[f]-sintab2[f-1],sintab2[f+1]-sintab2[f]);
- add_dcb(w);
- }
- flush();
- printf("\t\teven\n");
- }
- int toto(int a,int b)
- {
- return (a+8)*16+(b+8);
- };
- void add_dcb(int octet)
- {
- hexadigit[iindex]=octet;
- iindex++;
- if (iindex==16)
- {
- iindex=0;
- printf("\tdc.b ");
- for (int g=0;g<15;g++)
- {
- printf("%d,",hexadigit[g]);
- }
- printf("%d\n",hexadigit[15]);
- }
- };
- void flush()
- {
- if (iindex!=0)
- {
- printf("\tdc.b ");
- if (iindex!=1)
- {
- for (int g=0;g<iindex-2;g++)
- {
- printf("%d,",hexadigit[g]);
- }
- printf("%d\n",hexadigit[iindex-1]);
- } else
- {
- printf("%d\n",hexadigit[0]);
- }
- }
- iindex=0;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement