Commit graph

10 commits

Author SHA1 Message Date
kwantam
6c4e967fc6 fix and slight optimization for factor
This commit builds upon @wikol's Pollard rho implementation.
It adds the following:

1. A generator for prime inverse tables. With these, we can do
   very fast divisibility tests (a single multiply and comparison)
   for small primes (presently, the first 1000 primes are in the
   table, which means all numbers of ~26 bits or less can be
   factored very quickly.

2. Always try prime inverse tables before jumping into Pollard's
   rho method or using trial division.

3. Since we have eliminated all small factors by the time we're
   done with the table division, only use slow trial division when
   the number is big enough to cause overflow issues in Pollard's
   rho, and jump out of trial division and into Pollard's rho as
   soon as the number is small enough.

4. Updates the Makefile to regenerate the prime table if it's not
   up-to-date.
2015-05-07 18:12:32 -04:00
Joseph Crail
e002caedc3 Ignore Cargo dependency directories. 2015-05-03 17:11:29 -04:00
kwantam
d4f39e1638 dependency builds use Cargo
With this change, individual submodules can specify their dependencies with
an additional file called "deps.mk" in the subdir. When building, only
the dependencies that are necessary are built, using cargo, and then linked.

This greatly simplifies adding new dependencies: add the package in
deps/Cargo.toml, and add the appropriate line in "deps.mk" in the
src/utilname/ directory, and the dependency will be built automatically
as needed.

This also removes the need to use git submodules.
2015-04-25 22:18:03 -04:00
Santiago Lapresta
c3d30af5e9 Add /tmp/ to .gitignore 2014-12-25 19:04:22 +01:00
Arcterus
b7f4bd01bc Move all of the utils into src 2014-07-20 20:20:55 -07:00
Michael Gehring
9a09e2d756 add Cargo.toml 2014-06-25 07:35:03 +02:00
Michael Gehring
04b9390185 gitignore: add vim temp files 2014-06-15 13:02:45 +02:00
Heather
6f264ebcbf Update .gitignore 2014-05-28 23:11:09 -07:00
Heather
afa1f87d30 modified: .gitignore 2014-05-29 09:12:09 +04:00
Jordi Boggiano
9653ed81a2 Add the first four utils 2013-08-02 19:33:31 +02:00