mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Software

Reply
 
Thread Tools
Old 2017-11-15, 18:51   #89
kruoli
 
kruoli's Avatar
 
"Oliver"
Sep 2017
Porta Westfalica, DE

11×37 Posts
Default

If you have set your Iterations between screen outputs by chance to exactly the number of iterations to be done, the following will happen:
Code:
[Worker #1 Nov 15 19:48] Iteration: 100000 / 100000 [100.00%], roundoff: 0.070, ms/iter:  0.026, ETA: 30:25:40
Of course the ETA should be nearly zero or equal to zero.
kruoli is offline   Reply With Quote
Old 2017-11-16, 04:30   #90
Madpoo
Serpentine Vermin Jar
 
Madpoo's Avatar
 
Jul 2014

CD316 Posts
Default

Quote:
Originally Posted by James Heinrich View Post
It may be what you're used to, but the non-JSON results are much harder to deal with when processing manual results. I'm personally in favour of deprecating all non-JSON results and eventually no longer them accepting them in the manual results forms. Don't worry, we're probably years away from that, but be prepared to see more JSON in the future.

BTW: George is less Hobsonian than I am so the option is already there. I however still strongly encourage you to embrace the JSON in your workflow.
I agree... json is pretty nice. It's as easy to read as the old format, and even more so for a machine since it's well-formatted. As a human, I like being able to look at a value and see the description of it right there, no guessing. With the current/old format, unless you're here on this forum and/or getting into the source, it can be somewhat indecipherable to know what all those values are exactly. I mean, the exponent, residue and is/isn't prime are easy enough, but all that other stuff is important (shift count, error code, assignment id, checksum...)
Madpoo is offline   Reply With Quote
Old 2017-11-18, 00:36   #91
Madpoo
Serpentine Vermin Jar
 
Madpoo's Avatar
 
Jul 2014

63238 Posts
Default Prime95 v29.4 build 5 is official!

The download page has just been updated... v29.4 build 5 is now the official build. George gave his stamp of approval...

Enjoy!
https://www.mersenne.org/download/
Madpoo is offline   Reply With Quote
Old 2017-11-18, 02:28   #92
GP2
 
GP2's Avatar
 
Sep 2003

A1716 Posts
Default

Quote:
Originally Posted by Madpoo View Post
The download page has just been updated... v29.4 build 5 is now the official build.
One small issue, the fast Jacobi criterion in the source code should check strcmp(gmp_version, "5.1.0"), as mentioned earlier.
GP2 is offline   Reply With Quote
Old 2017-11-18, 04:20   #93
Madpoo
Serpentine Vermin Jar
 
Madpoo's Avatar
 
Jul 2014

72×67 Posts
Default

Quote:
Originally Posted by GP2 View Post
One small issue, the fast Jacobi criterion in the source code should check strcmp(gmp_version, "5.1.0"), as mentioned earlier.
http://www.mersenneforum.org/showpos...5&postcount=17
Madpoo is offline   Reply With Quote
Old 2017-11-18, 06:06   #94
Dubslow
Basketry That Evening!
 
Dubslow's Avatar
 
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

160658 Posts
Default

Quote:
Originally Posted by Madpoo View Post
....what does that have to do with anything? GP2 proposed a fix for a problem, George implemented it, and after that, GP2 realized that the version number wasn't quite right the first time. The second correction is what's failed to be included, and still allows for Prime95 to fail in the same way as before on certain specific versions of GMP (namely >=5.0, <5.1)
Dubslow is offline   Reply With Quote
Old 2017-11-18, 08:02   #95
R. Gerbicz
 
R. Gerbicz's Avatar
 
"Robert Gerbicz"
Oct 2005
Hungary

1,429 Posts
Default

Quote:
Originally Posted by GP2 View Post
One small issue, the fast Jacobi criterion in the source code should check strcmp(gmp_version, "5.1.0"), as mentioned earlier.
In this case you would introduce another bug, check out:
Code:
    printf("%d\n",strcmp("6.1.2","5.1.0"));
    printf("%d\n",strcmp("10.0.0","5.1.0"));
this gives:
Code:
1
-1
ofcourse so far the gmp major version not reached 10, but in future gmp version it would be a quite real bug.

ps. not forget https://gmplib.org/manual/Useful-Mac...Constants.html
"Global Constant: const char * const gmp_version
The GMP version number, as a null-terminated string, in the form “i.j.k”. This release is "6.1.2". Note that the format “i.j” was used, before version 4.3.0, when k was zero."
R. Gerbicz is offline   Reply With Quote
Old 2017-11-18, 13:48   #96
ATH
Einyen
 
ATH's Avatar
 
Dec 2003
Denmark

23·131 Posts
Default

There are variables for the version and minor version, so something like this should work:

Code:
if ((__GNU_MP_VERSION<5) || (__GNU_MP_VERSION==5 && __GNU_MP_VERSION_MINOR<1)) { jacobi_check=0; }

Last fiddled with by ATH on 2017-11-18 at 13:49
ATH is online now   Reply With Quote
Old 2017-11-18, 18:48   #97
GP2
 
GP2's Avatar
 
Sep 2003

258310 Posts
Default

Quote:
Originally Posted by ATH View Post
There are variables for the version and minor version, so something like this should work:

Code:
if ((__GNU_MP_VERSION<5) || (__GNU_MP_VERSION==5 && __GNU_MP_VERSION_MINOR<1)) { jacobi_check=0; }
But this is at compile time only. It needs a runtime check, to check the version of the shared library. So the global variable gmp_version is needed instead.
GP2 is offline   Reply With Quote
Old 2017-11-18, 18:52   #98
retina
Undefined
 
retina's Avatar
 
"The unspeakable one"
Jun 2006
My evil lair

32×23×29 Posts
Default

Quote:
Originally Posted by GP2 View Post
But this is at compile time only. It needs a runtime check, to check the version of the shared library. So the global variable gmp_version is needed instead.
And using a string for what is essentially a number is such bad practice IMO.

Sorry, [/rant] on the state of software development these days.
retina is online now   Reply With Quote
Old 2017-11-18, 23:12   #99
ATH
Einyen
 
ATH's Avatar
 
Dec 2003
Denmark

BC516 Posts
Default

Quote:
Originally Posted by GP2 View Post
But this is at compile time only. It needs a runtime check, to check the version of the shared library. So the global variable gmp_version is needed instead.
Ok then this should work:

Code:
sscanf(gmp_version,"%i.%i",&ver,&mver);
if ((ver<5) || (ver==5 && mver<1)) { jacobi_check=0; }
or this longer "manual" way without using "sscanf":

Code:
ver=0; mver=0; i=0;
while(gmp_version[i]>=48 && gmp_version[i]<=57) { ver=ver*10+gmp_version[i]-48; i++; }
i++;
while(gmp_version[i]>=48 && gmp_version[i]<=57) { mver=mver*10+gmp_version[i]-48; i++; }
if ((ver<5) || (ver==5 && mver<1)) { jacobi_check=0; }
Edit: Fixed "gmp_version[i]>=48 && gmp_version[i]<=57" instead of "gmp_version[i]>48 && gmp_version[i]<57

Last fiddled with by ATH on 2017-11-20 at 16:10
ATH is online now   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Prime95 version 27.3 Prime95 Software 148 2012-03-18 19:24
Prime95 version 26.3 Prime95 Software 76 2010-12-11 00:11
Prime95 version 25.5 Prime95 PrimeNet 369 2008-02-26 05:21
Prime95 version 25.4 Prime95 PrimeNet 143 2007-09-24 21:01
When the next prime95 version ? pacionet Software 74 2006-12-07 20:30

All times are UTC. The time now is 08:20.

Sun Jan 24 08:20:17 UTC 2021 up 52 days, 4:31, 0 users, load averages: 2.32, 1.90, 1.78

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.