| |
| Posted by Dmitry Olshansky in reply to David Simcha | PermalinkReply |
|
Dmitry Olshansky
Posted in reply to David Simcha
| I can confirm, it still fails on my AMD.
The problem maybe is that while fyl2x error is of the order of the last
bit, the whole calculation got an error of some greater magnitude.
> 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
>>
>
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
|