A quick response from one of the leaders of a team that requires 80bit extended precision for
"extended precision is pretty useless" unless you need it. And the high-precision pulsar timing
community needs it. Standard double precision (64-bit) values do not contain enough precision for us
to pass relative astronomical times via a single float without extended precision (the precision
ends up being at the ~1 microsec level over decades of time differences, and we need it at the
~1-10ns level) nor can we store the measured spin frequencies (or do calculations on them) of our
millisecond pulsars with enough precision. Those spin frequencies can have 16-17 digits of base-10
precision (i.e. we measure them to that precision). This is why we use 80-bit floats (usually via
Linux, but also on non X1 Mac hardware if you use the correct compilers) extensively.
Numpy is a key component of the PINT software to do high-precision pulsar timing, and we use it
partly *because* it has long double support (with 80-bit extended precision):
And see the published paper here, particularly Sec 3.3.1 and footnote #42:
Going to software quad precision would certainly work, but it would definitely make things much
slower for our matrix and vector math.
We would definitely love to see a solution for this that allows us to get the extra precision we
need on other platforms besides Intel/AMD64+Linux (primarily), but giving up extended precision on
those platforms would *definitely* hurt. I can tell you that the pulsar community would definitely
be against option "B". And I suspect that there are other users out there as well.
Thanks for sharing your feedback!
Would you or some of your colleagues be open to helping maintain a library that adds the 80-bit extended precision dtype into NumPy? This would be a variation of Ralf's "option A."
Scott M. Ransom Address: NRAO
Phone: (434) 296-0320 520 Edgemont Rd.
email: email@example.com Charlottesville, VA 22903 USA
GPG Fingerprint: A40A 94F2 3F48 4136 3AC4 9598 92D5 25CB 22A6 7B65
NumPy-Discussion mailing list -- firstname.lastname@example.org
To unsubscribe send an email to email@example.com
Member address: firstname.lastname@example.org