[Haskell-cafe] 80 bit floating point data in Haskell?

Antoine Latter aslatter at gmail.com
Mon Sep 28 08:04:34 EDT 2009


On Mon, Sep 28, 2009 at 5:52 AM, Andrew Coppin
<andrewcoppin at btinternet.com> wrote:
> wren ng thornton wrote:
>>
>> Andrew Coppin wrote:
>>>
>>> While we're on the subject... I understand that certain FPUs support
>>> 80-bit precision. Is there any way to get at that? Or is this going to
>>> require FFI too?
>>
>> Perhaps you want Foreign.C.Types.CLDouble ?
>>
>>
>> http://hackage.haskell.org/packages/archive/base/latest/doc/html/Foreign-C-Types.html#t%3ACLDouble
>> http://en.wikipedia.org/wiki/Long_double
>>
>> (Or do you really want to ensure that it's 80-bits regardless of platform
>> and the whims of the C compiler?)
>>
>
> Yep, that'll do. :-)
>

>From the source:

-- HACK: Currently no long double in the FFI, so we simply re-use double
-- | Haskell type representing the C @long double@ type.
FLOATING_TYPE(CLDouble,tyConCLDouble,"CLDouble",HTYPE_DOUBLE)

I also believe that CLDouble is gone in GHC 6.12.1, since it isn't really there.

Antoine


More information about the Haskell-Cafe mailing list