Commit Graph

37 Commits

Author SHA1 Message Date
sbruno
ac53ffbd58 Update factor for changes to types in primes, which is a dependency.
Fixes build-fail on mips32 introduced at 272207.
2014-09-27 10:57:34 +00:00
cperciva
a742fc39b4 Switch primes(6) from using unsigned long to using uint64_t. This fixes
'limited range of type' warnings about comparisons on 32-bit systems, and
allows 32-bit systems to compute the full range of primes.
2014-09-27 09:00:38 +00:00
cperciva
076bdc812e Correctly enumerate primes between 4295098369 and 3825123056546413050.
Prior to this commit, primes(6) relied solely on sieving with primes up
to 65537, with the effect that composite numbers which are the product
of two non-16-bit primes would be incorrectly identified as prime.  For
example,
# primes 1099511627800 1099511627820
would output
1099511627803
1099511627807
1099511627813
when in fact only the first of those values is prime.

This commit adds strong pseudoprime tests to validate the candidates
which pass the initial sieving stage, using bases of 2, 3, 5, 7, 11,
13, 17, 19, and 23.  Thanks to papers from C. Pomerance, J.L. Selfridge,
and S.S. Wagstaff, Jr.; G. Jaeschke; and Y. Jiang and Y. Deng, we know
that the smallest value which passes these tests is 3825123056546413051.

At present we do not know how many strong pseudoprime tests are required
to prove primality for values larger than 3825123056546413050, so we
force primes(6) to stop at that point.

Reviewed by:	jmg
Relnotes:	primes(6) now correctly enumerates primes up to
		3825123056546413050
MFC after:	7 days
Sponsored by:	EuroBSDCon devsummit
2014-09-26 09:40:48 +00:00
imp
2118f42afd Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.
2014-05-06 04:22:01 +00:00
dim
d01916530c In games/factor/factor.c, fix a warning about a format string not being
a literal.

MFC after:	1 week
2011-12-16 21:24:11 +00:00
uqs
755da7b81e factor(6): Check return values of BN_* functions.
Coverity Prevent:	CID 4862, 8771, 8772, 8773
2010-12-20 19:07:56 +00:00
uqs
e166421f4d Drop advertising clause in manpages. It was done a long time ago
for the source code.

Discussed with:	core
2010-12-06 19:12:51 +00:00
fanf
62d1f26939 Fix a performance bug in factor(6).
Check if large factor is prime before applying Pollard's algorithm;
fixes "factor 2147483647111311".  Increase base if p-1 algorithm
reaches 1; fixes "factor 99999999999991".

Testcases from David A Bagley <bagleyd@tux.org>.
Fixes from Joseph Myers <jsm@NetBSD.org>.
Problem rediscovered by an attempt to factor my phone number.

A few other incidental fixes: correct a couple of factually incorrect
comments; use ident string macros; move from 4-clause to 3-clause
BSD licence (University of California copyright).

Obtained from:	NetBSD
2009-11-26 00:38:13 +00:00
ru
388e590f95 Reimplementation of world/kernel build options. For details, see:
http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by:	imp, jhb, kris, phk, ru (all bugs are mine)
2006-03-17 18:54:44 +00:00
trhodes
a9041ad05e Enforce style.Makefile(5).
Glanced at by:	ru (some time ago).
2005-04-22 18:57:32 +00:00
ru
f4c44b761b NOCRYPT -> NO_CRYPT 2004-12-21 10:16:04 +00:00
ru
743cc6d002 Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
markm
376c7c030b Don't check for the existance of src/crypto/ for building items that
may contain crypto. The days of ITAR paranoia are over, and the simple
macro tests that remain are sufficient.
2003-07-24 18:30:25 +00:00
des
5aabe4b4db add a NOCRYPT check alongside the NO_OPENSSL check.
Approved by:	re (scottl)
2003-05-19 15:52:50 +00:00
ru
4cbb8ca45a mdoc(7) police: sweep. 2002-11-29 16:21:33 +00:00
fanf
b67dc726b1 Mdocify and fix a load of errors dating back to the dawn of time.
Don't mention hard limits for factor(6) since it now has bignum support.

Obtained from:	NetBSD (mdoc only -- their man page is still mostly wrong)
2002-10-09 20:00:25 +00:00
fanf
8adc3488ac Factorize bignums using the Pollard Rho algorithm. The code comes
from NetBSD, altered to retain the FreeBSD -h feature and various
stylistic improvements and avoid regressions. In the absence of
OpenSSL (and therefore bignums) the old code is used.

PR:		43831
Reviewed by:	kris, markm, obrien
Obtained from:	NetBSD
MFC after:	2 weeks
2002-10-09 19:55:04 +00:00
fanf
b5ea937ee8 Style fixes to: #include ordering; use const and static; ANSI functions;
various usage synopses; bogus and/or unnecessary casting; exit values;
use LINE_MAX instead of magic numbers; declare extern variables in a
header; add $FreeBSD$ where missing.

Reviewed by:    markm, obrien
Obtained from:  NetBSD | fanf
2002-10-09 19:38:55 +00:00
imp
24cd0a3c91 Remove __P
Remove __STDC__ (which means we now use stdarg rather than vararg)
Remove register
Remove main prototype
2002-02-18 05:15:19 +00:00
roam
03f3f44473 Correct a typo: numtiple -> multiple.
PR:		31474
Submitted by:	Eric Yu <ericyu@mail2000.com.tw>
MFC after:	1 week
2001-10-24 12:51:23 +00:00
dd
a145482cf6 Remove whitespace at EOL. 2001-07-15 07:53:42 +00:00
ru
45d92a4319 - Backout botched attempt to intoduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:22:12 +00:00
ru
97b705f3c8 Set the default manual section for games/ to 6. 2001-03-20 18:08:43 +00:00
billf
002f485078 copyright/sccsid/rcsid cleanup. 1999-11-30 03:50:02 +00:00
peter
289c0d262f $Id$ -> $FreeBSD$ 1999-08-27 23:37:10 +00:00
imp
849473d83b Minor adjustments to prior commits:
o break at end of sentences
	o add $id$
	o change date

Noticed by: the ever watchful bde
1999-01-07 22:09:05 +00:00
imp
3936fe2a01 Fix printf errors in the hflag case.
Fix old bug with bogus casing to (long).
Document the true limits of factor on 64-bit architectures.

Submitted by: bde
1999-01-06 19:46:56 +00:00
imp
4695982235 added -h flag to allow for hexidecimal output.
Use '0' for base rather than 10 to allow for more flexible input bases.

Inspired by changes in PR 7402, but mostly redone by me to get past
bde filter.

Submitted by: Timo J. Rinne
PR: 7402
1999-01-06 08:14:26 +00:00
jkh
441f3c9dac Wargh! Who went and changed all the getopt() comparisons from -1 to
EOF?  The getopt(3) manpage clearly states that the return value is *-1*,
not EOF!  Besides, getopt(3) isn't reading from a file. :)

Noticed-while:	merging to 2.2 (where this is correct).
1998-03-01 05:10:28 +00:00
ache
4010a61b30 Remove so-called revoke, this game not installed sguid 1997-09-01 11:31:56 +00:00
eivind
d8e95d8c1a Change games from setuid games to setgid games.
Reviewed by:	maybe@yes.no
Obtained from:	OpenBSD (mostly deraadt@openbsd.org)
1997-09-01 00:34:51 +00:00
peter
4e71b57c3c factor.6, not factor.0 (crept in from 4.4Lite2) 1997-03-12 03:33:16 +00:00
peter
4f07d6ce62 Merge from Lite2 (oops, nearly forgot these ones) 1997-03-11 17:25:32 +00:00
peter
8d3716cd7d This commit was generated by cvs2svn to compensate for changes in r23704,
which included commits to RCS files with non-trunk default branches.
1997-03-11 14:39:26 +00:00
peter
8d369a0bd2 Import some CSRG 4.4BSD-Lite2 games 1997-03-11 14:39:26 +00:00
rgrimes
30ef9631c5 Remove trailing whitespace. 1995-05-30 03:37:36 +00:00
jkh
d8a265c292 Bring in the 4.4 Lite games directory, modulo man page changes and segregation
of the x11 based games.  I'm not going to tag the originals with bsd_44_lite
and do this in two stages since it's just not worth it for this collection,
and I've got directory renames to deal with that way.  Bleah.
Submitted by:	jkh
1994-09-04 04:03:31 +00:00