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

📄 t_qam_gen_pack_lookup.c

📁 ADI BF535 DSP MDCT 12点计算汇编优化源码
💻 C
字号:
/*******************************************************************************
Copyright(c) 2000 - 2002 Analog Devices. All Rights Reserved.
Developed by Joint Development Software Application Team, IPDC, Bangalore, India
for Blackfin DSPs  ( Micro Signal Architecture 1.0 specification).

By using this module you agree to the terms of the Analog Devices License
Agreement for DSP Software. 
********************************************************************************
                 compares the calculated output with expected output. Tests are conducted for 
                 outputs in cartesian co-ordinates.
                 iptr     - input pointer
                 optr     - output pointer
                 n        - number of symbols
                 k        - qam size  
                 optrk    - expected result pointer in rectangular form for qam size 'k'
                 optrpolk - expected result pointer in polar form for qam size 'k'

Prototype:       iptr     - input pointer(i)
                 optr     - output pointer(o)
                 n        - number of symbols(i)
                 k        - qam size  (i)
                 lookuptable - base address of lookup table


                 
**********************************************************************************************/
#include "qamdata.h"
//void qam_gen_pack_lookup(int *iptr,short *optr,int n,short k, short * lookuptable);
    void qam_gen_pack_lookup();
    void (*f1)();
    int cycle_count[10];
void main()
 {
 int n,i;
 short k;
 short optr[512];
 
// Testing for qam sizes from 2 to 8 for all possible combinations
    f1 = qam_gen_pack_lookup;
  
  k=2;
  n=4;
//  qam_gen_pack_lookup(&iptr2,optr,n,k,optr2);
  cycle_count[0] = Compute_Cycle_Count(&iptr2,optr,n,k,optr2);
   for(i=0;i<2*n;i+=2)
   if((optr[i]!=optr2[i]) || (optr[i+1]!=optr2[i+1])) 
    {
    Fail();
    }
  
  k=3;
  n=8;
//  qam_gen_pack_lookup(&iptr3,optr,n,k,optr3);
  cycle_count[1] = Compute_Cycle_Count(&iptr3,optr,n,k,optr3);
   for(i=0;i<2*n;i+=2)
   if((optr[i]!=optr3[i]) || (optr[i+1]!=optr3[i+1])) 
    {
    Fail();
    }

  k=4;
  n=16;
//  qam_gen_pack_lookup(iptr4,optr,n,k,optr4);
  cycle_count[2] = Compute_Cycle_Count(&iptr4,optr,n,k,optr4);
   for(i=0;i<2*n;i+=2)
   if((optr[i]!=optr4[i]) || (optr[i+1]!=optr4[i+1])) 
    {
    Fail();
    }

  k=5;
  n=32;
//  qam_gen_pack_lookup(iptr5,optr,n,k,optr5);
  cycle_count[3] = Compute_Cycle_Count(&iptr5,optr,n,k,optr5);
   for(i=0;i<2*n;i+=2)
   if((optr[i]!=optr5[i]) || (optr[i+1]!=optr5[i+1])) 
    {
    Fail();
    }

  k=6;
  n=64;
//  qam_gen_pack_lookup(iptr6,optr,n,k,optr6);
  cycle_count[4] = Compute_Cycle_Count(&iptr6,optr,n,k,optr6);
   for(i=0;i<2*n;i+=2)
   if((optr[i]!=optr6[i]) || (optr[i+1]!=optr6[i+1])) 
    {
    Fail();
    }

  k=7;
  n=128;
//  qam_gen_pack_lookup(iptr7,optr,n,k,optr7);
  cycle_count[5] = Compute_Cycle_Count(&iptr7,optr,n,k,optr7);
   for(i=0;i<2*n;i+=2)
   if((optr[i]!=optr7[i]) || (optr[i+1]!=optr7[i+1])) 
    {
    Fail();
    }

  k=8;
  n=256;
//  qam_gen_pack_lookup(iptr8,optr,n,k,optr8);
  cycle_count[6] = Compute_Cycle_Count(&iptr8,optr,n,k,optr8);
  for(i=0;i<2*n;i+=2)
   if((optr[i]!=optr8[i]) || (optr[i+1]!=optr8[i+1])) 
    {
    Fail();
    }

  Pass();
  }

⌨️ 快捷键说明

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