E. Mayer writes:
===
   Will Edgington wrote:
   <<<
   The other issue is that many (most?) of the exponents with gaps also
   have known factors, which means Prime95 cannot be used to close those
   gaps since it stops on finding a factor and does not search in numeric
   order.  This last means that it actually _creates_ gaps when it finds
   a factor.  I don't seem to have a copy of Mfactor, so I can't check
   whether it has similar issues.
   >>>

   It does not - while it does have an internal flag that, if enabled at
   compile time, causes it to exit as soon as a factor is found without
   doing the remaining passes, that flag is always disabled by default, and
   the TF output also reminds the user just which passes were done. (I.e.
   if at some point I'd set the flag for my build tests and forgot to unset
   it, I'd quickly be reminded of that the next time I did a factoring run
   that turned up a factor.)
===

Sounds good.

===
   In the near future I expect to get rid of that
   flag entirely and instead modify the factoring-pass loop structure so it
   could truncate the bit depth of factoring were a factor found, but would
   still make sure to do all 16 factoring passes to that bit depth. That
   seems the cleanest solution to me which still allows some kind of
   early-exit.
===

I believe George Woltman modified Prime95 to do the factoring one
power of two at a time (i.e., all 16 passes from 2^50 to 2^51 before
any pass from 2^51 to 2^52).  Certainly, I'd favor that over your
current idea, because it lets those users that want to stop when a
factor is found but not leave gaps to do so sooner than your idea and
avoids some issues related to finding multiple factors in different
ranges.  E.g., if the first pass finds a factor between 2^61 and 2^62
and then the second pass finds a factor between 2^32 and 2^33, all
passes - including pass 2 - still have to search thru 2^62 to avoid
leaving gaps.

===
   Also, perhaps you misunderstood me w.r.to M( 27471827 ) - when I said
   tested that number for factors up to 2^64, I meant from scratch up to
   2^64 - I didn't start at the previous upper bound listed in your tables.
===

Yes, I realized that, but it never hurts to make sure.  The extra cost
of starting over rather than at, say, 2^50 when going to 2^64 is
trivial ... for a small number of exponents.  But possible confusions
like this are another reason I much prefer using explicit J (join)
lines like:

M( 27471827 )J: 2^0 2^64

... that describe exactly what the program actually performed.  That
exact format - and everything else in mersfmt.txt on my web site - is
already accepted by the not-yet-releasable server and Perl scripts
I've mentioned.

                                                 Will

http://www.garlic.com/~wedgingt/mersfmt.txt
http://www.garlic.com/~wedgingt/mersenne.html
_______________________________________________
Prime mailing list
[email protected]
http://hogranch.com/mailman/listinfo/prime

Reply via email to