diff options
Diffstat (limited to 'gcc/testsuite/gcc.misc-tests/sieve.c')
-rwxr-xr-x | gcc/testsuite/gcc.misc-tests/sieve.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.misc-tests/sieve.c b/gcc/testsuite/gcc.misc-tests/sieve.c new file mode 100755 index 0000000..41897f1 --- /dev/null +++ b/gcc/testsuite/gcc.misc-tests/sieve.c @@ -0,0 +1,26 @@ + +#define TRUE 1 +#define FALSE 0 +#define SIZE 8190 + +char flags[SIZE+1]; + +main() +{ + register int i, prime, k, count, iter; + for (iter=1;iter<=100;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; + for (k=i+prime;k<=SIZE;k+=prime) + flags[k]=FALSE; + count++; + } + } + } +/* */ exit(0); /* */ +} + |