Robert Bradshaw, 07.12.2009 20:36: > On Dec 7, 2009, at 11:28 AM, Stefan Behnel wrote: > >> Robert Bradshaw, 03.12.2009 18:10: >>> Nice. With that, I can't see any place that inference of doubles >>> wouldn't be safe either, and it would be very convenient. >> I have an implementation, but I noticed that typing the lhs of >> assignments >> isn't enough to support code like this: >> >> x = 2.5 + 1.5 ** float(some_obj) # could be string/float/... >> >> because the calculation would still run in Python space, although we >> know >> it could run completely in C after unpacking the last operand. So I >> needed >> to force Python float operands into C doubles inside of >> NumBinopNode, in >> addition to the support in the type inference mechanism. > > I'm not sure where exactly where the float(...) becoming a double > operation optimization occurs, but perhaps it might be easier to > simply modify the call node to infer the type of float(...) as being a > double.
Change is in, feel free to review and please test. :) Stefan _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
