When this thread is complete, please can we make sure that its content
is in the deveopers' manual?  thanks!

John

On 25 September 2013 17:02, mmarco <mma...@unizar.es> wrote:
> I see, thanks.
>
> So, if i understand it correctly, i import my_c_function and then, to call
> it, i create the memory space for the array, copy the data into it and pass
> the array to the function.
>
> I guess the result will be another c array that i can access from python in
> a transparent way, right?
>
> I mean, if i write:
>
> res=my_c_function(c_values)
>
> Then i can just use
>
> list(res)
>
> to get a list of floats?
>
>
> El miércoles, 25 de septiembre de 2013 13:22:51 UTC+2, Volker Braun
> escribió:
>>
>> Definitely use Cython.
>>
>> For array of doubles, say, you just need a sage/libs/my_library.pyx with
>>
>> include "stdsage.pxi"
>>
>> cdef extern from "my_library.h"
>>     my_c_function(double*)
>>
>> def my_python_function(values):
>>     cdef double * c_values = <double*>
>> sage_malloc(sizeof(double)*len(values))
>>     for i,v in enumerate(values):
>>         c_values[i] = values[i]
>>     my_c_function(c_values)
>>
>>
>>
>>
>>
>>
>> On Wednesday, September 25, 2013 10:08:24 AM UTC+1, mmarco wrote:
>>>
>>> We are working on a c library to do homotoy continuation of polynomial
>>> roots using interval arithmetic. Our idea is to make a spkg with it, and
>>> write some functions in the sage library that would use it (in particular,
>>> to compute the fundamental group of the complement of an algebraic curve).
>>> so i have a question:
>>>
>>> how should we pass the data to the library, and retrieve it back? Both
>>> the input and output can be seen as an array of mpfr reals (or, depending on
>>> the version, floats or doubles). The length of the arrays is not known a
>>> priori.
>>>
>>> Which should be the best way to go? Write our interface in cython? or use
>>> ctypes? And in any case, is there some easy tutorial that we could follow?
>>>
>>> Thanks in advance.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/groups/opt_out.

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

Reply via email to