- **YAFU**
(*https://www.mersenneforum.org/forumdisplay.php?f=96*)

- - **Bug/request**
(*https://www.mersenneforum.org/showthread.php?t=16676*)

Bug/requestThe bug is slightly bigger, so that's why it's a new thread.
I took the example factor() given in README and ran it: [code]bill@Gravemind:~∰∂ yafu "factor(2056802480868100646375721251575555494408897387375737955882170045672576386016591560879707933101909539325829251496440620798637813)" factoring 2056802480868100646375721251575555494408897387375737955882170045672576386016591560879707933101909539325829251496440620798637813 using pretesting plan: normal no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 fmt: 1000000 iterations pp1: starting B1 = 20K, B2 = gmp-ecm default on C127 pm1: starting B1 = 100K, B2 = gmp-ecm default on C110 ecm: 30/30 curves on C87 input, at B1 = 2K, B2 = gmp-ecm default ecm: 25/74 curves on C87 input, at B1 = 11K, B2 = gmp-ecm default ecm: 48/48 curves on C70 input, at B1 = 11K, B2 = gmp-ecm default ecm: 56/56 curves on C70 input, at B1 = 50K, B2 = gmp-ecm default starting SIQS on c70: 3950565477929583959090443657115834369563721138106225828250209513731263 ==== sieving in progress (1 thread): 12208 relations needed ==== ==== Press ctrl-c to abort and save state ==== 10154 rels found: 5187 full + 4967 from 52996 partial, (1628.79 rels/sec) freed 2 duplicate relations SIQS elapsed time = 42.1203 seconds. Composite result found, starting re-factorization factoring 168120549877635053 using pretesting plan: normal no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 fmt: 1000000 iterations pp1: starting B1 = 20K, B2 = gmp-ecm default on C18 pp1: starting B1 = 20K, B2 = gmp-ecm default on C18 pp1: starting B1 = 20K, B2 = gmp-ecm default on C18 pm1: starting B1 = 100K, B2 = gmp-ecm default on C18 ecm: 0/30 curves on C18 input, at B1 = 2K, B2 = gmp-ecm default Total factoring time = 0.0316 seconds Composite result found, starting re-factorization factoring 12479125541750268690323 using pretesting plan: normal no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 fmt: 1000000 iterations pp1: starting B1 = 20K, B2 = gmp-ecm default on C23 Total factoring time = 0.0079 seconds Total factoring time = 52.5949 seconds ***factors found*** C18 = 248158049830971629 C35 = 33637310674071348724927955857253537 PRP36 = 117445937227520353139789517076610399 PRP6 = 280673 P12 = 598990818061 PRP10 = 2756163353 PRP13 = 4527716228491 ans = 1 bill@Gravemind:~∰∂ yafu "factor(33637310674071348724927955857253537)" factoring 33637310674071348724927955857253537 using pretesting plan: normal no tune info: using qs/gnfs crossover of 95 digits Total factoring time = 0.0003 seconds ***factors found*** PRP35 = 33637310674071348724927955857253537 ans = 1 bill@Gravemind:~∰∂ yafu "factor(248158049830971629)" factoring 248158049830971629 using pretesting plan: normal no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 fmt: 1000000 iterations Total factoring time = 0.0013 seconds ***factors found*** PRP18 = 248158049830971629 ans = 1 bill@Gravemind:~∰∂ [/code] The request is that factor() prints the input size before doing any factoring; above the first size printed is C127, but I have no way to tell (a priori) that the original was C127, or if tf/fermat found other factors, meaning the original was larger than C127. The bug is that after running factor(), it reports[code]***factors found*** C18 = 248158049830971629 C35 = 33637310674071348724927955857253537 PRP36 = 117445937227520353139789517076610399 PRP6 = 280673 P12 = 598990818061 PRP10 = 2756163353 PRP13 = 4527716228491[/code] but when I ran factor() on the C18 and C35, they were returned as PRP18 and PRP35 (you can see that in the first code block). I suppose I do have another scratch-my-itch request: Could you print "***factors found***" only when factors are actually found? :P Like above it reports back the input as PRP, but says "FF", and I've had numbers where no factors were found but it instead reports back "Cxxx: [input]" but still says "FF". Sorry for the nit-picky :P:P Edit: This is unrelated to the above, but does anyone know where I can find ggnfs binaries for Linux-64? (I suppose source would do, but the less compilation the better.) Edit2: What's the difference between -logfile and -session? Edit3: Another false composite example. [code]factoring 133963581130084328933017969077928801246591825821260567693998983142892944737899 using pretesting plan: normal no tune info: using qs/gnfs crossover of 110 digits div: primes less than 10000 fmt: 1000000 iterations rho: x^2 + 3, starting 1000 iterations on C78 rho: x^2 + 2, starting 1000 iterations on C78 rho: x^2 + 1, starting 1000 iterations on C78 pp1: starting B1 = 20K, B2 = gmp-ecm default on C78 pm1: starting B1 = 100K, B2 = gmp-ecm default on C51 ecm: 2/30 curves on C51 input, at B1 = 2K, B2 = gmp-ecm default Composite result found, starting re-factorization factoring 176524787773813758992951101 using pretesting plan: normal no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 fmt: 1000000 iterations pp1: starting B1 = 20K, B2 = gmp-ecm default on C27 Total factoring time = 0.0275 seconds Total factoring time = 0.1206 seconds ***factors found*** C19 = 2586861932602953721 PRP33 = 293364663397800099317721604912319 PRP16 = 3684180889792499 PRP11 = 47914256399 ans = 1[/code][code]factoring 2586861932602953721 using pretesting plan: normal no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 fmt: 1000000 iterations Total factoring time = 0.0011 seconds ***factors found*** PRP19 = 2586861932602953721 ans = 1[/code] |

That request should be easy to do.
And the bug you pointed out is now also fixed. It and fixes for several other recently reported bugs are now in [URL="http://sourceforge.net/scm/?type=svn&group_id=384463"]SVN[/URL]. (note, I'm in the middle of some development still, but the head version is working.) |

[QUOTE=Dubslow;294895]Edit: This is unrelated to the above, but does anyone know where I can find ggnfs binaries for Linux-64? (I suppose source would do, but the less compilation the better.)[/QUOTE]
[URL="http://mersenneforum.org/showpost.php?p=288449&postcount=1100"]This[/URL] might be what you are looking for. Leave the building of ggnfs to professionals, don't try this at home. :) There are many micro-patches and work arounds the average newbie will get frustrated. (Including me.) All the other packages can be easily compiled using the MAKE file. (e.g. GMP, MPIR, ECM, msieve, yafu, etc.) Jeff's [URL="http://gilchrist.ca/jeff/factoring/nfs_beginners_guide.html"]site[/URL] may also be helpful. |

Well, I was only intending to use it through YAFU, so I won't need to bother with the rest, right...? As in, YAFU takes care of what the NFS.pl script is for?
Thank you of course for the link, it seems to be almost impossible to acquire. |

[QUOTE=Dubslow;294928]Well, I was only intending to use it through YAFU, so I won't need to bother with the rest, right...? As in, YAFU takes care of what the NFS.pl script is for?
Thank you of course for the link, it seems to be almost impossible to acquire.[/QUOTE] Yep, once you have the binaries and have added a "ggnfs_dir=" line to your yafu.ini file, yafu will do all of the NFS steps automatically, just like the factMsieve.pl/py scripts. In fact, it may be better - I'm not sure if those scripts use multi-threaded poly selection while yafu will (if you use -threads N). |

All times are UTC. The time now is 09:04. |

Powered by vBulletin® Version 3.8.11

Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.