[Cython] Control Flow

Stefan Behnel stefan_ml at behnel.de
Sun May 29 10:19:50 CEST 2011


Vitja Makarov, 29.05.2011 10:11:
> 2011/5/28 Stefan Behnel:
>> Stefan Behnel, 28.05.2011 18:06:
>>>
>>> Let's see how much of Sage we break.
>>
>> ... quite a bit. From a superficial glance, there seem to be some real bugs,

Bugs in Sage, to be clear.


>> but most of the failures and warnings are most likely just uninitialised
>> variables that are expected to be None.
>>
>> https://sage.math.washington.edu:8091/hudson/view/All/job/sage-build/740/consoleFull
>
>
> I've started new branch called control_flow_fixes.

I think you can safely apply the subsequent fixes to the master branch, now 
that the feature is in. That will also give you broader feedback from Jenkins.


> I've fixed the issue with RaiseStatNode. And unused variables that
> were not assigned or referenced now you get correct message.

Cool.


> And I started to look inside sage problems.
>
> Error compiling Cython file:
> ------------------------------------------------------------
> ...
>          # allow lambda functions
>
>          if self._nrows==0 or self._ncols==0:
>              return self.__copy__()
>          v = [z.derivative(var) for z in self.list()]
>          if R is None:
>              ^
> ------------------------------------------------------------
>
> sage/matrix/matrix_dense.pyx:451:13: local variable 'R' referenced
> before assignment
>
> I've looked into the sources and I think as cython is right here. 'R'
> is allways NULL at that point.

Yes, that's one of the things I meant. It looked like a Sage bug right away.

Stefan


More information about the cython-devel mailing list