📄 time.c
字号:
#include <tina/all_tina.h>#include "bmp.h"static int HEIGHT = 4;static int WIDTH = 4;static int SCRAM_n = 10;static suseconds_t used_time = 0;void show_time(void){ struct timeval start, end;
int height = HEIGHT, width = WIDTH; int i,j; FILE *fp; char fname[64]; char str[25]; strcpy(fname,"time_"); gcvt(SCRAM_n,5,str); strcat(fname, str); strcat(fname, "_"); gcvt(height,5,str); strcat(fname, str); strcat(fname, "x"); gcvt(width,5,str); strcat(fname, str); strcat(fname,".txt"); fp = fopen(fname,"wb");/*------------------------------------------------*/ int **trans_r, **trans_c;
trans_r = int_matrix(height, width);
trans_c = int_matrix(height, width); printf("construct the trasformation matrix:\n"); fprintf(fp,"construct the trasformation matrix:\n");/*------------------------------------------------*/ gettimeofday(&start, NULL); arnold_matrix(trans_r, trans_c, height, width); gettimeofday(&end, NULL); used_time = (end.tv_sec-start.tv_sec)*1000000 + (end.tv_usec-start.tv_usec); printf("arnold used_time = %d Microseconds\n",used_time); fprintf(fp,"arnold used_time = %d Microseconds\n",used_time);/*-----------------------------------------------------------*/ printf("transformation matrix:\n"); fprintf(fp,"transformation matrix:\n"); for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{
printf("(%d %d) ",trans_r[i][j],trans_c[i][j]); fprintf(fp,"(%d %d) ",trans_r[i][j],trans_c[i][j]);
} printf("\n"); fprintf(fp,"\n");
} for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{ printf("%3d ",trans_r[i][j]*width+trans_c[i][j]); fprintf(fp,"%3d ",trans_r[i][j]*width+trans_c[i][j]); } printf("\n"); fprintf(fp,"\n");
}/*-----------------------------------------------------------*//*------------------------------------------------*/ gettimeofday(&start, NULL); fibonacci_matrix(trans_r, trans_c, height, width); gettimeofday(&end, NULL); used_time = (end.tv_sec-start.tv_sec)*1000000 + (end.tv_usec-start.tv_usec); printf("fibonacci used_time = %d Microseconds\n",used_time); fprintf(fp,"fibonacci used_time = %d Microseconds\n",used_time);/*-----------------------------------------------------------*/ printf("transformation matrix:\n"); fprintf(fp,"transformation matrix:\n"); for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{
printf("(%d %d) ",trans_r[i][j],trans_c[i][j]); fprintf(fp,"(%d %d) ",trans_r[i][j],trans_c[i][j]);
} printf("\n"); fprintf(fp,"\n");
} for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{ printf("%3d ",trans_r[i][j]*width+trans_c[i][j]); fprintf(fp,"%3d ",trans_r[i][j]*width+trans_c[i][j]); } printf("\n"); fprintf(fp,"\n");
}/*-----------------------------------------------------------*//*------------------------------------------------*/ gettimeofday(&start, NULL); qatlig_matrix(trans_r, trans_c, height, width); gettimeofday(&end, NULL); used_time = (end.tv_sec-start.tv_sec)*1000000 + (end.tv_usec-start.tv_usec); printf("qatlig used_time = %d Microseconds\n",used_time); fprintf(fp,"qatlig used_time = %d Microseconds\n",used_time);/*-----------------------------------------------------------*/ printf("transformation matrix:\n"); fprintf(fp,"transformation matrix:\n"); for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{
printf("(%d %d) ",trans_r[i][j],trans_c[i][j]); fprintf(fp,"(%d %d) ",trans_r[i][j],trans_c[i][j]);
} printf("\n"); fprintf(fp,"\n");
} for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{ printf("%3d ",trans_r[i][j]*width+trans_c[i][j]); fprintf(fp,"%3d ",trans_r[i][j]*width+trans_c[i][j]); } printf("\n"); fprintf(fp,"\n");
}/*-----------------------------------------------------------*//*------------------------------------------------*/ gettimeofday(&start, NULL); hilbert_matrix(trans_r, trans_c, height, width); gettimeofday(&end, NULL); used_time = (end.tv_sec-start.tv_sec)*1000000 + (end.tv_usec-start.tv_usec); printf("hilbert used_time = %d Microseconds\n",used_time); fprintf(fp,"hilbert used_time = %d Microseconds\n",used_time);/*-----------------------------------------------------------*/ printf("transformation matrix:\n"); fprintf(fp,"transformation matrix:\n"); for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{
printf("(%d %d) ",trans_r[i][j],trans_c[i][j]); fprintf(fp,"(%d %d) ",trans_r[i][j],trans_c[i][j]);
} printf("\n"); fprintf(fp,"\n");
} for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{ printf("%3d ",trans_r[i][j]*width+trans_c[i][j]); fprintf(fp,"%3d ",trans_r[i][j]*width+trans_c[i][j]); } printf("\n"); fprintf(fp,"\n");
}/*-----------------------------------------------------------*//*------------------------------------------------*/ gettimeofday(&start, NULL); zigzag_matrix(trans_r, trans_c, height, width); gettimeofday(&end, NULL); used_time = (end.tv_sec-start.tv_sec)*1000000 + (end.tv_usec-start.tv_usec); printf("zigzag used_time = %d Microseconds\n",used_time); fprintf(fp,"zigzag used_time = %d Microseconds\n",used_time);/*-----------------------------------------------------------*/ printf("transformation matrix:\n"); fprintf(fp,"transformation matrix:\n"); for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{
printf("(%d %d) ",trans_r[i][j],trans_c[i][j]); fprintf(fp,"(%d %d) ",trans_r[i][j],trans_c[i][j]);
} printf("\n"); fprintf(fp,"\n");
} for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{ printf("%3d ",trans_r[i][j]*width+trans_c[i][j]); fprintf(fp,"%3d ",trans_r[i][j]*width+trans_c[i][j]); } printf("\n"); fprintf(fp,"\n");
}/*-----------------------------------------------------------*//*------------------------------------------------*/ gettimeofday(&start, NULL); latin_matrix(trans_r, trans_c, height, width); gettimeofday(&end, NULL); used_time = (end.tv_sec-start.tv_sec)*1000000 + (end.tv_usec-start.tv_usec); printf("latin used_time = %d Microseconds\n",used_time); fprintf(fp,"latin used_time = %d Microseconds\n",used_time);/*-----------------------------------------------------------*/ printf("transformation matrix:\n"); fprintf(fp,"transformation matrix:\n"); for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{
printf("(%d %d) ",trans_r[i][j],trans_c[i][j]); fprintf(fp,"(%d %d) ",trans_r[i][j],trans_c[i][j]);
} printf("\n"); fprintf(fp,"\n");
} for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{ printf("%3d ",trans_r[i][j]*width+trans_c[i][j]); fprintf(fp,"%3d ",trans_r[i][j]*width+trans_c[i][j]); } printf("\n"); fprintf(fp,"\n");
}/*-----------------------------------------------------------*//*------------------------------------------------*/ gettimeofday(&start, NULL); graycode_matrix(trans_r, trans_c, height, width); gettimeofday(&end, NULL); used_time = (end.tv_sec-start.tv_sec)*1000000 + (end.tv_usec-start.tv_usec); printf("graycode used_time = %d Microseconds\n",used_time); fprintf(fp,"graycode used_time = %d Microseconds\n",used_time);/*-----------------------------------------------------------*/ printf("transformation matrix:\n"); fprintf(fp,"transformation matrix:\n"); for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{
printf("(%d %d) ",trans_r[i][j],trans_c[i][j]); fprintf(fp,"(%d %d) ",trans_r[i][j],trans_c[i][j]);
} printf("\n"); fprintf(fp,"\n");
} for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{ printf("%3d ",trans_r[i][j]*width+trans_c[i][j]); fprintf(fp,"%3d ",trans_r[i][j]*width+trans_c[i][j]); } printf("\n"); fprintf(fp,"\n");
}/*-----------------------------------------------------------*//*------------------------------------------------*/ gettimeofday(&start, NULL); baker_matrix(trans_r, trans_c, height, width); gettimeofday(&end, NULL); used_time = (end.tv_sec-start.tv_sec)*1000000 + (end.tv_usec-start.tv_usec); printf("baker used_time = %d Microseconds\n",used_time); fprintf(fp,"baker used_time = %d Microseconds\n",used_time);/*-----------------------------------------------------------*/ printf("transformation matrix:\n"); fprintf(fp,"transformation matrix:\n"); for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{
printf("(%d %d) ",trans_r[i][j],trans_c[i][j]); fprintf(fp,"(%d %d) ",trans_r[i][j],trans_c[i][j]);
} printf("\n"); fprintf(fp,"\n");
} for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{ printf("%3d ",trans_r[i][j]*width+trans_c[i][j]); fprintf(fp,"%3d ",trans_r[i][j]*width+trans_c[i][j]); } printf("\n"); fprintf(fp,"\n");
}/*-----------------------------------------------------------*//*------------------------------------------------*/ gettimeofday(&start, NULL); sampling_matrix(trans_r, trans_c, height, width); gettimeofday(&end, NULL); used_time = (end.tv_sec-start.tv_sec)*1000000 + (end.tv_usec-start.tv_usec); printf("sampling used_time = %d Microseconds\n",used_time); fprintf(fp,"sampling used_time = %d Microseconds\n",used_time);/*-----------------------------------------------------------*/ printf("transformation matrix:\n"); fprintf(fp,"transformation matrix:\n"); for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{
printf("(%d %d) ",trans_r[i][j],trans_c[i][j]); fprintf(fp,"(%d %d) ",trans_r[i][j],trans_c[i][j]);
} printf("\n"); fprintf(fp,"\n");
} for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{ printf("%3d ",trans_r[i][j]*width+trans_c[i][j]); fprintf(fp,"%3d ",trans_r[i][j]*width+trans_c[i][j]); } printf("\n"); fprintf(fp,"\n");
}/*-----------------------------------------------------------*//*------------------------------------------------*/ gettimeofday(&start, NULL); convey_matrix(trans_r, trans_c, height, width); gettimeofday(&end, NULL); used_time = (end.tv_sec-start.tv_sec)*1000000 + (end.tv_usec-start.tv_usec); printf("convey used_time = %d Microseconds\n",used_time); fprintf(fp,"convey used_time = %d Microseconds\n",used_time);/*-----------------------------------------------------------*/ printf("transformation matrix:\n"); fprintf(fp,"transformation matrix:\n"); for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{
printf("(%d %d) ",trans_r[i][j],trans_c[i][j]); fprintf(fp,"(%d %d) ",trans_r[i][j],trans_c[i][j]);
} printf("\n"); fprintf(fp,"\n");
} for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{ printf("%3d ",trans_r[i][j]*width+trans_c[i][j]); fprintf(fp,"%3d ",trans_r[i][j]*width+trans_c[i][j]); } printf("\n"); fprintf(fp,"\n");
}/*-----------------------------------------------------------*//*------------------------------------------------*/ gettimeofday(&start, NULL); logistic_matrix(trans_r, trans_c, height, width); gettimeofday(&end, NULL); used_time = (end.tv_sec-start.tv_sec)*1000000 + (end.tv_usec-start.tv_usec); printf("logistic used_time = %d Microseconds\n",used_time); fprintf(fp,"logistic used_time = %d Microseconds\n",used_time);/*-----------------------------------------------------------*/ printf("transformation matrix:\n"); fprintf(fp,"transformation matrix:\n"); for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{
printf("(%d %d) ",trans_r[i][j],trans_c[i][j]); fprintf(fp,"(%d %d) ",trans_r[i][j],trans_c[i][j]);
} printf("\n"); fprintf(fp,"\n");
} for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{ printf("%3d ",trans_r[i][j]*width+trans_c[i][j]); fprintf(fp,"%3d ",trans_r[i][j]*width+trans_c[i][j]); } printf("\n"); fprintf(fp,"\n");
}/*-----------------------------------------------------------*//*------------------------------------------------*/ gettimeofday(&start, NULL); random_matrix(trans_r, trans_c, height, width); gettimeofday(&end, NULL); used_time = (end.tv_sec-start.tv_sec)*1000000 + (end.tv_usec-start.tv_usec); printf("random used_time = %d Microseconds\n",used_time); fprintf(fp,"random used_time = %d Microseconds\n",used_time);/*-----------------------------------------------------------*/ printf("transformation matrix:\n"); fprintf(fp,"transformation matrix:\n"); for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{
printf("(%d %d) ",trans_r[i][j],trans_c[i][j]); fprintf(fp,"(%d %d) ",trans_r[i][j],trans_c[i][j]);
} printf("\n"); fprintf(fp,"\n");
} for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{ printf("%3d ",trans_r[i][j]*width+trans_c[i][j]); fprintf(fp,"%3d ",trans_r[i][j]*width+trans_c[i][j]); } printf("\n"); fprintf(fp,"\n");
}/*-----------------------------------------------------------*//*------------------------------------------------*/ int k; double pix; Imrect *srcIm,*destIm,*tmpIm; srcIm = im_alloc( height, width, NULL, double_v ); destIm = im_alloc( height, width, NULL, double_v );int g;for( g = 1; g <= SCRAM_n; g++){ gettimeofday(&start, NULL); for( k = 0; k < g; k++)
{ for (i = 0; i < height ; i++)
{
for (j = 0; j< width ; j++)
{ IM_PIX_GET(srcIm, i, j, pix);
IM_PIX_SET(destIm, trans_r[i][j], trans_c[i][j], pix);
}
}
tmpIm = srcIm;
srcIm = destIm;
destIm = tmpIm; } gettimeofday(&end, NULL); used_time = (end.tv_sec-start.tv_sec)*1000000 + (end.tv_usec-start.tv_usec); printf("\niterate %d times: used_time = %d Microseconds\n",g,used_time); fprintf(fp,"\niterate %d times: used_time = %d Microseconds\n",g,used_time);} fclose(fp); im_free(srcIm); im_free(destIm);/*------------------------------------------------*/ free_int_matrix(trans_r, height);
free_int_matrix(trans_c, height);}void R_show_time(void){ struct timeval start, end;
int height = HEIGHT, width = WIDTH; int i,j; FILE *fp; char fname[64];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -