[Cython] #303 + simplifying type system
Dag Sverre Seljebotn
dagss at student.matnat.uio.no
Tue May 12 18:07:35 CEST 2009
Dag Sverre Seljebotn wrote:
> A)
>
> Ticket #303 manifests itself like this:
>
> cdef extern:
> ctypedef float footype # really double!
>
> cdef class A:
> cdef public footype myproperty
>
> My suggestion for a fix here is to replace all T_INT, T_UINT etc. with
> simply three types: __Pyx_T_SIGNED, __Pyx_T_UNSIGNED, __Pyx_T_FLOAT.
> These would use sizeof to determine the right type to flag the extension
> type property as (like Lisandro did with T_SIZET already does).
>
> I can then change T_SIZET to __Pyx_T_UNSIGNED, right? (Basically that
> would be a rename...) Or it T_SIZET is defined in any Python version,
> I'll just throw it in on the list of possible "outputs" from the macro
> if it is defined.
>
> B)
>
> Given this change (which could happen in -devel), is there any obstacles
> to getting rid of the detailed type system in PyrexTypes? Basically
> Cython would only deal with "signed", "unsigned" and "float" (and in
> time "complex").
>
> Doing
>
> cdef short i
>
> would basically flag i as "signed"; the "short-ness" would only be
> present as the cname of the type.
>
Note: I see B) happening in -unstable. (A) in -devel).
--
Dag Sverre
More information about the Cython-dev
mailing list