Generates up to 18 decimal digit primes, or whatever is the
number of digits of precision for a floating point **long
double** in the C compiler used to compile this utility. Note
that this utility might be compiled to use only double precision
floating point, if long double precision is not fully supported
by the C compiler or hardware, allowing at most 15 decimal digit
primes in that case.

Ways to verify that this utility is working are to pipe the
output into the Unix "factor" utility, or compare the output with
the BSD Games "primes" utility, using the supplied shell script:
**examples/testprimes.**

All numbers displayed by this utility are decimal (base 10) prime numbers. A prime number is an integer that cannot be factored.

A range may be specified on the command line, otherwise the
starting number and the number of primes to output is prompted
for. The range is **start** to **stop** inclusive, and
**stop** must be greater than or equal to **start.**

If the **-c** option is specified, the number of lines of
primes displayed is limited to the decimal count that follows
this option.

If the **-t** or "twin" option is specified on the command
line, only **twin primes** will be displayed. Twin primes are
two primes that differ in value by 2. Each twin pair is displayed
together on the same line separated by a space character.

If the **-p** or "pal" option is specified on the command
line, only **palindromic primes** are displayed. Palindromes
are symmetrical, they read exactly the same forward and backward.
The palindromic number **base** may be specified, the default
is base 10. The **base** can be any integer greater than 1.
Primes are always displayed in decimal (base 10).

The version number and short help on the allowed command-line
parameters and usage information are displayed when given the
**-h** option.

With the **-u** option, all output (standard output and
standard error output) is set to be unbuffered, making all output
happen immediately, instead of when the output buffer is full or
when the program terminates or waits for input.

The **-m** option changes the memory size of the prime
number sieve window. It is followed by a decimal, floating point
number which is a multiplier of the default window size (2
megabytes). It is possible that changing the memory size may
speed up the total run time a bit; otherwise there is no reason
to use this option, and its use is not recommended.

The **-v** option simply displays the program name and
version number, and then exits successfully.