Re: Swig + Numpy.i with a const int16_t pointer
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
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
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
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