[SciPy-dev] How to use weave.ext_function() ?

Matthieu Brucher matthieu.brucher@gmail....
Thu Oct 11 01:53:40 CDT 2007


Sorry for the noise, I've found my mistake, the variable 'a' should have
been declared first.

Matthieu

2007/10/10, Matthieu Brucher <matthieu.brucher@gmail.com>:
>
> Hi again,
>
> I'm trying to put together a simple sample for the use of
> weave.ext_function. I was first amazed by the lack of the support_code
> argument, one has to go through customize.
>
> Here is the code I want to use :
>
> #!/usr/bin/python
>
> import scipy.weave
>
> support_code="""
> #include <numeric>
>
> template<class Array>
> float somme(const Array& array)
> {
>   return std::accumulate( array.begin(), array.end(), ++array);
> }
> """
>
> code="""
>   return_val=somme(a)
> """
>
> module = scipy.weave.ext_module("weave_ext_module")
> fonction = scipy.weave.ext_function("somme", code, ['a'], type_converters=
> scipy.weave.converters.blitz)
> fonction.customize.add_support_code(support_code)
> module.add_function(fonction)
> module.compile()
>
> import weave_ext_module
> print dir(weave_ext_module)
>
> import numpy
> a = numpy.array(((1., 2., 3.), (4., 5., 6.)))
> print weave_ext_module(a)
> print weave_ext_module(a=a)
>
> When it tries to compile the code, I have a KeyError in ext_tools line 421
> for the variable a.
>
> I didn't have a problem with inline or blitz, so why this error occurs
> there ?
>
> Matthieu
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://projects.scipy.org/pipermail/scipy-dev/attachments/20071011/82810750/attachment.html 


More information about the Scipy-dev mailing list