source: Sophya/trunk/Poubelle/archediab.old/prog_compression_unsigned/test_compress.c@ 643

Last change on this file since 643 was 641, checked in by ansari, 26 years ago

compression

File size: 2.4 KB
Line 
1#include <manip.h>
2#include "compress.h"
3
4
5#define lg 72
6
7void exec_fen(int fen,int item,double valeur,...);
8
9long *entree,*comp,*rec;
10
11
12main()
13{
14nouveauD(1,0,"compress",exec_fen);
15return(1);
16}
17
18
19//-------------------- fonction exec de la fenetre : copie -------------------------------
20
21
22void exec_fen(int fen,int item,double valeur,...)
23{
24int i;
25long t;
26double x,y;
27double bruit=0;
28
29switch(item)
30 {
31 case ouverture :
32
33
34random(0.2);
35entree=malloc(lg*4);
36comp=malloc(lg*4);
37rec=malloc(lg*4);
38
39for(i=0;i<lg;i++)
40 {
41 bruit=bruit*0.8 + 0.2*random(0);
42 entree[i]=200000.*cos(i*0.005) + 100000.*bruit;
43// entree[i]=200000.*cos(i*0.005) + 100000.*bruit + (i%2)*80000;
44 if(i>40) entree[i]+=500000.*exp(- 0.05*(i-40));
45// if(i>40) entree[i]+=200000.*exp(- 0.05*(i-40));
46// entree[i]/=16; // entre 0 et 50 000 soit 16 bits
47 entree[i]*=2; // de 0 a 15 e6 soit 21 bits
48 }
49
50
51for(i=0;i<lg;i++) trace(1,i,entree[i]);
52graph->couleur_trace=bleu;
53style(1);
54
55
56/*
57printf("comprime : ");
58t=TickCount();
59for(i=0;i<1000;i++) compress_4_1((unsigned long*)entree,(unsigned long*)comp,lg,1);
60 decompress_4_1(comp,rec,lg);
61y=0;for(i=0;i<lg;i++) {x=entree[i]-rec[i];y+=x*x;} y=sqrt(y/(double)lg);
62printf("fin de comprime 4_1 : t=%d ecart total = %g \n\n",TickCount()-t,y);
63*/
64
65
66printf("comprime : ");
67t=TickCount();
68for(i=0;i<1000;i++) compress_4_2((unsigned long*)entree,(unsigned long*)comp,lg,1);
69 decompress_4_2(comp,rec,lg);
70y=0;for(i=0;i<lg;i++) {x=entree[i]-rec[i];y+=x*x;} y=sqrt(y/(double)lg);
71printf("fin de comprime 4_2 : t=%d ecart total = %g \n\n",TickCount()-t,y);
72
73
74/*
75printf("comprime : ");
76t=TickCount();
77for(i=0;i<1000;i++) compress_7_1((unsigned long*)entree,(unsigned long*)comp,lg,1);
78 decompress_7_1(comp,rec,lg);
79y=0;for(i=0;i<lg;i++) {x=entree[i]-rec[i];y+=x*x;} y=sqrt(y/(double)lg);
80printf("fin de comprime 7_1 : t=%d ecart total = %g \n\n",TickCount()-t,y);
81
82
83
84printf("comprime : ");
85t=TickCount();
86for(i=0;i<1;i++) compress_7_2((unsigned long*)entree,(unsigned long*)comp,lg,1);
87 decompress_7_2(comp,rec,lg);
88y=0;for(i=0;i<lg;i++) {x=entree[i]-rec[i];y+=x*x;} y=sqrt(y/(double)lg);
89printf("fin de comprime 7_2 : t=%d ecart total = %g \n\n",TickCount()-t,y);
90*/
91
92for(i=0;i<lg;i++) trace(1,i,rec[i]);
93graph->couleur_trace=vert;
94style(1);
95for(i=0;i<lg;i++) trace(1,i,entree[i]-rec[i]);
96
97
98 break;
99 case fermeture :
100 break;
101 default : break;
102 }
103}
104
105
Note: See TracBrowser for help on using the repository browser.