Re: Swig + Numpy.i with a const int16_t pointer

2015-11-12 Thread Christian Gollwitzer

Am 12.11.15 um 10:16 schrieb Christian Gollwitzer:

Am 12.11.15 um 09:46 schrieb Christian Gollwitzer:

Am 11.11.15 um 02:09 schrieb shripha...@gmail.com:

I am trying to wrap the following function with SWIG so I can call it
from Python. The signature is:

```
int WebRtcVad_Process(VadInst* handle, int fs, const int16_t*
audio_frame, size_t frame_length);
```


This is thing is an array of 16 bit unsigned integers for input. The
closest object in Python is a numpy array. There is a numpy.i available
for Python, I'm not sure if it handles this case correctly. If you are
unlucky, you need to write your own typemap.


http://docs.scipy.org/doc/numpy/reference/swig.interface-file.html

It seems that you can create your own typemap easily using the macros
provided by numpy.i; something like

%numpy_typemaps(int16_t, NPY_UINT16, int)

should be sufficient.


That should be

 %numpy_typemaps(int16_t, NPY_INT16, int)

of course.

--
https://mail.python.org/mailman/listinfo/python-list


Re: Swig + Numpy.i with a const int16_t pointer

2015-11-12 Thread Christian Gollwitzer

Am 12.11.15 um 09:46 schrieb Christian Gollwitzer:

Am 11.11.15 um 02:09 schrieb shripha...@gmail.com:

I am trying to wrap the following function with SWIG so I can call it
from Python. The signature is:

```
int WebRtcVad_Process(VadInst* handle, int fs, const int16_t*
audio_frame, size_t frame_length);
```


This is thing is an array of 16 bit unsigned integers for input. The
closest object in Python is a numpy array. There is a numpy.i available
for Python, I'm not sure if it handles this case correctly. If you are
unlucky, you need to write your own typemap.


http://docs.scipy.org/doc/numpy/reference/swig.interface-file.html

It seems that you can create your own typemap easily using the macros 
provided by numpy.i; something like


%numpy_typemaps(int16_t, NPY_UINT16, int)

should be sufficient.

Christian
--
https://mail.python.org/mailman/listinfo/python-list


Re: Swig + Numpy.i with a const int16_t pointer

2015-11-12 Thread Christian Gollwitzer

Am 11.11.15 um 02:09 schrieb shripha...@gmail.com:

I am trying to wrap the following function with SWIG so I can call it from 
Python. The signature is:

```
int WebRtcVad_Process(VadInst* handle, int fs, const int16_t* audio_frame, 
size_t frame_length);
```


This is thing is an array of 16 bit unsigned integers for input. The 
closest object in Python is a numpy array. There is a numpy.i available 
for Python, I'm not sure if it handles this case correctly. If you are 
unlucky, you need to write your own typemap.


Christian


--
https://mail.python.org/mailman/listinfo/python-list


Swig + Numpy.i with a const int16_t pointer

2015-11-10 Thread shriphanip
I am trying to wrap the following function with SWIG so I can call it from 
Python. The signature is:

```
int WebRtcVad_Process(VadInst* handle, int fs, const int16_t* audio_frame, 
size_t frame_length);
```

I have the following SWIG file: 
https://gist.github.com/shriphani/92c587ea4c32bafc9d97

At the end of this, I get the following error: webrtc_vad.i:22: Warning 453: 
Can't apply (int16_t const *IN_ARRAY1,unsigned int DIM1). No typemaps are 
defined.

If I drop the unsigned bit in the signature, then it compiles fine but the 
function signature is carried as-is (i.e. the function expects an int pointer 
and all that business).

Does anyone have a solution?

Regards,
Shriphani
-- 
https://mail.python.org/mailman/listinfo/python-list