Thread overview
phobos and 64-bit real, anybody testing?
Jan 26, 2015
Dan Olson
Jan 26, 2015
Dan Olson
Jan 26, 2015
Johannes Pfau
Jan 26, 2015
Dan Olson
January 26, 2015
A question for the floating point experts.  Do phobos unittests get run on any architectures with 64-bit reals?  I would like to know if there are known failures.

I have identified all the phobos unittest failures on ARMv7 iOS and commented out failing asserts so that the remainder of the module unittests could pass.  An example where there are many failed tests is std.internal.math.gammafunction where a nan is produced but a valid value is expected.  Other times the computed result is completely different from what is expected.  Note that for ARM I am clearing "Flush to Zero" and "Default NaN" modes in fpscr which helps pass many other tests.  Normally these modes are enabled for iOS.  Also, iOS uses float-abi=softfp.
--
Dan
January 26, 2015
On Monday, 26 January 2015 at 16:49:57 UTC, Dan Olson wrote:
> different from what is expected.  Note that for ARM I am clearing "Flush
> to Zero" and "Default NaN" modes in fpscr which helps pass many other
> tests.

I think NEON (SIMD) code will always flush to zero, so IEEE compatibility for denormal numbers prevent using SIMD...?
January 26, 2015
On 1/26/15 8:49 AM, Dan Olson wrote:
> A question for the floating point experts.  Do phobos unittests get run
> on any architectures with 64-bit reals?

Would OSX be that? -- Andrei

January 26, 2015
Am Mon, 26 Jan 2015 08:49:56 -0800
schrieb Dan Olson <zans.is.for.cans@yahoo.com>:

> A question for the floating point experts.  Do phobos unittests get run on any architectures with 64-bit reals?  I would like to know if there are known failures.
> 
> I have identified all the phobos unittest failures on ARMv7 iOS and commented out failing asserts so that the remainder of the module unittests could pass.  An example where there are many failed tests is std.internal.math.gammafunction where a nan is produced but a valid value is expected.  Other times the computed result is completely different from what is expected.  Note that for ARM I am clearing "Flush to Zero" and "Default NaN" modes in fpscr which helps pass many other tests.  Normally these modes are enabled for iOS.  Also, iOS uses float-abi=softfp.
> --
> Dan

I run the tests for GDC on ARM/linux soft and hardfloat 64 bit. All
modules except gammafunction should pass. gammafunction was never
ported to 64bit reals and I asked about it multiple times on the
newsgroup but nobody cared. I also filed a bug report:
https://issues.dlang.org/show_bug.cgi?id=13032
So as far as I'm concerned gammafunction is unmaintained and broken :-(

However, other modules should work (at least with GDC as there's some
GDC-specific inline asm).
January 26, 2015
On Monday, 26 January 2015 at 17:36:05 UTC, Andrei Alexandrescu
wrote:
> On 1/26/15 8:49 AM, Dan Olson wrote:
>> A question for the floating point experts.  Do phobos unittests get run
>> on any architectures with 64-bit reals?
>
> Would OSX be that? -- Andrei

It is mostly x86 80-bit reals these days.
January 26, 2015
On Monday, 26 January 2015 at 20:04:46 UTC, Johannes Pfau wrote:
> I run the tests for GDC on ARM/linux soft and hardfloat 64 bit. All
> modules except gammafunction should pass. gammafunction was never
> ported to 64bit reals and I asked about it multiple times on the
> newsgroup but nobody cared. I also filed a bug report:
> https://issues.dlang.org/show_bug.cgi?id=13032
> So as far as I'm concerned gammafunction is unmaintained and broken :-(
>
> However, other modules should work (at least with GDC as there's some
> GDC-specific inline asm).

Thanks! This info helps much.