blob: fa4b2807a49a82b90506d3e09c46506de49971c6 [file] [log] [blame]
Bill Yi4e213d52015-06-23 13:53:11 -07001/* 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
12int peakval(signed short *,int);
13int peakval_port(signed short *,int);
14
15int 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}