bin/157177: primes(1) prints non-prime for numbers > 2^32
Robert Lorentz
robert.lorentz at gmail.com
Tue Jun 14 13:32:17 UTC 2011
Oliver,
> op at pandora-d ~> uname -m -r -p && primes 4295360520 4295360522 | xargs
> -n 1 factor
> 7.4-STABLE amd64 amd64
> 4295360521: 65539 65539
>
>> On FreeBSD 9.0-CURRENT I debugged the source in =
>> /usr/ports/math/primegen/work/primegen-0.97 a bit and realized that if I =
>> ran the compiled version in =
>> /usr/ports/math/primegen/work/primegen-0.97/primes I got the correct =
>> expected results. However, if I run the installed version in =
>> /usr/games/primes, I get the incorrect results. The binaries in those =
>> two places aren't the same (verified using md5). =20
>>
>> This appears to be an issue with the port building, probably building in =
>> 32 bit. If the inputs to primes are interpreted as 32bit then a "low" =
>> of (2^32 + 1) is interpreted as 1, therefore being less than 1000000000, =
>> therefore the code would continue to generate primes, and if this is the =
>> case then I wouldn't be surprised that the prime generation code also =
>> would misbehave.
>>
If you run the built binary in the /usr/ports/math/primegen/work/../ path do you get the same results?
More information about the freebsd-bugs
mailing list