mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-12 02:43:14 +01:00
Branch statements now emit a new block after it. Fixed the _adSort runtime function had a bad signature. Added a missing dot prefix on compiler generated string tables for string switch. Fixed, PTRSIZE seems like it was wrong on 64bit, now it definitely gets set properly.
34 lines
595 B
D
34 lines
595 B
D
/* Eratosthenes Sieve prime number calculation. */
|
|
|
|
extern(C) int printf(char*, ...);
|
|
|
|
bool flags[8191];
|
|
|
|
int main()
|
|
{ int i, prime, k, count, iter;
|
|
|
|
printf("10 iterations\n");
|
|
for (iter = 1;
|
|
iter <= 10;
|
|
iter++)
|
|
{
|
|
count = 0;
|
|
flags[] = true;
|
|
for (i = 0; i < flags.length; i++)
|
|
{ if (flags[i])
|
|
{
|
|
prime = i + i + 3;
|
|
k = i + prime;
|
|
while (k < flags.length)
|
|
{
|
|
flags[k] = false;
|
|
k += prime;
|
|
}
|
|
count += 1;
|
|
}
|
|
}
|
|
}
|
|
printf("%d primes\n", count);
|
|
return 0;
|
|
}
|