Everything should now compile with a C89 compiler.
[opus.git] / tests / cwrs64-test.c
1 #ifdef HAVE_CONFIG_H
2 #include "config.h"
3 #endif
4
5 #include <stdio.h>
6 #include "cwrs.h"
7 #define NMAX (32)
8 #define MMAX (16)
9
10 int main(int _argc,char **_argv){
11   int n;
12   for(n=0;n<=NMAX;n+=3){
13     int m;
14     for(m=0;m<=MMAX;m++){
15       celt_uint64_t inc;
16       celt_uint64_t nc;
17       celt_uint64_t i;
18       nc=ncwrs64(n,m);
19       /* Testing all cases just wouldn't work! */
20       inc = nc/1000;
21       if (inc<1)
22          inc = 1;
23       /*printf("%d/%d: %llu",n,m, nc);*/
24       for(i=0;i<nc;i+=inc){
25         int x[MMAX];
26         int s[MMAX];
27         int x2[MMAX];
28         int s2[MMAX];
29         int y[NMAX];
30         int j;
31         int k;
32         cwrsi64(n,m,i,x,s);
33         /*printf("%llu of %llu:",i,nc);
34         for(k=0;k<m;k++){
35           printf(" %c%i",k>0&&x[k]==x[k-1]?' ':s[k]?'-':'+',x[k]);
36         }
37         printf(" ->");*/
38         if(icwrs64(n,m,x,s, NULL)!=i){
39           fprintf(stderr,"Combination-index mismatch.\n");
40           return 1;
41         }
42         comb2pulse(n,m,y,x,s);
43         /*for(j=0;j<n;j++)printf(" %c%i",y[j]?y[j]<0?'-':'+':' ',abs(y[j]));
44         printf("\n");*/
45         pulse2comb(n,m,x2,s2,y);
46         for(k=0;k<m;k++)if(x[k]!=x2[k]||s[k]!=s2[k]){
47           fprintf(stderr,"Pulse-combination mismatch.\n");
48           return 1;
49         }
50       }
51       /*printf("\n");*/
52     }
53   }
54   return 0;
55 }