Apparently, I need to define avma as

    global avma

(with that everything works fine). It is not clear to me why...

On 09/12/15 22:59, Vincent Delecroix wrote:
Hello,

I tried to use PARI inside some Cython code in Sage. Apparently, it is
not happy with the declaration of avma from paridecl (which is as
declared as "extern pari_sp avma").

The following compiles (with %runfile the_file.pyx)

{{{
     from sage.libs.pari.paridecl cimport *

     def test():
         cdef pari_sp ltop = avma
}}}

But the following does not

{{{
     from sage.libs.pari.paridecl cimport *

     def test():
         cdef pari_sp ltop = avma
         avma = ltop
}}}

and ends up with

RuntimeError: Error converting ./test.pyx to C:


Error compiling Cython file:
------------------------------------------------------------
...
     cdef pari_sp ltop = avma
                            ^
------------------------------------------------------------

my_file.pyx:16:28: local variable 'avma' referenced before assignment

Where does come from the problem? Sage? Cython?

Thanks,
Vincent

--
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to