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

Reply via email to