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
