Thanks for answering! I was in holiday. Now I tested:
%cython
from sage.rings.integer cimport Integer
cpdef int W():
cdef Integer x = 5
cdef Integer y = 2
if x._is_power_of(y) == True:
print 'yes'
return 1
But got the error:
Exception TypeError: 'Cannot convert int to sage.rings.integer.Integer'
Any ideas?
Max
Am Montag, 2. Mai 2016 10:47:23 UTC+2 schrieb Simon King:
>
> Hi Max,
>
> On 2016-05-01, Max Külshammer <[email protected] <javascript:>> wrote:
> > I would like to use a sage function (is_power_of) in an cython program I
> am
> > writing (via %cython in SMC). To speed things up I would like to import
> the
> > c version of is_power_of which can be found
> > in
> https://github.com/sagemath/sage/blob/master/src/sage/rings/integer.pyx#L4271
> > as
> https://github.com/sagemath/sage/blob/master/src/sage/rings/integer.pxd#L26.
>
> >
> > Can someone explain how I import such an function into cython? My failed
> > attemps look like this:
> >
> > %cython
> > from libc.math cimport log
> > cimport integer
> > from integer cimport _is_power_of
>
> _is_power_of is a method of the extension class "Integer". Hence, when
> doing
> from sage.rings.integer cimport Integer
> and then have something like
> cdef Integer x = 5
> in your code, then you can do
> x._is_power_of(2)
>
> Best regards,
> Simon
>
>
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.