int main(void) { int a[10]; rand_a(a, 10); print_a(a, 10); printf("max ele is: %d\n", max(a, 10)); printf("min ele is: %d\n", min(a, 10)); printf("shift left 3 eles:\n"); shift_left(a, 10, 3); print_a(a, 10); printf("shift right 3 eles:\n"); shift_right(a, 10, 3); print_a(a, 10); printf("reverse:\n"); reverse(a, 10); print_a(a, 10); printf("sort:\n"); bubble_sort(a, 10); print_a(a, 10); return 0; }
// execute une iteration, cad transfert horizontale, verticale, et temperature du centre remit a ca valeur T void e3_iter(struct Cell* matrix, struct SubMatrix* sub_mat, int n, int N, int nb_iter, int nb_thread, int print) { int ret; if (print) { print_a(matrix, N, n-4); } for (int w = 0; w < nb_iter; w++) // nombre d'iteration verticale { ret = e3_pthread_barrier_wait(barrierV); if (ret) { fprintf(stderr, "main waitG %d %d %d\n", ret, errno, w); exit(1); } ret = e3_pthread_barrier_wait(barrierH); if (ret) { fprintf(stderr, "main waitH %d %d %d\n", ret, errno, w); exit(1); } //print_matrix(matrix, N, 0);printf("\n"); } if (print) { print_a(matrix, N, n-4); //print_matrix(matrix, N, 0);printf("\n"); } }
/* Print functions */ static void print_aseq(m_aseq *a) { int i; fprintf(stdout, "\nm_aseq size: %ld --------\n", a->_length); for (i = 0; i < a->_length; i++) print_a(&(a->_buffer[i])); }
int main() { /* int a[ROW][COL] = { {1, 2}, {3, 4}, {5, 6}, {7, 8} }; */ int a[ROW][COL] = { {1}, {3}, {5}, {7} }; print_a(a, ROW, COL); int **b = rotate_90(a, ROW, COL); print_b(b, COL, ROW); cleanup(b, COL, ROW); return 0; }
// execute une iteration, cad transfert horizontale, verticale, et temperature du centre remit a ca valeur T void iter(struct Cell* matrix, int n, int N, float T, int nb_iter, int print) { for (int w = 0; w < nb_iter; w++) // nombre d'itération verticale { horizontale_iter_pair(matrix, N); verticale_iter_impair(matrix, N); rinit_matrix(n, T, matrix); } if (print) { print_a(matrix, N, n-4); } }