int initHoraireDepart(int deltaT, int minDepart) { int depart; do { // Déterminer la classe int classe(distClasseHoraireDepart(gen)); int tailleClasse(real_mod(classeHoraire[classe] - classeHoraire[real_mod(classe-1, 8)], 24)); // Répartition uniforme sur la classe boost::random::uniform_smallint<> distInClasseHoraire(0, tailleClasse * 60 / deltaT); depart = classeHoraire[real_mod(classe-1, 8)] * 60 / deltaT + distInClasseHoraire(gen); } while (depart < minDepart); return depart; }
void rotate(int x, int y) { struct rgb buffer[ROWS_E][COLS]; int i, j; for (i = 0; i < ROWS_E; i++) { for (j = 0; j < COLS; j++) { buffer[i][j] = table[real_mod((i - y), ROWS_E)][real_mod((j - x), COLS)]; } } for (i = 0; i < ROWS_E; i++) { for (j = 0; j < COLS; j++) { table[i][j] = buffer[i][j]; } } }