예제 #1
0
파일: sort1.c 프로젝트: gsohal/SeniorDesign
/*
 * Arguments    : double x_data[]
 *                int x_size[1]
 *                int idx_data[]
 *                int idx_size[1]
 * Return Type  : void
 */
void b_sort(double x_data[], int x_size[1], int idx_data[], int idx_size[1])
{
  int dim;
  dim = 2;
  if (x_size[0] != 1) {
    dim = 1;
  }

  c_sort(x_data, x_size, dim, idx_data, idx_size);
}
예제 #2
0
main()
{
	int	a;
	int	*z1, *z2, *zx;

	PRINT("= = = сравнение ассемблерной и —и реализаций функции пузырьковой сортировки = = =\n");
	PRINT_TITLE;

	// выдел¤ем пам¤ть
	z1 = malloc(N_MAX*sizeof(int));
	z2 = malloc(N_MAX*sizeof(int));
	zx = malloc(N_MAX*sizeof(int));

	// генерирует N_MAX случайных чисел дл¤ сортировки
	srand((unsigned)time(NULL));
	for (a = 0; a < N_MAX; a++) z1[a] = rand();

	// ставим обе функции в одинаковые услови¤
	memcpy(z2, z1, N_MAX*sizeof(int));
	memcpy(zx, z1, N_MAX*sizeof(int));

	A_BEGIN(0);
		asm_sort(z1,N_MAX);
		memcpy(z1,zx,N_MAX*sizeof(int));
	A_END(0);

	A_BEGIN(1);
		c_sort(z2,N_MAX);
		memcpy(z2,zx,N_MAX*sizeof(int));
	A_END(1);

	// выводим результаты на консоль
	A1_OUT("ASM SORT:");		A_LIST_ITER(0);
	Ax_OUT("C   SORT:",0,1);	A_LIST_ITER(1);


}