On 17 May 2013 21:09, Johannes Pfau <nospam@example.com> wrote:
Am Tue, 14 May 2013 18:59:14 +0200
schrieb "Iain Buclaw" <ibuclaw@ubuntu.com>:

> We now have 6 currently failing unittests.
>
> Current failing unittests:
>
> core.exception.AssertError@libphobos/src/std/internal/math/errorfunction.d(222):
> unittest failure
> core.exception.AssertError@libphobos/src/std/internal/math/gammafunction.d(367):
> unittest failure

At least the second problem is caused by a difference in the exp inline
asm version used in dmd and the core.stdc.math.expl function used in
gdc. At first I though the iasm version might be more precise,
especially as we just alias expl(real) to exp(double).

But a short test with mathematica suggests that the iasm version is
less precise (or even wrong?) and the numbers where determined with the
iasm version, so it seems this is 'not our bug'. I guess I'll have to
ask Don about this right?

http://dpaste.dzfl.pl/5b33b8ad


You will also find that be behaviour matches core.stdc.exp2l(LOG2E*x);

http://dpaste.dzfl.pl/bb319763

--
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';