Передайте простой массив Numpy в C через SWIG - PullRequest
3 голосов
/ 12 января 2012

Я хочу передать массив значений известного размера и типа через SWIG в функцию C

# .py
data = numpy.arange( N , dtype=numpy.int32 )
external_c_function( data )

# .i
extern void external_c_function( int32_t* data );

# .c
void external_c_function( int32_t* data)
{
    // ...
}

К сожалению, я получу ошибку:

TypeError: in method 'external_c_function', argument 1 of type 'int32_t *'

Какой самый простой способ передать массив NUMPY в SWIG?

1 Ответ

1 голос
/ 12 января 2012

Вы можете использовать numpy.i.Просто взгляните на http://www.scipy.org/Cookbook/SWIG_NumPy_examples

...