Home | History | Annotate | Download | only in fec
      1 /* Verify correctness of the peak routine
      2  * Copyright 2004 Phil Karn, KA9Q
      3  */
      4 #include <stdio.h>
      5 #include <stdlib.h>
      6 #include <time.h>
      7 
      8 /* These values should trigger leading/trailing array fragment handling */
      9 #define NSAMP 200002
     10 #define OFFSET 1
     11 
     12 int peakval(signed short *,int);
     13 int peakval_port(signed short *,int);
     14 
     15 int main(){
     16   int i,s;
     17   int result,rresult;
     18   signed short samples[NSAMP];
     19 
     20   srandom(time(NULL));
     21 
     22   for(i=0;i<NSAMP;i++){
     23     do {
     24       s = random() & 0x0fff;
     25     } while(s == 0x8000);
     26     samples[i] = s;
     27   }
     28   samples[5] = 25000;
     29 
     30   rresult = peakval_port(&samples[OFFSET],NSAMP-OFFSET);
     31   result = peakval(&samples[OFFSET],NSAMP-OFFSET);
     32   if(result == rresult){
     33     printf("OK\n");
     34   } else {
     35     printf("peak mismatch: %d != %d\n",result,rresult);
     36   }
     37   exit(0);
     38 }
     39