/* byte prime bench */ /* normal version, 10.7 sec on 6809, 12.1 sec on 68008 */ #include #define TRUE 1 #define FALSE 0 #define SIZE 8190 #define SIZEPL 8191 #define LOOPS 100 /* repeats for timing */ char flags[SIZEPL]; main() { int i, prime, k, count, iter; printf("%d iterations\n", LOOPS); for (iter = 1; iter < LOOPS; iter++) { count = 0; for (i = 0; i <= SIZE; i++) flags[i] = TRUE; for (i = 0; i <= SIZE; i++) { if (flags[i]) { prime = i + i + 3; k = i + prime; while (k <= SIZE) { flags[k] = FALSE; k += prime; } count += 1; } } } printf("%d primes\n", count); exit(0); }