Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Mar 9, 2015
  1. Switch to Pollard Rho as a bug free implementation

    Zach Kost-Smith authored
    This is a work-around for issue #1 on the Github project page, that the
    algorithm has an error rather than factoring the number 327146098439579.
    While I gain the knowledge necessary to fix bug in HMPQS, I am switching
    the factoring method to a simpler method.
    After checking what effect this will have, I've found that it is
    significantly slower on average than the HMPQS method, even in number
    ranges where it should win.  That isn't too surprising as almost zero
    effort has been put into optimizing it.
Commits on Apr 18, 2013
  1. Made loading the system silent. I really need to do this for the enti…

    Zach Kost-Smith authored
    …re system.
Commits on Jun 17, 2012
  1. Added a test suite.

    Zach Kost-Smith authored
Commits on Jun 13, 2012
  1. Explicitly ask for double floats in HMPQS.

    Zach Kost-Smith authored
    This is to work around the use of floats in some process.  This mitigates the
    problem in that it allows us to factor numbers up to 10^300 or so instead of
    10^40.  This is large enough that you will probably not want to deal with
    numbers larger than this with this algorithm anyway.
    More investigation is required.
  2. Remove a #| |# style comment.

    Zach Kost-Smith authored
  3. Added readme file.

    Zach Kost-Smith authored
  4. Added Hypercubic Polynomial Quadratic Sieve

    Zach Kost-Smith authored
    This algorithm is the record holder for numbers less than about ~100 decimal
    digits.  It is now the default method which cl-factoring:factor uses.  There are
    some tunable parameters, but I don't understand it enough to know how to use
    them, but it seems to work well as a dumb black box.
    This is a near verbatim copy of the code by Uli Meyer (some slight modifications
    to interface with normal Common Lisp style and the library).
  5. Added Shank's square form factoring method (O(N^(1/4)))

    Zach Kost-Smith authored
    Well not really, just a sketch of what the algorithm should be like.  I haven't
    figured out the meaning of the slightly ambiguous pseudo-code on Wikipedia.
Commits on Jun 3, 2012
  1. Bug fix: handle squares properly

    Zach Kost-Smith authored
    It was hanging on squares, but now we check and factor those specially.
  2. Bug fix: exported symbols typo in cl-factoring-algorithms

    Zach Kost-Smith authored
  3. Added the generic interface.

    Zach Kost-Smith authored
  4. Initial commit.

    Zach Kost-Smith authored
    This seems to be working, but none of the good algorithms are implemented.
Something went wrong with that request. Please try again.