I need an array of Elements of RealIntervalField and I want to iterate
(a lot of times) through it. How can I do that in a fast way in Sage's
cython (i.e. in the notebook or in a .spyx-file)?
An (minimal) example what I basically want is given below (PS).
I tried the following things (and a lot more) in the Sage notebook as
well as in a .spyx-file:
1. using vector
from libcpp cimport vector
gives
filename.c:317:18: fatal error: vector: file or directory not found
compilation terminated.
error: command 'gcc' failed with exit status 1
At least I found the file in Cython/include/...
2. using C arrays
cimport sage.rings.real_mpfi # do not know whether that is needed...
from sage.rings.real_mpfi cimport RealIntervalFieldElement
cdef RealIntervalFieldElement L[10]
says
cdef RealIntervalFieldElement L[10]
^
filename.pyx:12:31: Array element cannot be a Python object
I thought that with cimport I get a C/cython object (but maybe I have
too less understanding of it)
3. using some pointers
from sage.rings.real_mpfi cimport RealIntervalFieldElement
from sage.all import RIF
cdef void* L[10]
cdef RealIntervalFieldElement r = RIF(100)
L[0] = &r
gives
cdef RealIntervalFieldElement r = RIF(100)
L[0] = &r ^
filename.pyx:15:7: Cannot take address of Python variable
I am thankful for any input.
Daniel
PS: Here is what I want faster:
L = [blabla] # a python list of length about 500
a=0
while a<10000000:
b = something(a)
for ell in L:
if check(a,b,ell):
print "yeah" # or do whatever
a += 1
L is a list of RealIntervalField elements; b is a RealIntervalElement, too.
--
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 http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/groups/opt_out.