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
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos