1 /* Hey Emacs, this is a -*- C -*- file */
4 * File name: test/stantard/sieve.c
5 * Purpose: test case: Eratostenes sieve
7 * Modified by: Boris Boesler
9 * Copyright: (c) 2006 Dresden Silicon GmbH
14 /* switch to STA code generation */
15 #pragma codegenerator STA
17 /* Eratostenes Sieve Prime Number Program in C */
24 /* result as local variable to check */
33 short flags[SIZE + 1];
37 register short i, prime, k, count, iter;
40 for (iter = 1; iter <= ITERATIONS; iter++) {
43 /* init solid sieve */
44 for(i = 0; i <= SIZE; i++) {
48 /* make holes in sieve */
49 for(i = 0; i <= SIZE; i++) {
52 for (k = i + prime; k <= SIZE; k += prime) {
62 /* switch back to Control Flow Processor code generation */
63 #pragma codegenerator CFP
66 #ifdef REFERENCE_TESTS
67 int main(int argc, char **argv)
70 printf("sieve(%d) = 0x%x\n", SIZE, res);