|
|
|
%module Vector |
|
|
|
%{ |
|
#define SWIG_FILE_WITH_INIT |
|
#include "Vector.h" |
|
%} |
|
|
|
// Get the NumPy typemaps |
|
%include "../numpy.i" |
|
|
|
%init %{ |
|
import_array(); |
|
%} |
|
|
|
%define %apply_numpy_typemaps(TYPE) |
|
|
|
%apply (TYPE IN_ARRAY1[ANY]) {(TYPE vector[3])}; |
|
%apply (TYPE* IN_ARRAY1, int DIM1) {(TYPE* series, int size)}; |
|
%apply (int DIM1, TYPE* IN_ARRAY1) {(int size, TYPE* series)}; |
|
|
|
%apply (TYPE INPLACE_ARRAY1[ANY]) {(TYPE array[3])}; |
|
%apply (TYPE* INPLACE_ARRAY1, int DIM1) {(TYPE* array, int size)}; |
|
%apply (int DIM1, TYPE* INPLACE_ARRAY1) {(int size, TYPE* array)}; |
|
|
|
%apply (TYPE ARGOUT_ARRAY1[ANY]) {(TYPE even[3])}; |
|
%apply (TYPE ARGOUT_ARRAY1[ANY]) {(TYPE odd[ 3])}; |
|
%apply (TYPE* ARGOUT_ARRAY1, int DIM1) {(TYPE* twoVec, int size)}; |
|
%apply (int DIM1, TYPE* ARGOUT_ARRAY1) {(int size, TYPE* threeVec)}; |
|
|
|
%enddef /* %apply_numpy_typemaps() macro */ |
|
|
|
%apply_numpy_typemaps(signed char ) |
|
%apply_numpy_typemaps(unsigned char ) |
|
%apply_numpy_typemaps(short ) |
|
%apply_numpy_typemaps(unsigned short ) |
|
%apply_numpy_typemaps(int ) |
|
%apply_numpy_typemaps(unsigned int ) |
|
%apply_numpy_typemaps(long ) |
|
%apply_numpy_typemaps(unsigned long ) |
|
%apply_numpy_typemaps(long long ) |
|
%apply_numpy_typemaps(unsigned long long) |
|
%apply_numpy_typemaps(float ) |
|
%apply_numpy_typemaps(double ) |
|
|
|
// Include the header file to be wrapped |
|
%include "Vector.h" |
|
|