Skip to content
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
prime-programs-cached-copy/sr1sieve_1.4.6/

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Latest source and some binaries can be found at:

  http://www.geocities.com/g_w_reynolds/sr1sieve/

To report bugs, email me (Geoff): g_w_reynolds at yahoo.co.nz.


SR1SIEVE
========

Sr1sieve is Srsieve specialised for a single sequence k*b^n+/-1.

(Note that when sieving 3 or more sequences over the same range it is
normally much faster to sieve them together with srsieve or sr2sieve than
individually with sr1sieve.)

Command line options (-P, -i and at least one of -o or -f are required):

 -p --pmin P0
 -P --pmax P1          Sieve for factors p in the range P0 <= p <= P1
 -i --input FILE       Read sieve from NewPGen format file FILE.
 -o --output FILE      Write sieve to NewPGen format file FILE.
 -f --factors FILE     Append new factors to file FILE.
 -C --cache-file FILE  Load (or save) Legendre symbol tables from (or to) FILE.
 -s --save TIME        Update output file every TIME (default 60) minutes.
 -l --L1-cache SIZE    Assume L1 data cache is SIZE Kb.
 -L --L2-cache SIZE    Assume L2 cache is SIZE Kb.
 -B --baby METHOD      Use METHOD for baby step mulmods.
 -G --giant METHOD     Use METHOD for giant step mulmods.
 -H --hashtable SIZE   Force use of a SIZE Kb hashtable.
 -Q --subseq Q         Force sieving k*b^n+c as subsequences (k*b^d)*(b^Q)^m+c.
 -x --no-lookup        Don't pre-compute Legendre symbol lookup tables.
 -z --lower-priority   Run at low priority. (-zz lower).
 -Z --raise-priority   Run at high priority. (-ZZ higher).
 -A --affinity N       Set affinity to CPU N.
 -d --duplicates       Report factors that don't eliminate any composite.
 -q --quiet            Don't print found factors.
 -v --verbose          Print some extra messages.
 -h --help             Print this help.

Some of the following additional options may also be available:
    --amd              Use CMOV optimisations.
    --intel            Don't use CMOV optimisations.
    --sse2             Use SSE2 vector optimisations.
    --no-sse2          Don't use SSE2 vector optimisations.
 -t --threads NUM      Start NUM child threads. (Default 0).


For a given sequence k*b^n+c and prime factor p, the following limits apply:

  1 < k < 2^63.
  1 < b < 2^32.
  0 < n < 2^32.
  |c| = 1.
  b < p < 2^52 (or 2^62 for x86/x86-64, 2^63 for ppc64).

Only factors larger than b will be found, so the sieve must be started
and sieved until p >= b with another program (NewPGen, Srsieve).

If core(k)*core(b) is large, where core(x) is the squarefree part of x, then
a lot of initialization time and memory may be required. To avoid this the
-x switch can be used, at some cost to performance. Alternatively, the -C
switch can be used to write the initialization data to file, which will be
used to speed up initialization the next time the sieve is started with the
-C switch.

If sr1sieve is interrupted (e.g. pressing ctrl-c) or terminated nicely
(e.g. by running: kill `pidof sr1sieve`) then any output files will be
updated before it finishes. Beware that this doesn't happen in Windows when
closing the sr1sieve window by clicking the close button, so press ctrl-c.

If no command line arguments are given but `sr1sieve-command-line.txt'
exists in the current directory, then the command line will be as if the
first line of this file had been used to invoke sr1sieve. This may be useful
on some GUI machines where the command shell and batch files have been
disabled for security reasons.