[Numpy-discussion] NumPy, buffers (PEP 3118), complex floats, and Cython
Dag Sverre Seljebotn
dagss at student.matnat.uio.no
Sun Jul 6 11:24:49 EDT 2008
Travis E. Oliphant wrote:
> Dag Sverre Seljebotn wrote:
>> I'd like some advice for what way people feel would be the best for
>> supporting complex datatypes in NumPy in Cython; as well as ask in what
>> way it is likely that NumPy will make use of PEP 3118.
>>
>> It seems like NumPy defines its complex data to be a struct of two
>> doubles, for instance:
>>
>> typedef struct { double real, imag; } npy_cdouble;
>>
>> According to PEP 3118 [1], it would be natural to export this as "dd"
>> (record of two doubles) rather than "Zd" (complex double), when
>> exporting ndarrays through a buffer interface. Right?
>>
> No, it is more natural to use Zd because then you know you are dealing
> with complex numbers and not just two separate floats.
I guess my confusion comes from assuming the wrong thing about what
"complex double" refers to in the PEP; since that's the only reference I
found to the concept in the PEP I assumed it corresponded to the C99
float.
Can I assume then that Zd means that the data always has the form of
npy_cdouble and friends? (I guess this might seem "obvious", but as you
see I've already had one wrong guess, and I can't seem to find it
defined anywhere...)
--
Dag Sverre
More information about the NumPy-Discussion
mailing list