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

📄 testdct.c

📁 DCT算法的实现和测试
💻 C
字号:
/*****************************************************************
    UNCOMMENT THIS SECTION TO TEST 1D FAST DCT 
*****************************************************************/
/*
int main(void)
{
  double *f=NULL;
  int i,nsiz;

  do{
    printf("Enter nsiz:");
    scanf("%d", &nsiz);
    printf("nsiz=%d\n",nsiz);
    if(nsiz==0)break;
    f = (double *)calloc(nsiz,sizeof(double));
    if(f == NULL){
      printf("Unable to allocate f array\n");
      exit(1);
    }
    for (i=0; i<=nsiz-1; i++){
  	f[i]= (i+1)*1.0;
    }
    f[2] = 42.0;
  
    printf("Before fct f[] is:\n");
    rarrwrt(f,nsiz);
  
    fct(f,nsiz);
  
    printf("After fct f[] is:\n");
    rarrwrt(f,nsiz);
  
    ifct(f,nsiz);
  
    printf("After ifct f[] is:\n"); rarrwrt(f,nsiz);
    free(f);
  }while(1==1);
  return(0);
  }

*/


/*****************************************************************
    UNCOMMENT THIS SECTION TO TEST 2D FAST DCT 
*****************************************************************/

/*

static void rarrwrt2d(double f[],int nrows,int ncols)
{
  int row;

  for (row=0;row<=nrows-1; row++){
    printf("Row %4d\n",row);
    rarrwrt(&f[row*ncols],ncols);
  }
}


main()
{
  double *f=NULL;
  int i,j,nrows,ncols;

  printf("Enter nrows:");
  scanf("%d",&nrows);
  printf("nrows=%d\n",nrows);
  printf("Enter ncols:");
  scanf("%d",&ncols);
  printf("ncols=%d\n",ncols);

  f = (double *)calloc(nrows*ncols,sizeof(double));
  if(f == NULL){
    printf("Unable to allocate f array\n");
    exit(1);
  }

  for (i=0; i<=nrows*ncols-1; i++){
      f[i] = 1.0*(i+1);
  }
  f[2] = 42.0;

  printf("Before fct2d f[] is:\n");
  rarrwrt2d(f,nrows,ncols);

  fct2d(f,nrows,ncols);

  printf("After fct2d f[] is:\n");
  rarrwrt2d(f,nrows,ncols);

  ifct2d(f,nrows,ncols);

  printf("After ifct2d f[] is:\n"); 
  rarrwrt2d(f,nrows,ncols);
}


*/

⌨️ 快捷键说明

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