mirror of
https://git.vladimir.cc/vladimir/libfec.git
synced 2026-08-25 17:27:34 +00:00
init commit
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
/* Verify correctness of the sum-of-square routines */
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
|
||||
/* These values should trigger leading/trailing array fragment handling */
|
||||
#define NSAMP 200002
|
||||
#define OFFSET 1
|
||||
|
||||
long long sumsq_wq(signed short *in,int cnt);
|
||||
long long sumsq_wq_ref(signed short *in,int cnt);
|
||||
|
||||
int main(){
|
||||
int i;
|
||||
long long result,rresult;
|
||||
signed short samples[NSAMP];
|
||||
|
||||
srandom(time(NULL));
|
||||
|
||||
for(i=0;i<NSAMP;i++)
|
||||
samples[i] = random() & 0xffff;
|
||||
|
||||
rresult = sumsq_wq(&samples[OFFSET],NSAMP-OFFSET);
|
||||
result = sumsq_wq(&samples[OFFSET],NSAMP-OFFSET);
|
||||
if(result == rresult){
|
||||
printf("OK\n");
|
||||
} else {
|
||||
printf("sum mismatch: %lld != %lld\n",result,rresult);
|
||||
}
|
||||
exit(0);
|
||||
}
|
||||
|
||||
long long sumsq_wq_ref(signed short *in,int cnt){
|
||||
long long sum = 0;
|
||||
int i;
|
||||
|
||||
for(i=0;i<cnt;i++){
|
||||
sum += (long)in[i] * in[i];
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user