On Wed, Mar 2, 2011 at 5:47 PM, Lisandro Dalcin <dalc...@gmail.com> wrote: > On 2 March 2011 17:14, Lisandro Dalcin <dalc...@gmail.com> wrote: >> On 2 March 2011 16:18, Vitja Makarov <vitja.maka...@gmail.com> wrote: >>> Hi! >>> >>> I noticed that this error came back again. >>> >>> https://sage.math.washington.edu:8091/hudson/view/cython-devel/job/cython-devel-tests-py26-c/lastCompletedBuild/testReport/(root)/CythonRunTestCase/compiling__c__and_running_special_methods_T561/ >>> >> >> I've pushed a fix for __ipow__ to take just two arguments, like >> regular Python classes. >> https://github.com/cython/cython/commit/490fc80e6b494f8ed65f78fc2032d856ec75b8ef >> >> But I forgot to update test for ticket #561, now this should fixed: >> https://github.com/cython/cython/commit/829d6485b77b5688671959f840712c01e6886556 >> > > BTW, do you all agree with this change?
To summarize, the C signature of ipow takes three arguments, but the third is often/always garbage, so we shouldn't use it? > I expect this change to break some code, particularly in Sage... It'll be a compile time error fixing a potential runtime crash, so I think that's a good move. Unfortunately the sage-build is still broken due to the fixes for http://trac.cython.org/cython_trac/ticket/654 , but I doubt we use ipow much for two reasons: firstly, most of our objects are immutable, and secondly rather than taking a "modulus" as a third argument for power, the way to do this is to power an element of the appropriate ring, e.g. mod(2, 17)*1000. - Robert _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel