[Pyrex] pyrex problems

William Stein wstein at gmail.com
Tue Apr 22 01:12:46 CEST 2008


On Mon, Apr 21, 2008 at 3:27 PM, Marco Zanger <marcozanger at gmail.com> wrote:
> Hi, I've been reading the WrappingC++ code with pyrex/Cython. But I'm still
> unable to compile it; even the attached example.
>
> when I run  "pyrexc rectangle.pyx "
> I get:
>
> .../rectangle.pyx:29:27: Syntax error in C variable declaration
>
> Which refers to
>
>     def __add__(Rectangle left, Rectangle right):
>         cdef c_Rectangle c = left.thisptr.add(right.thisptr[0])

I think Pyrex doesn't allow declaring and setting a variable, i.e.,

  cdef int i = 10

is not valid Pyrex.  You have to write:

    cdef int i
    i = 10

In contrast, Cython allows

    cdef int i = 10

since Robert Bradshaw was working on Cython one day and thought that
would be a nice feature to have...

 -- William

>         cdef Rectangle sum = Rectangle(c.x0, c.y0, c.x1, c.y1)
>          return sum
>
> And in my own code i get the following
>
> GOptimization.pyx:91:32: Object of type 'cGCoptimization' has no attribute
> 'expansionIter'
>
> And the code which refers is
>
> cdef extern from "GCoptimization.h":
>
>    ctypedef int PixelType
>
>      ctypedef struct cGCoptimization "GCoptimization":
>          EnergyType expansionIter "expansion"(int max_num_iterations)
>
>      cGCoptimization *newGCoptimization "new GCoptimization" (PixelType
> num_pixels,int num_labels,int dataSetup, int smoothSetup)
>
>     void delGCOptimization "delete" (cGCoptimization *optimization)
>
> cdef class GCoptimization:
>      cdef cGCoptimization *optimization
>     def __new__(self, num_pixels, num_labels, dataSetup, smoothSetup):
>          self.optimization = newGCoptimization(num_pixels, num_labels,
> dataSetup, smoothSetup)
>     def __dealloc__(self):
>          delGCOptimization(self.optimization)
>     def expansionIter(self,max_num_iterations):
>          return self.optimization.expansionIter(max_num_iterations)
>
> If u have any idea to give I would appreciate it very much, I'm kind of lost
> in here.
>
> Thank you, again,
> Warmest Regards,
> Marco
> _______________________________________________
>  Pyrex mailing list
>  Pyrex at lists.copyleft.no
>  http://lists.copyleft.no/mailman/listinfo/pyrex
>
>



-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org



More information about the Pyrex mailing list