/* * 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); }
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 ; }
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); }
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"); } */ }