[Numpy-discussion] supporting quad precision

David Cournapeau cournape@gmail....
Wed Jun 5 12:10:30 CDT 2013


On Wed, Jun 5, 2013 at 5:21 PM, Charles R Harris
<charlesr.harris@gmail.com> wrote:
> Hi Anne,
>
> Long time no see ;)
>
> On Wed, Jun 5, 2013 at 10:07 AM, Anne Archibald <archibald@astron.nl> wrote:
>>
>> Hi folks,
>>
>> I recently came across an application I needed quad precision for
>> (high-accuracy solution of a differential equation). I found a C++ library
>> (odeint) that worked for the integration itself, but unfortunately it
>> appears numpy is not able to work with quad precision arrays. For my
>> application the quad precision is only really needed for integrator state,
>> so I can manually convert my data to long doubles as I go to and from numpy,
>> but it's a pain. So quad precision support would be nice.
>>
>> There's a thread discussing quad support:
>> http://mail.scipy.org/pipermail/numpy-discussion/2012-February/061080.html
>> Essentially, there isn't any, but since gcc >= 4.6 supports them on Intel
>> hardware (in software), it should be possible. (Then the thread got bogged
>> down in bike-shedding about what to call them.)
>>
>> What would it take to support quads in numpy? I looked into the numpy base
>> dtype definitions, and it's a complex arrangement involving detection of
>> platform support and templatized C code; in the end I couldn't really see
>> where to start. But it seems to me all the basics are available: native C
>> syntax for basic arithmetic, "qabs"-style versions of all the basic
>> functions, NaNs and Infs. So how would one go about adding quad support?
>>
>
> There are some improvements for user types committed in 1.8-dev. Perhaps
> quad support could be added as a user type as it is still platform/compiler
> dependent. The rational type added to numpy could supply a template for
> adding the new type.

I would be in support of that direction as well: let it live
separately until CPU/compiler support is coming up.

Anne, will you be at scipy conference ? Improving user data type
internal API is something I'd like to work on as well

David


More information about the NumPy-Discussion mailing list