Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <time.h>
- // Décommenter le code à tester
- /*
- // Pouet_forever
- int main(void) { // Sans optimisation : 1350 / Avec O1 : 530
- char s[] = "000001100000";
- unsigned rule = 0x1E;
- unsigned ngen = 10000000;
- unsigned i, j, n;
- clock_t t = clock();
- for (i = 0; i < ngen; i++) {
- n = 0;
- for (j = 0; s[j]; j++) {
- n = ((n << 1) | ((s[j] - '0') << 1) | (s[j + 1] ? (s[j + 1] - '0') : 0)) & 0x7;
- s[j] = (((rule & 0xFF) >> (n & 0x7)) & 1) + '0';
- }
- }
- printf("%lf", (double) clock() - t);
- return 0;
- }
- */
- /*
- // Nelxiost
- int main(void) { // Sans optimisation : 1080 / Avec O1 : 460
- char gen[] = "-----oo-----";
- unsigned char rule = 0x1E;
- int i, j, tmp, ngen = 10000000;
- clock_t t = clock();
- for (i = 0; i < ngen; ++i) {
- tmp = (gen[0] == 'o' ? 1 : 0);
- for (j = 0; gen[j] != '\0'; ++j) {
- tmp = (tmp << 1 | (gen[j+1] == 'o' ? 1 : 0)) & 0b111;
- gen[j] = (rule & (1 << tmp) ? 'o' : '-');
- }
- }
- printf("%lf", (double) clock() - t);
- return 0;
- }
- */
- /*
- // Combinaison
- int main(void) { // Sans optimisation : 1050 / Avec O1 : 440
- char s[] = "000001100000";
- unsigned rule = 0x1E;
- unsigned ngen = 10000000;
- unsigned i, j, n;
- clock_t t = clock();
- for (i = 0; i < ngen; i++) {
- n = (s[0] - '0') << 1;
- for (j = 0; s[j]; j++) {
- n = ((n << 1) | (s[j + 1] ? (s[j + 1] - '0') : 0)) & 0x7;
- s[j] = (((rule & 0xFF) >> n) & 1) + '0';
- }
- }
- printf("%lf", (double) clock() - t);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement