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.


-- 
Dag Sverre
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to