[Numpy-discussion] C-extension -- how do I accept a vector of both type double and type int?

Geoffrey Zhu zyzhu2000@gmail....
Thu Jul 26 17:38:06 CDT 2007


On 7/26/07, Robert Kern <robert.kern@gmail.com> wrote:
> Geoffrey Zhu wrote:
> > Hi Everyone,
> >
> > I finally build a C extension. The one problem I found is that it is
> > too picky about the input. For example, it accepts
> > array([1.0,2.0,3.0]) with no problem, but when I pass in
> > array([1,2,3]), since the dtype of the array is now int, my extension
> > does not like it.
>
> Okay. Show us the code that you are using, and we can help you find a better way.
>
> > How do I handle this situation? Is there any way to access any data
> > type that can be converted into a double?
>
> I usually use PyArray_FROM_OTF(). That handles the usual cases. It's pretty much
> like starting off a pure Python function with asarray(x, dtype=whatever).
>
That is going to make a copy of the memory every time and might slow
down things a lot?


More information about the Numpy-discussion mailing list