[Cython] Make positive int literals unsigned long?
Robert Bradshaw
robertwb at math.washington.edu
Mon Aug 4 23:12:19 CEST 2008
On Mon, 4 Aug 2008, Dag Sverre Seljebotn wrote:
> Stefan Behnel wrote:
>> Dag Sverre Seljebotn wrote:
>>> If we make positive int literals unsigned long rather than plain long,
>>> constant-index buffer lookups are going to be optimized for free. Is
>>> there going to be any ill side-effects from doing this?
>>>
>>> (If not, I can always special-case int literals used for buffer lookups.)
>>
>> What about enabling this, adding a test module dedicated to integer
>> literals, casting and arithmetic, and running the (complete) test suite
>> with
>>
>> -Wall -pedantic
>>
>> ?
>
> Sure, but that would have been a lot of work only to get a reply here
> afterwards that "this whole idea would obviously not work because X"
> from people who know the code base better :-)
I think in general that is a good idea, but the problem is that
PyLong_FromUnsignedLong is slower than PyInt_FromLong and produces python
longs rather than python ints. One would need a special type (or flag) to
indicate that the top bit can be assumed to be 0.
- Robert
More information about the Cython-dev
mailing list