[Haskell-cafe] Re: Complex C99 type in Foreign
Maurício
briqueabraque at yahoo.com
Fri Feb 13 19:28:16 EST 2009
>>>>>> Are there plans to include C99 'complex' type
>>>>>> in Foreign, maybe as CFloatComplex, CDoubleComplex
>>>>> A separate library for new types to add to Foreign would be the easiest
>>>>> way forward. Just put the foreign-c99 package on Hackage?
>>>> (...) I could actually have some
>>>> arbitrary sized parameter as argument to a function
>>>> or as a return value (and not its pointer), what
>>>> did I saw wrong? I understand only Foreign.C.C*
>>>> types or forall a. => Foreign.Ptr.Ptr a can be used
>>>> like that.
>>> Oh, you mean you need to teach the compiler about unboxed complex types?
>>>
>> I'm sorry, maybe I didn't understand you well. Are
>> you saying that I could get this 'CComplex' type using
>> unboxed types and other things already available?
>
> Yes, because the C standard guarantees that a complex <type> is
> stored as <type>[2].
>
> I have been using the following, for binding to FFTW:
The way you wrote CComplex a, is it possible to write
foreign import ccall "somename" somename
:: CComplex CDouble -> IO CComplex CDouble
?
Thanks,
Maurício
More information about the Haskell-Cafe
mailing list