⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sumsq_test.c

📁 FEC Optimized viterbi code
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <memory.h>#include <time.h>#include "config.h"#ifdef HAVE_GETOPT_H#include <getopt.h>#endif#include "fec.h"#if HAVE_GETOPT_LONGstruct option Options[] = {  {"frame-length",1,NULL,'l'},  {"frame-count",1,NULL,'n'},  {"verbose",0,NULL,'v'},  {"force-altivec",0,NULL,'a'},  {"force-port",0,NULL,'p'},  {"force-mmx",0,NULL,'m'},  {"force-sse",0,NULL,'s'},  {"force-sse2",0,NULL,'t'},  {NULL},};#endifint Verbose = 0;int main(int argc,char *argv[]){  signed short *buf;  int i,d,trial,trials=10000;  int bufsize = 2048;  long long port_sum,simd_sum;  time_t t;  int timetrials=0;  find_cpu_mode();  time(&t);  srandom(t);#if HAVE_GETOPT_LONG  while((d = getopt_long(argc,argv,"vapmstl:n:T",Options,NULL)) != EOF){#else  while((d = getopt(argc,argv,"vapmstl:n:T")) != EOF){#endif    switch(d){    case 'a':      Cpu_mode = ALTIVEC;      break;    case 'p':      Cpu_mode = PORT;      break;    case 'm':      Cpu_mode = MMX;      break;    case 's':      Cpu_mode = SSE;      break;    case 't':      Cpu_mode = SSE2;      break;    case 'l':      bufsize = atoi(optarg);      break;    case 'n':      trials = atoi(optarg);      break;    case 'v':      Verbose++;      break;    case 'T':      timetrials++;      break;    }  }  buf = (signed short *)calloc(bufsize,sizeof(signed short));  if(timetrials){    for(trial=0;trial<trials;trial++){      (void)sumsq(buf,bufsize);    }  } else {    for(trial=0;trial<trials;trial++){      int length,offset;      offset = random() & 7;      length = (random() % bufsize) - offset;      if(length <= 0)	continue;      for(i=0;i<bufsize;i++)	buf[i] = random();            port_sum = sumsq_port(buf+offset,length);      simd_sum = sumsq(buf+offset,length);      if(port_sum != simd_sum){	printf("offset %d len %d port_sum = %lld simd_sum = %lld ",offset,length,port_sum,simd_sum);		printf("ERROR! diff = %lld\n",simd_sum-port_sum);      }    }  }  exit(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -