Exemplo n.º 1
0
END_TEST


START_TEST (test_sdistmat_euclidean)
{
  int n=10;
  Array *a=array_new_dummy( DOUBLE, 1, n );
  Array *b=array_new_dummy( DOUBLE, 1, n );
  array_reverse(b);
  Array *c=distmatrix_signaldist( vectordist_euclidean,
											 a, b, NULL, NULL );
  Array *d=array_new2( DOUBLE, 2, n,n );
  d = distmatrix_signaldist( vectordist_euclidean,
									  a, b, d, NULL );
  int i;
  for( i=0; i<array_NUMEL( c ); i++ ){
	 fail_if( array_INDEX1(c, double, i) < 0 );
	 fail_if( array_INDEX1(d, double, i) < 0 );
	 fail_unless( array_INDEX1(c, double, i)==array_INDEX1(d, double, i) );
  }
  array_free( a );
  array_free( b );
  array_free( c );
  array_free( d );
}
Exemplo n.º 2
0
Arquivo: main.c Projeto: osgh/clang
int main()
{

	printf("\n");

	/* count string blanks */
	printf("\"hello world\" has %d blank(s)\n",count_blanks("hello world"));

	
	printf("\n");
	

	/* remove blanks of string */
	char str[50] = "h ell o wo rl d!"; 
	remove_blanks(str,50);
	printf("\"h ell o wo rl d!\" remove blanks is \"%s\"\n",str);


	printf("\n");


	/* count ones of integer number */
	int ones = 0xfffffff0;
	printf("ones of %d total are %d\n", ones, int_ones_count(ones));


	printf("\n");


	/* reverse array of integer numbers */
	int arr[] = {1,2,3,4,5,6,7,8,9};
	int len = sizeof(arr)/sizeof(arr[0]);

	array_reverse(arr, len);
	
	printf("1 2 3 4 5 6 7 8 9 reversed to ");
	int i;
	for(i = 0; i < len; i++){
		printf("%d ",arr[i]);
	}

	printf("\n");

	return 0;
}
Exemplo n.º 3
0
Arquivo: ewmh.c Projeto: xiaq/hlwm
void ewmh_update_client_list_stacking() {
    // First: get the windows in the current stack
    struct ewmhstack stack;
    stack.count = g_window_count;
    stack.buf = g_new(Window, stack.count);
    int remain;
    monitor_stack_to_window_buf(stack.buf, stack.count, true, &remain);
    stack.i = stack.count - remain;

    // Then add all the others at the end
    tag_foreach(ewmh_add_tag_stack, &stack);

    // reverse stacking order, because ewmh requires bottom to top order
    array_reverse(stack.buf, stack.count, sizeof(stack.buf[0]));

    XChangeProperty(g_display, g_root, g_netatom[NetClientListStacking],
        XA_WINDOW, 32, PropModeReplace,
        (unsigned char *) stack.buf, stack.i);
    g_free(stack.buf);
}
void method_case_second(function_two f, int minimum, int maximum, int variant) {
	for (int l = 1000; l <= 8000; l = l + 1000) {
		out<<"Размер массива: "<<l<<endl;

		int* etalon = new int[l];
		int* sorting = new int[l];

		_int64 min = INT_MAX;
		_int64 max = -2;
		_int64 sum = 0;
		int kol = 0;

		switch (variant) {
		case 0:
			array_generation(etalon, l, minimum, maximum);
			break;
		case 1:
			array_generation(etalon, l, minimum, maximum);
			break;
		case 2:
			array_generation(etalon, l, minimum, maximum);
			bubble_sort(etalon, l);
			break;
		case 3:
			array_generation(etalon, l, minimum, maximum);
			array_almost_sort(etalon, l);
			break;
		case 4:
			array_generation(etalon, l, minimum, maximum);
			array_reverse(etalon, l);
			break;
		}

		for (int k = 0; k < 20; k ++) { 
			my_copy(etalon, sorting, l);

			_asm { 
				 RDTSC 
				 mov DWORD PTR timestart, eax 
				 mov DWORD PTR timestart+4, edx 
			} 
		 
			f(sorting, 0, l - 1); 
			
			_asm {
				 RDTSC 
				 mov DWORD PTR timefinish, eax 
				 mov DWORD PTR timefinish+4, edx 
			}

			if ((timefinish - timestart) > max) { 
				max = (timefinish - timestart);
			}
			if ((timefinish - timestart) < min) { 
				min = (timefinish - timestart);
			}
			sum = sum + (timefinish - timestart); 
			kol ++;
		}

		out<<"Минимальное время: "<<min<<" Ticks"<<endl;
		out<<"Среднее время время: "<<sum / kol<<" Ticks"<<endl;
		out<<"Максимальное время: "<<max<<" Ticks"<<endl;

		delete [] etalon;
		delete [] sorting;	
	};
	out<<endl;
}