Robert Bradshaw wrote:
> On Mar 12, 2009, at 12:26 AM, Carl Witty wrote:
>
>   
>> On Thu, Mar 12, 2009 at 12:12 AM, Robert Bradshaw
>> <[email protected]> wrote:
>>     
>>> On Mar 11, 2009, at 11:20 PM, Stefan Behnel wrote:
>>>       
>>>> Wouldn't it be better to have such a flag emit warnings (preferably
>>>> with a
>>>> hint how to write better code) instead of changing the semantics of
>>>> operators?
>>>>         
>>> It won't be very useful to emit a warning on, for example, every %
>>> operator. Also, I really want to be able to write code values speed
>>> over perfect Python semantics, and at the same time take a .py file
>>> and not have to worry about subtle corner-case changes. The problem
>>> is that both modes are very defendable as the default.
>>>       
>> How about a flag that generates runtime warnings on a%b and a//b
>> whenever a and b have different sign?
>>     
>
> This could be very useful for debugging things, but it implies  
> there's a single, correct way that the % and // operators behave.
>
> The problem is that sometimes I want to run code with Python  
> semantics (e.g. I'm quickly cythonizing a file) and sometimes I want  
> to run code with C semantics (e.g. I'm doing linear algebra mod p,  
> and don't want the overhead of fixing the sign). And perhaps I'm to  
> demanding, but I want to be able to use % in both places rather than  
> know some obscure function call.
>   
Perhaps you could ask the Sage list to get some more input of what the 
typical expectations to Cython are?

(Also if you work in Z_p, could you not use unsigned ints? Then you 
don't get the overhead? Though I'm avoiding unsigned types like the 
plague myself after I figured out that range(-n, n) is empty if n is 
unsigned :-))


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

Reply via email to