[phobos] phobos commit, revision 2202

David Simcha dsimcha at gmail.com
Sun Nov 28 13:18:20 PST 2010


This still doesn't pass on my AMD box.  I guess the error is being 
caused indirectly somehow, allowing the magnitude of the error to 
increase.  Anyhow, it fails on line 810 in 
std.math.internal.gammafunction, which is:

assert(feqrel(betaIncompleteInv(0x1.ff1275ae5b939bcap-41, 4.6713e18, 
0.0813601), 0x1.f97749d90c7adba8p-63L)>=real.mant_dig - 1);

For me, on my AMD box,

feqrel(betaIncompleteInv(0x1.ff1275ae5b939bcap-41, 4.6713e18, 
0.0813601), 0x1.f97749d90c7adba8p-63L) == 25

If I change the assert to this level of leniency, then all unit tests 
pass.  I don't understand the codebase and what that line is meant to 
test well enough, though, to know whether it's reasonable to make the 
unit test that lenient.

On 11/28/2010 3:11 PM, dsource.org wrote:
> phobos commit, revision 2202
>
>
> user: Don Clugston
>
> msg:
> Increase tolerance of this test, now that we know that failure is caused by a small imprecision in AMD's microcode.
>
> http://www.dsource.org/projects/phobos/changeset/2202
>
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
>



More information about the phobos mailing list