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

Robert Kern robert.kern at gmail.com
Thu Jul 26 18:34:29 EDT 2007

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).

Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

More information about the NumPy-Discussion mailing list