You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(11) |
Jul
(43) |
Aug
(688) |
Sep
(96) |
Oct
(18) |
Nov
(17) |
Dec
(16) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
|
Feb
(18) |
Mar
(29) |
Apr
|
May
(23) |
Jun
(11) |
Jul
(46) |
Aug
(9) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
2007 |
Jan
(2) |
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(19) |
2008 |
Jan
(2) |
Feb
|
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
(3) |
Oct
(2) |
Nov
(2) |
Dec
(5) |
2009 |
Jan
(8) |
Feb
(3) |
Mar
(4) |
Apr
(17) |
May
|
Jun
(1) |
Jul
(1) |
Aug
(3) |
Sep
(2) |
Oct
(2) |
Nov
(12) |
Dec
(1) |
2010 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
(1) |
May
(6) |
Jun
(3) |
Jul
(2) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
2011 |
Jan
(6) |
Feb
(6) |
Mar
(1) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
(1) |
Dec
(1) |
2012 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
(9) |
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Greg <fr...@us...> - 2005-06-26 20:09:00
|
Update of /cvsroot/ggnfs/branch_0/src/lasieve4 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8499/src/lasieve4 Modified Files: Makefile Log Message: Oops...just fixing a stupid mistake. Gotta learn to use diff first. Index: Makefile =================================================================== RCS file: /cvsroot/ggnfs/branch_0/src/lasieve4/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile 26 Jun 2005 20:00:46 -0000 1.2 --- Makefile 26 Jun 2005 20:08:52 -0000 1.3 *************** *** 10,15 **** # 6/13/04: Hacked up for use in GGNFS by Chris Monico. - asm=piii - CFLAGS= -O3 -Wall #CFLAGS= -g -Wno-strict-aliasing --- 10,13 ---- |
From: Greg <fr...@us...> - 2005-06-26 20:00:55
|
Update of /cvsroot/ggnfs/branch_0/src/lasieve4 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4680/src/lasieve4 Modified Files: Makefile Log Message: Added a script to recreate the missing symbolic links after a CVS checkout. Index: Makefile =================================================================== RCS file: /cvsroot/ggnfs/branch_0/src/lasieve4/Makefile,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** Makefile 8 Jun 2005 19:47:05 -0000 1.1.1.1 --- Makefile 26 Jun 2005 20:00:46 -0000 1.2 *************** *** 10,13 **** --- 10,15 ---- # 6/13/04: Hacked up for use in GGNFS by Chris Monico. + asm=piii + CFLAGS= -O3 -Wall #CFLAGS= -g -Wno-strict-aliasing |
From: Greg <fr...@us...> - 2005-06-26 20:00:54
|
Update of /cvsroot/ggnfs/branch_0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4680 Modified Files: Changelog Added Files: makesymlinks.sh Log Message: Added a script to recreate the missing symbolic links after a CVS checkout. --- NEW FILE: makesymlinks.sh --- #!/bin/sh ln -s Makefile.athlon src/Makefile ln -s piii src/lasieve4/asm echo "Symbolic links have been created." Index: Changelog =================================================================== RCS file: /cvsroot/ggnfs/branch_0/Changelog,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Changelog 26 Jun 2005 19:18:46 -0000 1.6 --- Changelog 26 Jun 2005 20:00:45 -0000 1.7 *************** *** 1,4 **** 6/26/05 (frmky) ! * Add missing link in src/lasieve4. 6/26/05 (asl) --- 1,5 ---- 6/26/05 (frmky) ! * Added makesymlinks.sh to recreate the missing symbolic links after ! a CVS checkout. 6/26/05 (asl) |
From: Greg <fr...@us...> - 2005-06-26 19:18:55
|
Update of /cvsroot/ggnfs/branch_0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15002 Modified Files: Changelog Log Message: Added missing asm link in src/lasieve4. Index: Changelog =================================================================== RCS file: /cvsroot/ggnfs/branch_0/Changelog,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Changelog 26 Jun 2005 18:36:03 -0000 1.5 --- Changelog 26 Jun 2005 19:18:46 -0000 1.6 *************** *** 1,2 **** --- 1,5 ---- + 6/26/05 (frmky) + * Add missing link in src/lasieve4. + 6/26/05 (asl) * Applied some patches by Jason Papadopoulos to classic siever . |
From: Anton K. <as...@us...> - 2005-06-26 18:36:13
|
Update of /cvsroot/ggnfs/branch_0/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24066/branch_0/src Modified Files: clsieve.c Log Message: Applied some patches by Jason Papadopoulos to classic siever Index: clsieve.c =================================================================== RCS file: /cvsroot/ggnfs/branch_0/src/clsieve.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** clsieve.c 8 Jun 2005 19:47:02 -0000 1.1.1.1 --- clsieve.c 26 Jun 2005 18:36:04 -0000 1.2 *************** *** 1838,1842 **** ::"r"(update_base), "r"(cache_base), "r"(i): "memory"); } ! asm("femms"); #else --- 1838,1842 ---- ::"r"(update_base), "r"(cache_base), "r"(i): "memory"); } ! asm("emms"); #else *************** *** 1924,1928 **** char s[128]; ! sprintf(str, "%ld,%ld:", R->a, R->b); for (i=0; i<R->rFSize; i++) { if (numR==0) --- 1924,1928 ---- char s[128]; ! sprintf(str, "%ld,%ld:", (int)R->a, (int)R->b); for (i=0; i<R->rFSize; i++) { if (numR==0) |
From: Anton K. <as...@us...> - 2005-06-26 18:36:12
|
Update of /cvsroot/ggnfs/branch_0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24066/branch_0 Modified Files: Changelog Log Message: Applied some patches by Jason Papadopoulos to classic siever Index: Changelog =================================================================== RCS file: /cvsroot/ggnfs/branch_0/Changelog,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Changelog 26 Jun 2005 08:24:08 -0000 1.4 --- Changelog 26 Jun 2005 18:36:03 -0000 1.5 *************** *** 1,5 **** --- 1,30 ---- 6/26/05 (asl) + * Applied some patches by Jason Papadopoulos to classic siever . * Fixed missing -wt command line flag for matbuild reported by G.W.Reynolds. + 6/25/05 (trilliwig) + * Added factorbase sizes and number of large primes encountered to summary + file. + + 6/19/05 (trilliwig) + * Fixed typo in error message in the lattice siever. + * Applied Makoto Kamada's patch to suppress warnings in Miller-Rabin + code if the Perl interpreter does not support 64-bit integers. + * If M, Y1, and Y0 are all specified in the .poly file, the script + will now properly use Y1 and Y0 to calculate the SNFS difficulty. + It will also properly handle negative evaluated polynomial values. + * Added much more paranoia in polynomial checking in the Perl script. + It can be disabled by setting $CHECK_POLY to 0. + * Added support for lattice sieving on the rational side. This is + controlled by the $LATSIEVE_SIDE setting. + * Added some interesting information to the summary file. + * Add client id to $PNUM, so if multiple clients are lattice sieving + in the same directory, they don't all write to the same .last_spq* + file. + * Added Geoffrey Reynold's fix for bug when classical sieving is not + done in multi-client mode. + * Fixed runPol5() so it tolerates abnormal exits in the polynomial + search programs. + 6/12/05 (asl) * Extended 'a' field of relations to 64 bit. This seems to be enough |
From: Anton K. <as...@us...> - 2005-06-26 08:24:18
|
Update of /cvsroot/ggnfs/branch_0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25086/branch_0 Modified Files: Changelog Log Message: Fixed missing -wt command line flag for matbuild. Index: Changelog =================================================================== RCS file: /cvsroot/ggnfs/branch_0/Changelog,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Changelog 12 Jun 2005 20:16:05 -0000 1.3 --- Changelog 26 Jun 2005 08:24:08 -0000 1.4 *************** *** 1,2 **** --- 1,5 ---- + 6/26/05 (asl) + * Fixed missing -wt command line flag for matbuild reported by G.W.Reynolds. + 6/12/05 (asl) * Extended 'a' field of relations to 64 bit. This seems to be enough |
From: Anton K. <as...@us...> - 2005-06-26 08:24:18
|
Update of /cvsroot/ggnfs/branch_0/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25086/branch_0/src Modified Files: matbuild.c Log Message: Fixed missing -wt command line flag for matbuild. Index: matbuild.c =================================================================== RCS file: /cvsroot/ggnfs/branch_0/src/matbuild.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** matbuild.c 12 Jun 2005 19:37:42 -0000 1.2 --- matbuild.c 26 Jun 2005 08:24:09 -0000 1.3 *************** *** 59,62 **** --- 59,63 ---- "-fb <fname> : Factor base.\n"\ "-prel <file prefix> : File name prefix for input of processed relations.\n"\ + "-wt <float> : Weight factor (for pruning; higher means matrix\n"\ "-minff <int> : Minimum number of FF's (prevent R-S wt. reduction and\n"\ " writing of the column files if there are fewer than this).\n"\ *************** *** 1240,1243 **** --- 1241,1247 ---- seed = atoi(args[i]); } + } else if (strcmp(args[i], "-wt")==0) { + if ((++i) < argC) + wtFactor = atof(args[i]); } else if (strcmp(args[i], "-v")==0) { verbose++; |
From: Sam C. <tri...@us...> - 2005-06-25 19:39:20
|
Update of /cvsroot/ggnfs/branch_0/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10253 Modified Files: factLat.pl Log Message: - Added factorbase sizes and number of large primes encountered to summary file. Index: factLat.pl =================================================================== RCS file: /cvsroot/ggnfs/branch_0/tests/factLat.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** factLat.pl 18 Jun 2005 20:43:55 -0000 1.2 --- factLat.pl 25 Jun 2005 19:39:09 -0000 1.3 *************** *** 1600,1603 **** --- 1600,1606 ---- if ($_[2] eq "BLanczosTime:") { $matT = $_[3]; } if ($_[2] eq "sqrtTime:") { $sqrtT = $_[3]; } + if (/RFBsize:/) { $rprimes=$_[2].$_[3]; } + if (/AFBsize:/) { $aprimes=$_[2].$_[3]; } + if (/largePrimes:/) { $lprimes=$_[2].$_[3].' encountered'; } if (/rels:/) { $rels=$_[2]." ".$_[4]; } if (/Initial matrix/) { s/\[.*\] Initial matrix is //; $initmat=$_; } *************** *** 1659,1662 **** --- 1662,1666 ---- print "Max factor residue bits: $MFBR/$MFBA\n"; print "Sieved $sieveSide special-q in [$QSTART, $Q0)\n"; + print "Primes: $rprimes, $aprimes, $lprimes\n"; print "Relations: $rels\n"; print "Max relations in full relation-set: $maxRelsInFF\n"; |
From: Sam C. <tri...@us...> - 2005-06-18 20:44:04
|
Update of /cvsroot/ggnfs/branch_0/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1652/tests Modified Files: factLat.pl Log Message: - Fixed typo in error message in the lattice siever. factLat.pl changes: - Applied Makoto Kamada's patch to suppress warnings in Miller-Rabin code if the Perl interpreter does not support 64-bit integers. - If M, Y1, and Y0 are all specified in the .poly file, the script will now properly use Y1 and Y0 to calculate the SNFS difficulty. It will also properly handle negative evaluated polynomial values. - Added much more paranoia in polynomial checking in the Perl script. It can be disabled by setting $CHECK_POLY to 0. - Added support for lattice sieving on the rational side. This is controlled by the $LATSIEVE_SIDE setting. - Added some interesting information to the summary file. - Add client id to $PNUM, so if multiple clients are lattice sieving in the same directory, they don't all write to the same .last_spq* file. - Added Geoffrey Reynold's fix for bug when classical sieving is not done in multi-client mode. - Fixed runPol5() so it tolerates abnormal exits in the polynomial search programs. Index: factLat.pl =================================================================== RCS file: /cvsroot/ggnfs/branch_0/tests/factLat.pl,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** factLat.pl 8 Jun 2005 19:47:09 -0000 1.1.1.1 --- factLat.pl 18 Jun 2005 20:43:55 -0000 1.2 *************** *** 5,9 **** #$GGNFS_BIN_PATH="../../src"; #$GGNFS_BIN_PATH="../ggnfs.vc/bin"; ! #$GGNFS_BIN_PATH="c:/mingw/msys/1.0/home/SamAdmin/ggnfs-0.73.1/src"; ######################################################################## # factLat.pl --- 5,9 ---- #$GGNFS_BIN_PATH="../../src"; #$GGNFS_BIN_PATH="../ggnfs.vc/bin"; ! #$GGNFS_BIN_PATH="c:/mingw/msys/1.0/home/SamAdmin/ggnfs-0.77.1/src"; ######################################################################## # factLat.pl *************** *** 41,44 **** --- 41,48 ---- $CHECK_BINARIES=1; $ECHO_CMDLINE=1; + $CHECK_POLY=1; + # If this is zero, the lattice siever will sieve q-values on the algebraic side. + # Otherwise, it will sieve rational q-values. + $LATSIEVE_SIDE=0; # If this is zero, the GGNFS polynomial selection code will be used (when needed). *************** *** 235,244 **** $n->is_negative() and $n->babs(); $start > 0 and $n->brsft($start, 2); ! $n->is_zero() and return 0xffffffff; my $q; ! ($n, $q) = $n->bdiv(0x100000000); until ($q) { ! $start += 32; ! ($n, $q) = $n->bdiv(0x100000000); } until ($q & 1) { --- 239,248 ---- $n->is_negative() and $n->babs(); $start > 0 and $n->brsft($start, 2); ! $n->is_zero() and return 0x7fffffff; my $q; ! ($n, $q) = $n->bdiv(0x40000000); until ($q) { ! $start += 30; ! ($n, $q) = $n->bdiv(0x40000000); } until ($q & 1) { *************** *** 275,282 **** *urandomb = sub { my ($size) = @_; ! my $n = new Math::BigInt(int(rand(1 << ($size & 31)))); ! while ($size >= 32) { ! $n->bmul(0x100000000)->bior(int(rand(0x100000000))); #don't use blsft ! $size -= 32; } $n; --- 279,286 ---- *urandomb = sub { my ($size) = @_; ! my $n = new Math::BigInt(int(rand(1 << ($size % 30)))); ! while ($size >= 30) { ! $n->bmul(0x40000000)->bior(int(rand(0x40000000))); #don't use blsft ! $size -= 30; } $n; *************** *** 483,487 **** printf("=> $cmd\n"); my $res=system($cmd); ! die "Return value $res. Terminating...\n" if ($res); $nerr=0; open(GR,"$pname.log"); --- 487,491 ---- printf("=> $cmd\n"); my $res=system($cmd); ! print "Abnormal return value $res. Continuing...\n" if ($res); $nerr=0; open(GR,"$pname.log"); *************** *** 493,497 **** printf("=> $cmd\n"); $res=system($cmd); ! die "Return value $res. Terminating...\n" if ($res); system("\"$CAT\" $pname.51.m >> $projectname.51.m.all"); open(GR,"<$pname.cand"); --- 497,501 ---- printf("=> $cmd\n"); $res=system($cmd); ! print "Abnormal return value $res. Continuing...\n" if ($res); system("\"$CAT\" $pname.51.m >> $projectname.51.m.all"); open(GR,"<$pname.cand"); *************** *** 943,954 **** } print OUTF "skew: $SKEW\n"; ! print OUTF "rlim: $RLIM\n"; ! ! if (($sieveType==1) && ($ALIM > $q0)) { ! $sieverAL = $q0-1; ! unlink <$JOBNAME.afb.*>; } - else { $sieverAL = $ALIM; } - print OUTF "alim: $sieverAL\n"; print OUTF "lpbr: $LPBR\n"; print OUTF "lpba: $LPBA\n"; --- 947,973 ---- } print OUTF "skew: $SKEW\n"; ! if ($sieveType==1) { ! if ($LATSIEVE_SIDE) { ! if ($RLIM > $q0) { ! $sieverRL = $q0-1; ! unlink <$JOBNAME.afb.1>; ! } ! else { $sieverRL = $RLIM; } ! $sieverAL = $ALIM; ! } else { ! if ($ALIM > $q0) { ! $sieverAL = $q0-1; ! unlink <$JOBNAME.afb.0>; ! } ! else { $sieverAL = $ALIM; } ! $sieverRL = $RLIM; ! } ! print OUTF "rlim: $sieverRL\n"; ! print OUTF "alim: $sieverAL\n"; ! } ! else { ! print OUTF "rlim: $RLIM\n"; ! print OUTF "alim: $ALIM\n"; } print OUTF "lpbr: $LPBR\n"; print OUTF "lpba: $LPBA\n"; *************** *** 970,973 **** --- 989,1004 ---- } + ########################################################### + sub get_parm_int($$) + ########################################################### + { + my $data = shift; + my $parm = shift; + + my @PARMLINES=grep(/^$parm:/, @$data); + if (@PARMLINES and $PARMLINES[0] =~ /^$parm:\s*(-?\d+)/) { return $1; } + return undef; + } + ###################################################### sub readParams { *************** *** 979,985 **** my @thisData=<PF>; close(PF); ! my @NLINE=grep(/^n:/, @thisData); ! $NLINE[0] =~ /n:\s*(\d+)/; ! $N=$1; # Find the polynomial degree. --- 1010,1015 ---- my @thisData=<PF>; close(PF); ! ! $N = get_parm_int(\@thisData, 'n'); # Find the polynomial degree. *************** *** 993,1002 **** $key =~ s/c//; if ($key > $D) { $D=$key; } $COEFVALS{$key} = $val; } ! $DEGREE=$D; ! # foreach my $key (reverse sort keys %COEFVALS) { # print "-> c$key: $COEFVALS{$key}\n"; ! # } my @TYPELINE=grep(/type:/, @thisData); --- 1023,1096 ---- $key =~ s/c//; if ($key > $D) { $D=$key; } + print "-> Warning: redefining c$key\n" if (defined $COEFVALS{$key}); $COEFVALS{$key} = $val; } ! $DEGREE = get_parm_int(\@thisData, 'deg'); ! $DEGREE = $D if (!defined $DEGREE); ! if ($DEGREE != $D) { ! print "-> Error: poly file specifies degree $DEGREE but highest poly\n"; ! print "-> coefficient given is c$D!\n"; ! exit; ! } ! my $commonfac = new Math::BigInt '0'; ! foreach my $key (reverse sort keys %COEFVALS) { # print "-> c$key: $COEFVALS{$key}\n"; ! $commonfac = $commonfac->bgcd($COEFVALS{$key}); ! } ! unless (!$CHECK_POLY or $commonfac->is_one()) { ! print "-> Error: poly coefficients have a common factor $commonfac. Please divide it out.\n"; ! exit; ! } ! my ($numer, $denom); ! $denom = get_parm_int(\@thisData, 'Y1'); ! $numer = get_parm_int(\@thisData, 'Y0'); ! $M = get_parm_int(\@thisData, 'm'); ! if ($denom && $numer) { ! $numer = new Math::BigInt $numer; ! $denom = new Math::BigInt $denom; ! if ($denom->is_neg()) { $denom = -$denom; } ! else { $numer = -$numer; } ! # print "-> Common root is $numer / $denom\n"; ! # paranoia if CHECK_POLY is set ! unless (!$CHECK_POLY or (my $Ygcd = Math::BigInt::bgcd ($numer, $denom))->is_one()) { ! print "-> Error: Y1 and Y0 have a common factor $Ygcd. Please divide it out.\n"; ! exit; ! } ! if ($M) { ! my $Yval = $denom->copy(); ! $Yval->bmul($M); ! $Yval->bsub($numer); ! $Yval->bmod($N); ! unless (!$CHECK_POLY or $Yval->is_zero()) { ! print "-> Error: Y1*m + Y0 != 0 mod n!\n"; ! exit; ! } ! } else { undef $M; } ! } ! my $polyval = new Math::BigInt '0'; ! if ($denom && $numer) { ! my $subtotal = new Math::BigInt; ! for my $i (0..$DEGREE) { ! $subtotal = $COEFVALS{$i} * $numer**$i * $denom**($DEGREE - $i); ! $polyval->badd($subtotal); ! } ! } else { ! # print "-> Common root is $M\n"; ! for my $i (reverse 0..$DEGREE) { ! $polyval->bmul($M); ! $polyval->badd($COEFVALS{$i}); ! } ! } ! unless (!$CHECK_POLY or $polyval > 0) { ! print "-> Warning: evaluated polynomial value $polyval is negative or zero.\n"; ! print "-> This is at least a little strange.\n"; ! } ! my $remainder = $polyval->copy(); ! $remainder->bmod($N); ! unless (!$CHECK_POLY or $remainder->is_zero()) { ! print "-> Error: evaluated polynomial value $polyval is not a multiple of n!\n"; ! exit; ! } ! # print "-> Evaluated value is $polyval\n"; my @TYPELINE=grep(/type:/, @thisData); *************** *** 1007,1041 **** # We need the difficulty level of the number, which may be # noticably larger than the number of digits. ! my $polyval = new Math::BigInt '0'; ! my @MLINE=grep(/^m:/, @thisData); ! $MLINE[0] =~ /m:\s*(\d+)/; ! $M=$1; ! unless(defined $M) { ! @MLINE=grep(/^Y1:/, @thisData); ! $MLINE[0] =~ /Y1:\s*(-?\d+)/; ! my $denom = new Math::BigInt $1; ! @MLINE=grep(/^Y0:/, @thisData); ! $MLINE[0] =~ /Y0:\s*(-?\d+)/; ! my $numer = new Math::BigInt $1; ! $numer = -$numer; ! # print "-> Common root is $numer / $denom\n"; ! my $subtotal = new Math::BigInt; ! for my $i (0..$DEGREE) { ! $subtotal = $COEFVALS{$i} * $numer**$i * $denom**($DEGREE - $i); ! $polyval->badd($subtotal); ! } ! } else { ! # print "-> Common root is $M\n"; ! for my $i (reverse 0..$DEGREE) { ! $polyval->bmul($M); ! $polyval->badd($COEFVALS{$i}); ! } ! } ! # print "-> Evaluated value is $polyval\n"; ! $SNFS_DIFFICULTY = (new Math::BigFloat $polyval)->blog(10); printf "-> SNFS_DIFFICULTY is about $SNFS_DIFFICULTY.\n"; loadDefaultParams($SNFS_DIFFICULTY->bstr(), "snfs"); } elsif ($TYPE =~ /gnfs/) { loadDefaultParams(length($N), $TYPE); } else { --- 1101,1112 ---- # We need the difficulty level of the number, which may be # noticably larger than the number of digits. ! $SNFS_DIFFICULTY = (new Math::BigFloat $polyval)->babs->blog(10); printf "-> SNFS_DIFFICULTY is about $SNFS_DIFFICULTY.\n"; loadDefaultParams($SNFS_DIFFICULTY->bstr(), "snfs"); } elsif ($TYPE =~ /gnfs/) { + my $logN = (new Math::BigFloat $N)->babs->blog(10); + # print "-> Log N is about $logN.\n"; + loadDefaultParams(length($N), $TYPE); } else { *************** *** 1080,1084 **** if ($KNOWNDIV) { $KNOWNDIV="-knowndiv ".$KNOWNDIV; } if ($Q0==0) { ! $Q0 = $ALIM/2; } $QSTART=$Q0; --- 1151,1155 ---- if ($KNOWNDIV) { $KNOWNDIV="-knowndiv ".$KNOWNDIV; } if ($Q0==0) { ! $Q0 = ($LATSIEVE_SIDE) ? $RLIM/2 : $ALIM/2; } $QSTART=$Q0; *************** *** 1229,1232 **** --- 1300,1304 ---- exit -1; } + $PNUM += $CLIENT_ID; } else { # Single processor. *************** *** 1242,1248 **** --- 1314,1322 ---- $JOBNAME=$NAME.".job"; $SIEVER_OUTPUTNAME="spairs.out"; + $SIEVER_ADDNAME="spairs.add"; if ($CLIENT_ID > 1) { $JOBNAME .= ".$CLIENT_ID"; $SIEVER_OUTPUTNAME .= "$CLIENT_ID"; + $SIEVER_ADDNAME .= ".$CLIENT_ID"; } $psTime=0; *************** *** 1312,1317 **** # Do some classical sieving, if needed/applicable. # This is broken - it is still a work in progress! ! classicalSieve($classicalA, 1, $classicalB); ! rename "spairs.out","spairs.add"; #################################################### --- 1386,1393 ---- # Do some classical sieving, if needed/applicable. # This is broken - it is still a work in progress! ! if ($DOCLASSICAL) { ! classicalSieve($classicalA, 1, $classicalB); ! rename $SIEVER_OUTPUTNAME, $SIEVER_ADDNAME; ! } #################################################### *************** *** 1320,1328 **** # we have reached the desired min # of FF's. # #################################################### while (!(-e $SPMAT)) { printf "-> Q0=$Q0, QSTEP=$QSTEP.\n"; # Create a job file. makeJobFile($JOBNAME, $Q0, $QSTEP, $CLIENT_ID, $NUM_CLIENTS); ! printf("-> Lattice sieving q-values from q=$Q0 to %d.\n", $Q0+$thisQRSize); if ($Q0 >= 2**$LPBA) { printf "-> $0 : Severe error!\n"; --- 1396,1406 ---- # we have reached the desired min # of FF's. # #################################################### + $sieveSideOpt = ($LATSIEVE_SIDE) ? '-r' : '-a'; + $sieveSide = ($LATSIEVE_SIDE) ? 'rational' : 'algebraic'; while (!(-e $SPMAT)) { printf "-> Q0=$Q0, QSTEP=$QSTEP.\n"; # Create a job file. makeJobFile($JOBNAME, $Q0, $QSTEP, $CLIENT_ID, $NUM_CLIENTS); ! printf("-> Lattice sieving $sieveSide q-values from q=$Q0 to %d.\n", $Q0+$thisQRSize); if ($Q0 >= 2**$LPBA) { printf "-> $0 : Severe error!\n"; *************** *** 1337,1341 **** # It's very important to call like this, so that if the user CTRL-C's, # or otherwise kills the process, we see it and terminate as well. ! $cmd="$NICE \"$LATSIEVER\" -k -o $SIEVER_OUTPUTNAME -v -n$PNUM -a $JOBNAME"; print "=>$cmd\n" if($ECHO_CMDLINE); $res=system($cmd); --- 1415,1419 ---- # It's very important to call like this, so that if the user CTRL-C's, # or otherwise kills the process, we see it and terminate as well. ! $cmd="$NICE \"$LATSIEVER\" -k -o $SIEVER_OUTPUTNAME -v -n$PNUM $sieveSideOpt $JOBNAME"; print "=>$cmd\n" if($ECHO_CMDLINE); $res=system($cmd); *************** *** 1344,1349 **** # a dirty hack - what we should do is modify Franke's code to # explicitly allow it. ! if ($sieverAL == ($Q0-1)) { ! unlink <$JOBNAME.afb.*>; } if ($res) { --- 1422,1430 ---- # a dirty hack - what we should do is modify Franke's code to # explicitly allow it. ! if ($LATSIEVE_SIDE) { ! unlink <$JOBNAME.afb.1> if ($sieverRL == ($Q0-1)); ! } ! else { ! unlink <$JOBNAME.afb.0> if ($sieverAL == ($Q0-1)); } if ($res) { *************** *** 1358,1370 **** } # Move the new relations so they won't be wiped on restart. ! if ($CLIENT_ID == 1) { ! $cmd="\"$CAT\" $SIEVER_OUTPUTNAME >> spairs.add"; ! print "=>$cmd\n" if($ECHO_CMDLINE); ! system($cmd); ! } else { ! $cmd="\"$CAT\" $SIEVER_OUTPUTNAME >> spairs.add.$CLIENT_ID"; ! print "=>$cmd\n" if($ECHO_CMDLINE); ! system($cmd); ! } unlink "$SIEVER_OUTPUTNAME"; # And update the job file accordingly: --- 1439,1445 ---- } # Move the new relations so they won't be wiped on restart. ! $cmd="\"$CAT\" $SIEVER_OUTPUTNAME >> $SIEVER_ADDNAME"; ! print "=>$cmd\n" if($ECHO_CMDLINE); ! system($cmd); unlink "$SIEVER_OUTPUTNAME"; # And update the job file accordingly: *************** *** 1582,1587 **** print "Large primes per side: $LARGEP\n"; print "Large prime bits: $LPBR/$LPBA\n"; ! print "Sieved special-q in [$QSTART, $Q0)\n"; print "Relations: $rels\n"; print "Initial matrix: $initmat\n"; print "Pruned matrix : $prunedmat\n"; --- 1657,1664 ---- print "Large primes per side: $LARGEP\n"; print "Large prime bits: $LPBR/$LPBA\n"; ! print "Max factor residue bits: $MFBR/$MFBA\n"; ! print "Sieved $sieveSide special-q in [$QSTART, $Q0)\n"; print "Relations: $rels\n"; + print "Max relations in full relation-set: $maxRelsInFF\n"; print "Initial matrix: $initmat\n"; print "Pruned matrix : $prunedmat\n"; |
From: Sam C. <tri...@us...> - 2005-06-18 20:44:04
|
Update of /cvsroot/ggnfs/branch_0/src/lasieve4 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1652/src/lasieve4 Modified Files: gnfs-lasieve4e.c Log Message: - Fixed typo in error message in the lattice siever. factLat.pl changes: - Applied Makoto Kamada's patch to suppress warnings in Miller-Rabin code if the Perl interpreter does not support 64-bit integers. - If M, Y1, and Y0 are all specified in the .poly file, the script will now properly use Y1 and Y0 to calculate the SNFS difficulty. It will also properly handle negative evaluated polynomial values. - Added much more paranoia in polynomial checking in the Perl script. It can be disabled by setting $CHECK_POLY to 0. - Added support for lattice sieving on the rational side. This is controlled by the $LATSIEVE_SIDE setting. - Added some interesting information to the summary file. - Add client id to $PNUM, so if multiple clients are lattice sieving in the same directory, they don't all write to the same .last_spq* file. - Added Geoffrey Reynold's fix for bug when classical sieving is not done in multi-client mode. - Fixed runPol5() so it tolerates abnormal exits in the polynomial search programs. Index: gnfs-lasieve4e.c =================================================================== RCS file: /cvsroot/ggnfs/branch_0/src/lasieve4/gnfs-lasieve4e.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** gnfs-lasieve4e.c 8 Jun 2005 19:47:05 -0000 1.1.1.1 --- gnfs-lasieve4e.c 18 Jun 2005 20:43:55 -0000 1.2 *************** *** 3177,3181 **** } if (FB_bound[special_q_side] > first_spq) { ! complain("Special q lower bound %u below rFB bound %g\n", first_spq, FB_bound[special_q_side]); } --- 3177,3181 ---- } if (FB_bound[special_q_side] > first_spq) { ! complain("Special q lower bound %u below FB bound %g\n", first_spq, FB_bound[special_q_side]); } |