On May 12, 2009, at 9:07 AM, Dag Sverre Seljebotn wrote: > 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.
This sounds like a good idea. >> 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. We use the relative ranking to determine the type of arithmetic operations. This will become even more important when type inference is used. - Robert _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
