Commit 024d5cde authored by Niels Möller's avatar Niels Möller
Browse files

Deleted the code for binary output.

Rev: nettle/examples/eratosthenes.c:1.3
parent 48c2100a
...@@ -58,7 +58,6 @@ usage(void) ...@@ -58,7 +58,6 @@ usage(void)
" --primes-only Suppress output of differences.\n" " --primes-only Suppress output of differences.\n"
" --diff-only Supress output of primes.\n" " --diff-only Supress output of primes.\n"
" --tabular Tabular output (default is one prime per line).\n" " --tabular Tabular output (default is one prime per line).\n"
" --binary Binary output.\n"
" --block SIZE Block size.\n"); " --block SIZE Block size.\n");
} }
...@@ -185,14 +184,11 @@ struct output_info ...@@ -185,14 +184,11 @@ struct output_info
{ {
int output_2; int output_2;
enum { enum {
FORMAT_PRIMES = 1, FORMAT_DIFF = 2, FORMAT_TABULAR = 4, FORMAT_BINARY = 8 FORMAT_PRIMES = 1, FORMAT_DIFF = 2, FORMAT_TABULAR = 4
} format; } format;
unsigned long last; unsigned long last;
unsigned column; unsigned column;
/* For the binary output */
unsigned size;
}; };
static void static void
...@@ -201,79 +197,12 @@ output_init(struct output_info *info) ...@@ -201,79 +197,12 @@ output_init(struct output_info *info)
info->output_2 = 1; info->output_2 = 1;
info->format = FORMAT_PRIMES | FORMAT_DIFF; info->format = FORMAT_PRIMES | FORMAT_DIFF;
info->last = 0; info->last = 0;
info->size = 1;
} }
static void static void
output(struct output_info *info, unsigned long p) output(struct output_info *info, unsigned long p)
{ {
if (info->format & FORMAT_BINARY) if (info->format & (FORMAT_PRIMES | FORMAT_DIFF))
{
/* Overrides the other formats. */
unsigned char buf[4];
unsigned diff = (p - info->last) / 2;
switch (info->size)
{
case 1:
if (diff < 0x100)
{
putchar(diff);
break;
}
else
{
info->size++;
putchar(0);
/* Fall through */
}
case 2:
if (diff < 0x10000)
{
buf[0] = diff >> 8;
buf[1] = diff & 0xff;
putchar(buf[0]);
putchar(buf[1]);
break;
}
else
{
info->size++;
putchar(0);
putchar(0);
/* Fall through */
}
case 3:
if (diff < 0x1000000)
{
buf[0] = diff >> 16;
buf[1] = (diff >> 8) & 0xff;
buf[2] = diff & 0xff;
putchar(buf[0]);
putchar(buf[1]);
putchar(buf[2]);
break;
}
else
{
info->size++;
putchar(0);
putchar(0);
putchar(0);
/* Fall through */
}
case 4:
buf[0] = diff >> 24;
buf[1] = (diff >> 16) & 0xff;
buf[2] = (diff >> 8) & 0xff;
buf[3] = diff & 0xff;
putchar(buf[0]);
putchar(buf[1]);
putchar(buf[2]);
putchar(buf[3]);
break;
}
}
else if (info->format & (FORMAT_PRIMES | FORMAT_DIFF))
{ {
if (info->format & FORMAT_PRIMES) if (info->format & FORMAT_PRIMES)
printf("%ld", p); printf("%ld", p);
...@@ -301,19 +230,11 @@ output(struct output_info *info, unsigned long p) ...@@ -301,19 +230,11 @@ output(struct output_info *info, unsigned long p)
static void static void
output_first(struct output_info *info) output_first(struct output_info *info)
{ {
if (info->format & FORMAT_BINARY) info->column = 0;
{ if (info->output_2)
/* Omit 2, and start with 1, so that differences are odd. */ output(info, 2);
info->last = 1;
}
else
{
info->column = 0;
if (info->output_2)
output(info, 2);
info->last = 2; info->last = 2;
}
} }
int int
...@@ -333,7 +254,7 @@ main (int argc, char **argv) ...@@ -333,7 +254,7 @@ main (int argc, char **argv)
int quiet; int quiet;
int c; int c;
enum { FLAG_ODD = -100, FLAG_PRIME, FLAG_DIFF, FLAG_TABULAR, FLAG_BINARY, enum { FLAG_ODD = -100, FLAG_PRIME, FLAG_DIFF, FLAG_TABULAR,
FLAG_QUIET, FLAG_BLOCK }; FLAG_QUIET, FLAG_BLOCK };
static const struct option options[] = static const struct option options[] =
...@@ -345,7 +266,6 @@ main (int argc, char **argv) ...@@ -345,7 +266,6 @@ main (int argc, char **argv)
{ "prime-only", no_argument, NULL, FLAG_PRIME }, { "prime-only", no_argument, NULL, FLAG_PRIME },
{ "diff-only", no_argument, NULL, FLAG_DIFF }, { "diff-only", no_argument, NULL, FLAG_DIFF },
{ "tabular", no_argument, NULL, FLAG_TABULAR }, { "tabular", no_argument, NULL, FLAG_TABULAR },
{ "binary", no_argument, NULL, FLAG_BINARY },
{ "block" , required_argument, NULL, FLAG_BLOCK }, { "block" , required_argument, NULL, FLAG_BLOCK },
{ NULL, 0, NULL, 0} { NULL, 0, NULL, 0}
}; };
...@@ -373,9 +293,6 @@ main (int argc, char **argv) ...@@ -373,9 +293,6 @@ main (int argc, char **argv)
case FLAG_TABULAR: case FLAG_TABULAR:
info.format |= FORMAT_TABULAR; info.format |= FORMAT_TABULAR;
break; break;
case FLAG_BINARY:
info.format |= FORMAT_BINARY;
break;
case FLAG_QUIET: case FLAG_QUIET:
quiet = 1; quiet = 1;
break; break;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment