Пример #1
0
/*
 * Histogram functions
 */
void display_mem_histogram(const char* prefix)
{

	if (!g_mem_hist.num_buckets || !g_mem_hist.bucket_sizes
		|| !g_mem_hist.inuse_cnt || !g_mem_hist.inuse_bytes
		|| !g_mem_hist.free_cnt || !g_mem_hist.free_bytes)
		return;

	CA_PRINT("%s========== In-use Memory Histogram ==========\n", prefix);
	display_histogram(prefix, g_mem_hist.num_buckets, g_mem_hist.bucket_sizes, g_mem_hist.inuse_cnt, g_mem_hist.inuse_bytes);

	CA_PRINT("%s========== Free Memory Histogram ==========\n", prefix);
	display_histogram(prefix, g_mem_hist.num_buckets, g_mem_hist.bucket_sizes, g_mem_hist.free_cnt, g_mem_hist.free_bytes);
}
int main(int argc, char **argv)
{
  struct timespec T;
  unsigned N = 42;
  unsigned histogram[NUM_HIST_BOXES] = {0};
  star_array_t stars = star_array_initialize(N);
  star_array_t sorted_stars = star_array_initialize(N);
  sym_matrix_t matrix = sym_matrix_intitialize(N);
  if(!matrix){
    report(FAIL, "Failed to allocate matrix: %s (%d)", strerror(errno), errno);
    return -1;
  }
  float_t *tally =  malloc(sizeof(float_t)*triag_nr(N-2));
  if(!tally){
    report(FAIL, "Failed to allocate tally: %s (%d)", strerror(errno), errno);
    return -1;
  }
  create_random_array(stars, N);
  report(INFO, "starting sort");
  optim_sort(stars, sorted_stars, N);
  report(INFO, "sorted");
  print_stars(sorted_stars, N);
  fill_matrix(sorted_stars, matrix, N);
  //print_matrix(matrix, N);
  create_tally_matrix(matrix, tally, N);
  //print_tally_matrix(tally, N-2);
  hist_param_t histparams = generate_histogram(tally, histogram, N-2, NUM_HIST_BOXES);
  display_histogram(histogram, histparams);
  star_array_free(stars);
  star_array_free(sorted_stars);
  sym_matrix_free(matrix);
  free(tally);
}
Пример #3
0
Файл: main.c Проект: NSenaud/IUT
int main (int argc, char *argv[])
{
	/* *** Variables Declaration *** */
	
	int i = 0 ;				/* Compteur */
	double notes[NNOTES] ;			/* Tableau de Notes */
	double moyenne = 0 ;			/* Moyenne */
	double mediane = 0 ;			/* Médiane */
	int histogram_datas[NOTE_MAX] ;		/* Données de l'Histogramme (index = abscisse ; valeurs = ordonnée) */
	
	/* Génère NNOTES notes comprises en 0 et NOTE_MAX */
	srand(time(NULL)) ;			/* "Initialisation du Hasard" : augmente l'entropie par rapport au temps machine */
	for (i=0 ; i<NNOTES ; i++)
	{
		notes[i] = (double) (rand()%(NOTE_MAX+1)) ;
	}
	
	/* Affiche les Données Générées sous forme de tableau dans un terminal */
	printf ("\n*** Données Générées ***\n") ;
	for (i=0 ; i<NNOTES ; i++)
	{
		printf("| %d\t", i) ;
	}
	puts ("|") ;
	for (i=0 ; i<NNOTES ; i++) printf("+-------") ;
	puts ("+") ;
	for (i=0 ; i<NNOTES ; i++)
	{
		printf("| %0.lf\t", notes[i]) ;
	}
	puts ("|\n") ;
	
	
	/* *** Traitement *** */
	
	/* Calculer la moyenne, via "moyenne.h" */
	moyenne = calc_moy (notes, NNOTES) ;
	/* Calculer la mediane, via "mediane.h" */
	mediane = calc_med (notes, NNOTES) ;
	/* Generer les donnees necessaires à l'affichage d'un histogramme */
	histogram (histogram_datas, notes, NNOTES, 0, NOTE_MAX) ;


	/* *** Sorties *** */
	
	printf ("Moyenne : %.2lf\n", moyenne) ;		/* Affiche la Moyenne */
	printf ("Médiane : %.2lf\n", mediane) ;		/* Affiche la Médiane */
		
	display_histogram (histogram_datas, NOTE_MAX) ;	/* Affiche un histogramme dans un terminal */
	
	
	/* *** End of Program *** */
	
	return 0 ;
}
Пример #4
0
int main(int argc, char **argv)
{
   int N, i;
   clock_t start, end;
   srand(0);
   if(argc < 2)
   {
      printf("usage: ./a.out N\n");
      return 0;
   }
   N = atoi(argv[1]);
   star_t *stars;
   stars = (star_t *) malloc(N*sizeof(star_t));
   
   printf("creating random stars: \t");
   start = clock();
   
   create_random_array(stars, N);
   
   end = clock();
   printtime(start, end);
 //  print_stars(stars, N);
         
   printf("sorting stars:    \t");
   start = clock();

   sort(stars, N);
   
   end = clock();
   printtime(start, end);
//      print_stars(stars, N);
   
   printf("allocating matrix: \t");
   start = clock();
   float_t **matrix;
   float_t *matrix_aux;

   
   matrix=malloc(N*sizeof(float_t*));   
   matrix_aux=calloc(N*N, sizeof(float_t));

   for(int i=0; i<N; i++)                                                                                                                        
     matrix[i]=&matrix_aux[i*N];

   end = clock();
   printtime(start, end);
   
   printf("filling matrix: \t");
   start = clock();

   fill_matrix(stars, matrix, N);
   
   //   print_matrix(matrix,N);
   end = clock();
   printtime(start, end);

   printf("generating histogram: \t");
   start = clock();
   int *histogram = (int *)calloc(NUM_HIST_BOXES,sizeof(int));
   hist_param_t *histparams;
   histparams = malloc(sizeof(hist_param_t));
   generate_histogram(matrix, histogram, N, NUM_HIST_BOXES, histparams);
   end = clock();
   printtime(start, end);

   display_histogram(histogram, *histparams); 
}
Пример #5
0
int main(int argc, char **argv)
{
   int N, i, j;
   clock_t start, end;
    /*
   if(argc < 2)
   {
      printf("usage: ./a.out N\n");
      return 0;
   }
     */
    N = 1000;//atoi(argv[1]);
    
    printf("MAX INT: %d\n", INT_MAX);
    
   star_t *stars;
   stars = (star_t *) malloc(N*sizeof(star_t));
   
   printf("creating random stars: \t");
   start = clock();
   
   create_random_array(stars, N);
   
   end = clock();
   printtime(start, end);
 //  print_stars(stars, N);
         
   printf("sorting stars:    \t");
   start = clock();

   sort(stars, N);
   
   end = clock();
   printtime(start, end);
//      print_stars(stars, N);
   
   printf("allocating matrix: \t");
   start = clock();
   //float_t **matrix;
    matrix* m;
    m = matrix_create(N, N);
    
   end = clock();
   printtime(start, end);
   
   printf("filling matrix: \t");
   start = clock();
   fill_matrix(stars, m, N);
   
   //print_matrix(matrix,N);
   end = clock();
   printtime(start, end);
   
   printf("generating histogram: \t");
   start = clock();
   int *histogram = (int *)calloc(NUM_HIST_BOXES,sizeof(int));
   hist_param_t histparams = generate_histogram(m, histogram, N, NUM_HIST_BOXES);
   end = clock();
   printtime(start, end);

   display_histogram(histogram, histparams);
    
    free(histogram);
    free(m->data);
    free(m);
    /*
    for (i=0; i<N; i++) {
        printf("%s: %f\n",stars[i].designation,stars[i].distanceFromOrigin);
    }
    */
    /*
    for (i=0; i<N; i++) {
        for (j=0; j<N; j++) {
            printf("%.2f ",matrix_get(*m, i, j));
        }
        printf("\n");
    }
     */
}