|
|
|
#ifdef SWIGPYTHON |
|
|
|
|
|
#ifndef SWIG_FILE_WITH_INIT |
|
#define NO_IMPORT_ARRAY |
|
#endif |
|
#include "stdio.h" |
|
#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION |
|
#include <numpy/arrayobject.h> |
|
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
"header") |
|
{ |
|
|
|
|
|
const char* pytype_string(PyObject* py_obj) |
|
{ |
|
if (py_obj == NULL ) return "C NULL value"; |
|
if (py_obj == Py_None ) return "Python None" ; |
|
if (PyCallable_Check(py_obj)) return "callable" ; |
|
if (PyString_Check( py_obj)) return "string" ; |
|
if (PyInt_Check( py_obj)) return "int" ; |
|
if (PyFloat_Check( py_obj)) return "float" ; |
|
if (PyDict_Check( py_obj)) return "dict" ; |
|
if (PyList_Check( py_obj)) return "list" ; |
|
if (PyTuple_Check( py_obj)) return "tuple" ; |
|
|
|
if (PyFile_Check( py_obj)) return "file" ; |
|
if (PyModule_Check( py_obj)) return "module" ; |
|
if (PyInstance_Check(py_obj)) return "instance" ; |
|
|
|
|
|
return "unkown type"; |
|
} |
|
|
|
|
|
|
|
const char* typecode_string(int typecode) |
|
{ |
|
static const char* type_names[25] = {"bool", |
|
"byte", |
|
"unsigned byte", |
|
"short", |
|
"unsigned short", |
|
"int", |
|
"unsigned int", |
|
"long", |
|
"unsigned long", |
|
"long long", |
|
"unsigned long long", |
|
"float", |
|
"double", |
|
"long double", |
|
"complex float", |
|
"complex double", |
|
"complex long double", |
|
"object", |
|
"string", |
|
"unicode", |
|
"void", |
|
"ntypes", |
|
"notype", |
|
"char", |
|
"unknown"}; |
|
return typecode < 24 ? type_names[typecode] : type_names[24]; |
|
} |
|
|
|
|
|
|
|
|
|
int type_match(int actual_type, |
|
int desired_type) |
|
{ |
|
return PyArray_EquivTypenums(actual_type, desired_type); |
|
} |
|
|
|
|
|
void free_cap(PyObject * cap) |
|
{ |
|
void* array = (void*) PyCapsule_GetPointer(cap,SWIGPY_CAPSULE_NAME); |
|
if (array != NULL) free(array); |
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
"header", |
|
fragment="NumPy_Backward_Compatibility", |
|
fragment="NumPy_Macros", |
|
fragment="NumPy_Utilities") |
|
{ |
|
|
|
|
|
|
|
|
|
PyArrayObject* obj_to_array_no_conversion(PyObject* input, |
|
int typecode) |
|
{ |
|
PyArrayObject* ary = NULL; |
|
if (is_array(input) && (typecode == NPY_NOTYPE || |
|
PyArray_EquivTypenums(array_type(input), typecode))) |
|
{ |
|
ary = (PyArrayObject*) input; |
|
} |
|
else if is_array(input) |
|
{ |
|
const char* desired_type = typecode_string(typecode); |
|
const char* actual_type = typecode_string(array_type(input)); |
|
PyErr_Format(PyExc_TypeError, |
|
"Array of type '%s' required. Array of type '%s' given", |
|
desired_type, actual_type); |
|
ary = NULL; |
|
} |
|
else |
|
{ |
|
const char* desired_type = typecode_string(typecode); |
|
const char* actual_type = pytype_string(input); |
|
PyErr_Format(PyExc_TypeError, |
|
"Array of type '%s' required. A '%s' was given", |
|
desired_type, |
|
actual_type); |
|
ary = NULL; |
|
} |
|
return ary; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
PyArrayObject* obj_to_array_allow_conversion(PyObject* input, |
|
int typecode, |
|
int* is_new_object) |
|
{ |
|
PyArrayObject* ary = NULL; |
|
PyObject* py_obj; |
|
if (is_array(input) && (typecode == NPY_NOTYPE || |
|
PyArray_EquivTypenums(array_type(input),typecode))) |
|
{ |
|
ary = (PyArrayObject*) input; |
|
*is_new_object = 0; |
|
} |
|
else |
|
{ |
|
py_obj = PyArray_FROMANY(input, typecode, 0, 0, NPY_ARRAY_DEFAULT); |
|
|
|
ary = (PyArrayObject*) py_obj; |
|
*is_new_object = 1; |
|
} |
|
return ary; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
PyArrayObject* make_contiguous(PyArrayObject* ary, |
|
int* is_new_object, |
|
int min_dims, |
|
int max_dims) |
|
{ |
|
PyArrayObject* result; |
|
if (array_is_contiguous(ary)) |
|
{ |
|
result = ary; |
|
*is_new_object = 0; |
|
} |
|
else |
|
{ |
|
result = (PyArrayObject*) PyArray_ContiguousFromObject((PyObject*)ary, |
|
array_type(ary), |
|
min_dims, |
|
max_dims); |
|
*is_new_object = 1; |
|
} |
|
return result; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PyArrayObject* make_fortran(PyArrayObject* ary, |
|
int* is_new_object) |
|
{ |
|
PyArrayObject* result; |
|
if (array_is_fortran(ary)) |
|
{ |
|
result = ary; |
|
*is_new_object = 0; |
|
} |
|
else |
|
{ |
|
Py_INCREF(array_descr(ary)); |
|
result = (PyArrayObject*) PyArray_FromArray(ary, |
|
array_descr(ary), |
|
NPY_FORTRANORDER); |
|
*is_new_object = 1; |
|
} |
|
return result; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
PyArrayObject* obj_to_array_contiguous_allow_conversion(PyObject* input, |
|
int typecode, |
|
int* is_new_object) |
|
{ |
|
int is_new1 = 0; |
|
int is_new2 = 0; |
|
PyArrayObject* ary2; |
|
PyArrayObject* ary1 = obj_to_array_allow_conversion(input, |
|
typecode, |
|
&is_new1); |
|
if (ary1) |
|
{ |
|
ary2 = make_contiguous(ary1, &is_new2, 0, 0); |
|
if ( is_new1 && is_new2) |
|
{ |
|
Py_DECREF(ary1); |
|
} |
|
ary1 = ary2; |
|
} |
|
*is_new_object = is_new1 || is_new2; |
|
return ary1; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
PyArrayObject* obj_to_array_fortran_allow_conversion(PyObject* input, |
|
int typecode, |
|
int* is_new_object) |
|
{ |
|
int is_new1 = 0; |
|
int is_new2 = 0; |
|
PyArrayObject* ary2; |
|
PyArrayObject* ary1 = obj_to_array_allow_conversion(input, |
|
typecode, |
|
&is_new1); |
|
if (ary1) |
|
{ |
|
ary2 = make_fortran(ary1, &is_new2); |
|
if (is_new1 && is_new2) |
|
{ |
|
Py_DECREF(ary1); |
|
} |
|
ary1 = ary2; |
|
} |
|
*is_new_object = is_new1 || is_new2; |
|
return ary1; |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
"header", |
|
fragment="NumPy_Backward_Compatibility", |
|
fragment="NumPy_Macros") |
|
{ |
|
|
|
|
|
|
|
|
|
int require_contiguous(PyArrayObject* ary) |
|
{ |
|
int contiguous = 1; |
|
if (!array_is_contiguous(ary)) |
|
{ |
|
PyErr_SetString(PyExc_TypeError, |
|
"Array must be contiguous. A non-contiguous array was given"); |
|
contiguous = 0; |
|
} |
|
return contiguous; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
int require_native(PyArrayObject* ary) |
|
{ |
|
int native = 1; |
|
if (!array_is_native(ary)) |
|
{ |
|
PyErr_SetString(PyExc_TypeError, |
|
"Array must have native byteorder. " |
|
"A byte-swapped array was given"); |
|
native = 0; |
|
} |
|
return native; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
int require_dimensions(PyArrayObject* ary, |
|
int exact_dimensions) |
|
{ |
|
int success = 1; |
|
if (array_numdims(ary) != exact_dimensions) |
|
{ |
|
PyErr_Format(PyExc_TypeError, |
|
"Array must have %d dimensions. Given array has %d dimensions", |
|
exact_dimensions, |
|
array_numdims(ary)); |
|
success = 0; |
|
} |
|
return success; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
int require_dimensions_n(PyArrayObject* ary, |
|
int* exact_dimensions, |
|
int n) |
|
{ |
|
int success = 0; |
|
int i; |
|
char dims_str[255] = ""; |
|
char s[255]; |
|
for (i = 0; i < n && !success; i++) |
|
{ |
|
if (array_numdims(ary) == exact_dimensions[i]) |
|
{ |
|
success = 1; |
|
} |
|
} |
|
if (!success) |
|
{ |
|
for (i = 0; i < n-1; i++) |
|
{ |
|
sprintf(s, "%d, ", exact_dimensions[i]); |
|
strcat(dims_str,s); |
|
} |
|
sprintf(s, " or %d", exact_dimensions[n-1]); |
|
strcat(dims_str,s); |
|
PyErr_Format(PyExc_TypeError, |
|
"Array must have %s dimensions. Given array has %d dimensions", |
|
dims_str, |
|
array_numdims(ary)); |
|
} |
|
return success; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
int require_size(PyArrayObject* ary, |
|
npy_intp* size, |
|
int n) |
|
{ |
|
int i; |
|
int success = 1; |
|
int len; |
|
char desired_dims[255] = "["; |
|
char s[255]; |
|
char actual_dims[255] = "["; |
|
for(i=0; i < n;i++) |
|
{ |
|
if (size[i] != -1 && size[i] != array_size(ary,i)) |
|
{ |
|
success = 0; |
|
} |
|
} |
|
if (!success) |
|
{ |
|
for (i = 0; i < n; i++) |
|
{ |
|
if (size[i] == -1) |
|
{ |
|
sprintf(s, "*,"); |
|
} |
|
else |
|
{ |
|
sprintf(s, "%ld,", (long int)size[i]); |
|
} |
|
strcat(desired_dims,s); |
|
} |
|
len = strlen(desired_dims); |
|
desired_dims[len-1] = ']'; |
|
for (i = 0; i < n; i++) |
|
{ |
|
sprintf(s, "%ld,", (long int)array_size(ary,i)); |
|
strcat(actual_dims,s); |
|
} |
|
len = strlen(actual_dims); |
|
actual_dims[len-1] = ']'; |
|
PyErr_Format(PyExc_TypeError, |
|
"Array must have shape of %s. Given array has shape of %s", |
|
desired_dims, |
|
actual_dims); |
|
} |
|
return success; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
int require_fortran(PyArrayObject* ary) |
|
{ |
|
int success = 1; |
|
int nd = array_numdims(ary); |
|
int i; |
|
npy_intp * strides = array_strides(ary); |
|
if (array_is_fortran(ary)) return success; |
|
|
|
array_enableflags(ary,NPY_ARRAY_FARRAY); |
|
|
|
strides[0] = strides[nd-1]; |
|
for (i=1; i < nd; ++i) |
|
strides[i] = strides[i-1] * array_size(ary,i-1); |
|
return success; |
|
} |
|
} |
|
|
|
|
|
|
|
"header", |
|
fragment="NumPy_Backward_Compatibility", |
|
fragment="NumPy_Macros", |
|
fragment="NumPy_Utilities", |
|
fragment="NumPy_Object_to_Array", |
|
fragment="NumPy_Array_Requirements") |
|
{ |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE IN_ARRAY1[ANY]) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE IN_ARRAY1[ANY]) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[1] = { $1_dim0 }; |
|
array = obj_to_array_contiguous_allow_conversion($input, |
|
DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 1) || |
|
!require_size(array, size, 1)) SWIG_fail; |
|
$1 = ($1_ltype) array_data(array); |
|
} |
|
|
|
(DATA_TYPE IN_ARRAY1[ANY]) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[1] = { -1 }; |
|
array = obj_to_array_contiguous_allow_conversion($input, |
|
DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 1) || |
|
!require_size(array, size, 1)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = (DIM_TYPE) array_size(array,0); |
|
} |
|
|
|
(DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[1] = {-1}; |
|
array = obj_to_array_contiguous_allow_conversion($input, |
|
DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 1) || |
|
!require_size(array, size, 1)) SWIG_fail; |
|
$1 = (DIM_TYPE) array_size(array,0); |
|
$2 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
(DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE IN_ARRAY2[ANY][ANY]) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE IN_ARRAY2[ANY][ANY]) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[2] = { $1_dim0, $1_dim1 }; |
|
array = obj_to_array_contiguous_allow_conversion($input, |
|
DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 2) || |
|
!require_size(array, size, 2)) SWIG_fail; |
|
$1 = ($1_ltype) array_data(array); |
|
} |
|
|
|
(DATA_TYPE IN_ARRAY2[ANY][ANY]) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[2] = { -1, -1 }; |
|
array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 2) || |
|
!require_size(array, size, 2)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = (DIM_TYPE) array_size(array,0); |
|
$3 = (DIM_TYPE) array_size(array,1); |
|
} |
|
|
|
(DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[2] = { -1, -1 }; |
|
array = obj_to_array_contiguous_allow_conversion($input, |
|
DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 2) || |
|
!require_size(array, size, 2)) SWIG_fail; |
|
$1 = (DIM_TYPE) array_size(array,0); |
|
$2 = (DIM_TYPE) array_size(array,1); |
|
$3 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[2] = { -1, -1 }; |
|
array = obj_to_array_fortran_allow_conversion($input, |
|
DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 2) || |
|
!require_size(array, size, 2) || !require_fortran(array)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = (DIM_TYPE) array_size(array,0); |
|
$3 = (DIM_TYPE) array_size(array,1); |
|
} |
|
|
|
(DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[2] = { -1, -1 }; |
|
array = obj_to_array_fortran_allow_conversion($input, |
|
DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 2) || |
|
!require_size(array, size, 2) || !require_fortran(array)) SWIG_fail; |
|
$1 = (DIM_TYPE) array_size(array,0); |
|
$2 = (DIM_TYPE) array_size(array,1); |
|
$3 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE IN_ARRAY3[ANY][ANY][ANY]) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE IN_ARRAY3[ANY][ANY][ANY]) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[3] = { $1_dim0, $1_dim1, $1_dim2 }; |
|
array = obj_to_array_contiguous_allow_conversion($input, |
|
DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 3) || |
|
!require_size(array, size, 3)) SWIG_fail; |
|
$1 = ($1_ltype) array_data(array); |
|
} |
|
|
|
(DATA_TYPE IN_ARRAY3[ANY][ANY][ANY]) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[3] = { -1, -1, -1 }; |
|
array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 3) || |
|
!require_size(array, size, 3)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = (DIM_TYPE) array_size(array,0); |
|
$3 = (DIM_TYPE) array_size(array,1); |
|
$4 = (DIM_TYPE) array_size(array,2); |
|
} |
|
|
|
(DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
{ |
|
|
|
$1 = PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
(DATA_TYPE** array=NULL, PyArrayObject** object_array=NULL, int* is_new_object_array=NULL) |
|
{ |
|
npy_intp size[2] = { -1, -1 }; |
|
PyArrayObject* temp_array; |
|
Py_ssize_t i; |
|
int is_new_object; |
|
|
|
|
|
$2 = PyList_Size($input); |
|
|
|
|
|
array = (DATA_TYPE **)malloc($2*sizeof(DATA_TYPE *)); |
|
object_array = (PyArrayObject **)calloc($2,sizeof(PyArrayObject *)); |
|
is_new_object_array = (int *)calloc($2,sizeof(int)); |
|
|
|
if (array == NULL || object_array == NULL || is_new_object_array == NULL) |
|
{ |
|
SWIG_fail; |
|
} |
|
|
|
for (i=0; i<$2; i++) |
|
{ |
|
temp_array = obj_to_array_contiguous_allow_conversion(PySequence_GetItem($input,i), DATA_TYPECODE, &is_new_object); |
|
|
|
|
|
object_array[i] = temp_array; |
|
is_new_object_array[i] = is_new_object; |
|
|
|
if (!temp_array || !require_dimensions(temp_array, 2)) SWIG_fail; |
|
|
|
|
|
if (i == 0) |
|
{ |
|
size[0] = array_size(temp_array,0); |
|
size[1] = array_size(temp_array,1); |
|
} |
|
|
|
if (!require_size(temp_array, size, 2)) SWIG_fail; |
|
|
|
array[i] = (DATA_TYPE*) array_data(temp_array); |
|
} |
|
|
|
$1 = (DATA_TYPE**) array; |
|
$3 = (DIM_TYPE) size[0]; |
|
$4 = (DIM_TYPE) size[1]; |
|
} |
|
|
|
(DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
{ |
|
Py_ssize_t i; |
|
|
|
if (array$argnum!=NULL) free(array$argnum); |
|
|
|
|
|
if (object_array$argnum!=NULL) |
|
{ |
|
if (is_new_object_array$argnum!=NULL) |
|
{ |
|
for (i=0; i<$2; i++) |
|
{ |
|
if (object_array$argnum[i] != NULL && is_new_object_array$argnum[i]) |
|
{ Py_DECREF(object_array$argnum[i]); } |
|
} |
|
free(is_new_object_array$argnum); |
|
} |
|
free(object_array$argnum); |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[3] = { -1, -1, -1 }; |
|
array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 3) || |
|
!require_size(array, size, 3)) SWIG_fail; |
|
$1 = (DIM_TYPE) array_size(array,0); |
|
$2 = (DIM_TYPE) array_size(array,1); |
|
$3 = (DIM_TYPE) array_size(array,2); |
|
$4 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[3] = { -1, -1, -1 }; |
|
array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 3) || |
|
!require_size(array, size, 3) | !require_fortran(array)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = (DIM_TYPE) array_size(array,0); |
|
$3 = (DIM_TYPE) array_size(array,1); |
|
$4 = (DIM_TYPE) array_size(array,2); |
|
} |
|
|
|
(DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[3] = { -1, -1, -1 }; |
|
array = obj_to_array_fortran_allow_conversion($input, |
|
DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 3) || |
|
!require_size(array, size, 3) || !require_fortran(array)) SWIG_fail; |
|
$1 = (DIM_TYPE) array_size(array,0); |
|
$2 = (DIM_TYPE) array_size(array,1); |
|
$3 = (DIM_TYPE) array_size(array,2); |
|
$4 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE IN_ARRAY4[ANY][ANY][ANY][ANY]) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE IN_ARRAY4[ANY][ANY][ANY][ANY]) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[4] = { $1_dim0, $1_dim1, $1_dim2 , $1_dim3}; |
|
array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 4) || |
|
!require_size(array, size, 4)) SWIG_fail; |
|
$1 = ($1_ltype) array_data(array); |
|
} |
|
|
|
(DATA_TYPE IN_ARRAY4[ANY][ANY][ANY][ANY]) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[4] = { -1, -1, -1, -1 }; |
|
array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 4) || |
|
!require_size(array, size, 4)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = (DIM_TYPE) array_size(array,0); |
|
$3 = (DIM_TYPE) array_size(array,1); |
|
$4 = (DIM_TYPE) array_size(array,2); |
|
$5 = (DIM_TYPE) array_size(array,3); |
|
} |
|
|
|
(DATA_TYPE* IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE** IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
{ |
|
|
|
$1 = PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE** IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
(DATA_TYPE** array=NULL, PyArrayObject** object_array=NULL, int* is_new_object_array=NULL) |
|
{ |
|
npy_intp size[3] = { -1, -1, -1 }; |
|
PyArrayObject* temp_array; |
|
Py_ssize_t i; |
|
int is_new_object; |
|
|
|
|
|
$2 = PyList_Size($input); |
|
|
|
|
|
array = (DATA_TYPE **)malloc($2*sizeof(DATA_TYPE *)); |
|
object_array = (PyArrayObject **)calloc($2,sizeof(PyArrayObject *)); |
|
is_new_object_array = (int *)calloc($2,sizeof(int)); |
|
|
|
if (array == NULL || object_array == NULL || is_new_object_array == NULL) |
|
{ |
|
SWIG_fail; |
|
} |
|
|
|
for (i=0; i<$2; i++) |
|
{ |
|
temp_array = obj_to_array_contiguous_allow_conversion(PySequence_GetItem($input,i), DATA_TYPECODE, &is_new_object); |
|
|
|
|
|
object_array[i] = temp_array; |
|
is_new_object_array[i] = is_new_object; |
|
|
|
if (!temp_array || !require_dimensions(temp_array, 3)) SWIG_fail; |
|
|
|
|
|
if (i == 0) |
|
{ |
|
size[0] = array_size(temp_array,0); |
|
size[1] = array_size(temp_array,1); |
|
size[2] = array_size(temp_array,2); |
|
} |
|
|
|
if (!require_size(temp_array, size, 3)) SWIG_fail; |
|
|
|
array[i] = (DATA_TYPE*) array_data(temp_array); |
|
} |
|
|
|
$1 = (DATA_TYPE**) array; |
|
$3 = (DIM_TYPE) size[0]; |
|
$4 = (DIM_TYPE) size[1]; |
|
$5 = (DIM_TYPE) size[2]; |
|
} |
|
|
|
(DATA_TYPE** IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
{ |
|
Py_ssize_t i; |
|
|
|
if (array$argnum!=NULL) free(array$argnum); |
|
|
|
|
|
if (object_array$argnum!=NULL) |
|
{ |
|
if (is_new_object_array$argnum!=NULL) |
|
{ |
|
for (i=0; i<$2; i++) |
|
{ |
|
if (object_array$argnum[i] != NULL && is_new_object_array$argnum[i]) |
|
{ Py_DECREF(object_array$argnum[i]); } |
|
} |
|
free(is_new_object_array$argnum); |
|
} |
|
free(object_array$argnum); |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_ARRAY4) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_ARRAY4) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[4] = { -1, -1, -1 , -1}; |
|
array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 4) || |
|
!require_size(array, size, 4)) SWIG_fail; |
|
$1 = (DIM_TYPE) array_size(array,0); |
|
$2 = (DIM_TYPE) array_size(array,1); |
|
$3 = (DIM_TYPE) array_size(array,2); |
|
$4 = (DIM_TYPE) array_size(array,3); |
|
$5 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_ARRAY4) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* IN_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* IN_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[4] = { -1, -1, -1, -1 }; |
|
array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 4) || |
|
!require_size(array, size, 4) | !require_fortran(array)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = (DIM_TYPE) array_size(array,0); |
|
$3 = (DIM_TYPE) array_size(array,1); |
|
$4 = (DIM_TYPE) array_size(array,2); |
|
$5 = (DIM_TYPE) array_size(array,3); |
|
} |
|
|
|
(DATA_TYPE* IN_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_FARRAY4) |
|
{ |
|
$1 = is_array($input) || PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_FARRAY4) |
|
(PyArrayObject* array=NULL, int is_new_object=0) |
|
{ |
|
npy_intp size[4] = { -1, -1, -1 , -1 }; |
|
array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE, |
|
&is_new_object); |
|
if (!array || !require_dimensions(array, 4) || |
|
!require_size(array, size, 4) || !require_fortran(array)) SWIG_fail; |
|
$1 = (DIM_TYPE) array_size(array,0); |
|
$2 = (DIM_TYPE) array_size(array,1); |
|
$3 = (DIM_TYPE) array_size(array,2); |
|
$4 = (DIM_TYPE) array_size(array,3); |
|
$5 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_FARRAY4) |
|
{ |
|
if (is_new_object$argnum && array$argnum) |
|
{ Py_DECREF(array$argnum); } |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE INPLACE_ARRAY1[ANY]) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE INPLACE_ARRAY1[ANY]) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
npy_intp size[1] = { $1_dim0 }; |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,1) || !require_size(array, size, 1) || |
|
!require_contiguous(array) || !require_native(array)) SWIG_fail; |
|
$1 = ($1_ltype) array_data(array); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1) |
|
(PyArrayObject* array=NULL, int i=1) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,1) || !require_contiguous(array) |
|
|| !require_native(array)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = 1; |
|
for (i=0; i < array_numdims(array); ++i) $2 *= array_size(array,i); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1) |
|
(PyArrayObject* array=NULL, int i=0) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,1) || !require_contiguous(array) |
|
|| !require_native(array)) SWIG_fail; |
|
$1 = 1; |
|
for (i=0; i < array_numdims(array); ++i) $1 *= array_size(array,i); |
|
$2 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE INPLACE_ARRAY2[ANY][ANY]) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE INPLACE_ARRAY2[ANY][ANY]) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
npy_intp size[2] = { $1_dim0, $1_dim1 }; |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,2) || !require_size(array, size, 2) || |
|
!require_contiguous(array) || !require_native(array)) SWIG_fail; |
|
$1 = ($1_ltype) array_data(array); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,2) || !require_contiguous(array) |
|
|| !require_native(array)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = (DIM_TYPE) array_size(array,0); |
|
$3 = (DIM_TYPE) array_size(array,1); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,2) || !require_contiguous(array) || |
|
!require_native(array)) SWIG_fail; |
|
$1 = (DIM_TYPE) array_size(array,0); |
|
$2 = (DIM_TYPE) array_size(array,1); |
|
$3 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,2) || !require_contiguous(array) |
|
|| !require_native(array) || !require_fortran(array)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = (DIM_TYPE) array_size(array,0); |
|
$3 = (DIM_TYPE) array_size(array,1); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,2) || !require_contiguous(array) || |
|
!require_native(array) || !require_fortran(array)) SWIG_fail; |
|
$1 = (DIM_TYPE) array_size(array,0); |
|
$2 = (DIM_TYPE) array_size(array,1); |
|
$3 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY]) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY]) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
npy_intp size[3] = { $1_dim0, $1_dim1, $1_dim2 }; |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,3) || !require_size(array, size, 3) || |
|
!require_contiguous(array) || !require_native(array)) SWIG_fail; |
|
$1 = ($1_ltype) array_data(array); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,3) || !require_contiguous(array) || |
|
!require_native(array)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = (DIM_TYPE) array_size(array,0); |
|
$3 = (DIM_TYPE) array_size(array,1); |
|
$4 = (DIM_TYPE) array_size(array,2); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
{ |
|
$1 = PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
(DATA_TYPE** array=NULL, PyArrayObject** object_array=NULL) |
|
{ |
|
npy_intp size[2] = { -1, -1 }; |
|
PyArrayObject* temp_array; |
|
Py_ssize_t i; |
|
|
|
|
|
$2 = PyList_Size($input); |
|
|
|
|
|
array = (DATA_TYPE **)malloc($2*sizeof(DATA_TYPE *)); |
|
object_array = (PyArrayObject **)calloc($2,sizeof(PyArrayObject *)); |
|
|
|
if (array == NULL || object_array == NULL) |
|
{ |
|
SWIG_fail; |
|
} |
|
|
|
for (i=0; i<$2; i++) |
|
{ |
|
temp_array = obj_to_array_no_conversion(PySequence_GetItem($input,i), DATA_TYPECODE); |
|
|
|
|
|
object_array[i] = temp_array; |
|
|
|
if ( !temp_array || !require_dimensions(temp_array, 2) || |
|
!require_contiguous(temp_array) || |
|
!require_native(temp_array) || |
|
!PyArray_EquivTypenums(array_type(temp_array), DATA_TYPECODE) |
|
) SWIG_fail; |
|
|
|
|
|
if (i == 0) |
|
{ |
|
size[0] = array_size(temp_array,0); |
|
size[1] = array_size(temp_array,1); |
|
} |
|
|
|
if (!require_size(temp_array, size, 2)) SWIG_fail; |
|
|
|
array[i] = (DATA_TYPE*) array_data(temp_array); |
|
} |
|
|
|
$1 = (DATA_TYPE**) array; |
|
$3 = (DIM_TYPE) size[0]; |
|
$4 = (DIM_TYPE) size[1]; |
|
} |
|
|
|
(DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
{ |
|
if (array$argnum!=NULL) free(array$argnum); |
|
if (object_array$argnum!=NULL) free(object_array$argnum); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,3) || !require_contiguous(array) |
|
|| !require_native(array)) SWIG_fail; |
|
$1 = (DIM_TYPE) array_size(array,0); |
|
$2 = (DIM_TYPE) array_size(array,1); |
|
$3 = (DIM_TYPE) array_size(array,2); |
|
$4 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,3) || !require_contiguous(array) || |
|
!require_native(array) || !require_fortran(array)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = (DIM_TYPE) array_size(array,0); |
|
$3 = (DIM_TYPE) array_size(array,1); |
|
$4 = (DIM_TYPE) array_size(array,2); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,3) || !require_contiguous(array) |
|
|| !require_native(array) || !require_fortran(array)) SWIG_fail; |
|
$1 = (DIM_TYPE) array_size(array,0); |
|
$2 = (DIM_TYPE) array_size(array,1); |
|
$3 = (DIM_TYPE) array_size(array,2); |
|
$4 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE INPLACE_ARRAY4[ANY][ANY][ANY][ANY]) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE INPLACE_ARRAY4[ANY][ANY][ANY][ANY]) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
npy_intp size[4] = { $1_dim0, $1_dim1, $1_dim2 , $1_dim3 }; |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,4) || !require_size(array, size, 4) || |
|
!require_contiguous(array) || !require_native(array)) SWIG_fail; |
|
$1 = ($1_ltype) array_data(array); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,4) || !require_contiguous(array) || |
|
!require_native(array)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = (DIM_TYPE) array_size(array,0); |
|
$3 = (DIM_TYPE) array_size(array,1); |
|
$4 = (DIM_TYPE) array_size(array,2); |
|
$5 = (DIM_TYPE) array_size(array,3); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE** INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
{ |
|
$1 = PySequence_Check($input); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE** INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
(DATA_TYPE** array=NULL, PyArrayObject** object_array=NULL) |
|
{ |
|
npy_intp size[3] = { -1, -1, -1 }; |
|
PyArrayObject* temp_array; |
|
Py_ssize_t i; |
|
|
|
|
|
$2 = PyList_Size($input); |
|
|
|
|
|
array = (DATA_TYPE **)malloc($2*sizeof(DATA_TYPE *)); |
|
object_array = (PyArrayObject **)calloc($2,sizeof(PyArrayObject *)); |
|
|
|
if (array == NULL || object_array == NULL) |
|
{ |
|
SWIG_fail; |
|
} |
|
|
|
for (i=0; i<$2; i++) |
|
{ |
|
temp_array = obj_to_array_no_conversion(PySequence_GetItem($input,i), DATA_TYPECODE); |
|
|
|
|
|
object_array[i] = temp_array; |
|
|
|
if ( !temp_array || !require_dimensions(temp_array, 3) || |
|
!require_contiguous(temp_array) || |
|
!require_native(temp_array) || |
|
!PyArray_EquivTypenums(array_type(temp_array), DATA_TYPECODE) |
|
) SWIG_fail; |
|
|
|
|
|
if (i == 0) |
|
{ |
|
size[0] = array_size(temp_array,0); |
|
size[1] = array_size(temp_array,1); |
|
size[2] = array_size(temp_array,2); |
|
} |
|
|
|
if (!require_size(temp_array, size, 3)) SWIG_fail; |
|
|
|
array[i] = (DATA_TYPE*) array_data(temp_array); |
|
} |
|
|
|
$1 = (DATA_TYPE**) array; |
|
$3 = (DIM_TYPE) size[0]; |
|
$4 = (DIM_TYPE) size[1]; |
|
$5 = (DIM_TYPE) size[2]; |
|
} |
|
|
|
(DATA_TYPE** INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
{ |
|
if (array$argnum!=NULL) free(array$argnum); |
|
if (object_array$argnum!=NULL) free(object_array$argnum); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_ARRAY4) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_ARRAY4) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,4) || !require_contiguous(array) |
|
|| !require_native(array)) SWIG_fail; |
|
$1 = (DIM_TYPE) array_size(array,0); |
|
$2 = (DIM_TYPE) array_size(array,1); |
|
$3 = (DIM_TYPE) array_size(array,2); |
|
$4 = (DIM_TYPE) array_size(array,3); |
|
$5 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DATA_TYPE* INPLACE_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* INPLACE_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,4) || !require_contiguous(array) || |
|
!require_native(array) || !require_fortran(array)) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
$2 = (DIM_TYPE) array_size(array,0); |
|
$3 = (DIM_TYPE) array_size(array,1); |
|
$4 = (DIM_TYPE) array_size(array,2); |
|
$5 = (DIM_TYPE) array_size(array,3); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Macros") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_FARRAY4) |
|
{ |
|
$1 = is_array($input) && PyArray_EquivTypenums(array_type($input), |
|
DATA_TYPECODE); |
|
} |
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_FARRAY4) |
|
(PyArrayObject* array=NULL) |
|
{ |
|
array = obj_to_array_no_conversion($input, DATA_TYPECODE); |
|
if (!array || !require_dimensions(array,4) || !require_contiguous(array) |
|
|| !require_native(array) || !require_fortran(array)) SWIG_fail; |
|
$1 = (DIM_TYPE) array_size(array,0); |
|
$2 = (DIM_TYPE) array_size(array,1); |
|
$3 = (DIM_TYPE) array_size(array,2); |
|
$4 = (DIM_TYPE) array_size(array,3); |
|
$5 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Macros") |
|
(DATA_TYPE ARGOUT_ARRAY1[ANY]) |
|
(PyObject* array = NULL) |
|
{ |
|
npy_intp dims[1] = { $1_dim0 }; |
|
array = PyArray_SimpleNew(1, dims, DATA_TYPECODE); |
|
if (!array) SWIG_fail; |
|
$1 = ($1_ltype) array_data(array); |
|
} |
|
|
|
(DATA_TYPE ARGOUT_ARRAY1[ANY]) |
|
{ |
|
$result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Fragments") |
|
(DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1) |
|
(PyObject* array = NULL) |
|
{ |
|
npy_intp dims[1]; |
|
if (!PyInt_Check($input)) |
|
{ |
|
const char* typestring = pytype_string($input); |
|
PyErr_Format(PyExc_TypeError, |
|
"Int dimension expected. '%s' given.", |
|
typestring); |
|
SWIG_fail; |
|
} |
|
$2 = (DIM_TYPE) PyInt_AsLong($input); |
|
dims[0] = (npy_intp) $2; |
|
array = PyArray_SimpleNew(1, dims, DATA_TYPECODE); |
|
if (!array) SWIG_fail; |
|
$1 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
(DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1) |
|
{ |
|
$result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Fragments") |
|
(DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1) |
|
(PyObject* array = NULL) |
|
{ |
|
npy_intp dims[1]; |
|
if (!PyInt_Check($input)) |
|
{ |
|
const char* typestring = pytype_string($input); |
|
PyErr_Format(PyExc_TypeError, |
|
"Int dimension expected. '%s' given.", |
|
typestring); |
|
SWIG_fail; |
|
} |
|
$1 = (DIM_TYPE) PyInt_AsLong($input); |
|
dims[0] = (npy_intp) $1; |
|
array = PyArray_SimpleNew(1, dims, DATA_TYPECODE); |
|
if (!array) SWIG_fail; |
|
$2 = (DATA_TYPE*) array_data(array); |
|
} |
|
|
|
(DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1) |
|
{ |
|
$result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Macros") |
|
(DATA_TYPE ARGOUT_ARRAY2[ANY][ANY]) |
|
(PyObject* array = NULL) |
|
{ |
|
npy_intp dims[2] = { $1_dim0, $1_dim1 }; |
|
array = PyArray_SimpleNew(2, dims, DATA_TYPECODE); |
|
if (!array) SWIG_fail; |
|
$1 = ($1_ltype) array_data(array); |
|
} |
|
|
|
(DATA_TYPE ARGOUT_ARRAY2[ANY][ANY]) |
|
{ |
|
$result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Macros") |
|
(DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY]) |
|
(PyObject* array = NULL) |
|
{ |
|
npy_intp dims[3] = { $1_dim0, $1_dim1, $1_dim2 }; |
|
array = PyArray_SimpleNew(3, dims, DATA_TYPECODE); |
|
if (!array) SWIG_fail; |
|
$1 = ($1_ltype) array_data(array); |
|
} |
|
|
|
(DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY]) |
|
{ |
|
$result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum); |
|
} |
|
|
|
|
|
|
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Macros") |
|
(DATA_TYPE ARGOUT_ARRAY4[ANY][ANY][ANY][ANY]) |
|
(PyObject* array = NULL) |
|
{ |
|
npy_intp dims[4] = { $1_dim0, $1_dim1, $1_dim2, $1_dim3 }; |
|
array = PyArray_SimpleNew(4, dims, DATA_TYPECODE); |
|
if (!array) SWIG_fail; |
|
$1 = ($1_ltype) array_data(array); |
|
} |
|
|
|
(DATA_TYPE ARGOUT_ARRAY4[ANY][ANY][ANY][ANY]) |
|
{ |
|
$result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility") |
|
(DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1) |
|
{ |
|
npy_intp dims[1] = { *$2 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DATA_TYPE** ARGOUTVIEW_ARRAY1) |
|
(DIM_TYPE dim_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim_temp; |
|
$2 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility") |
|
(DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1) |
|
{ |
|
npy_intp dims[1] = { *$1 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$2)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility") |
|
(DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) |
|
{ |
|
npy_intp dims[2] = { *$2, *$3 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DATA_TYPE** ARGOUTVIEW_ARRAY2) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2) |
|
{ |
|
npy_intp dims[2] = { *$1, *$2 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") |
|
(DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) |
|
{ |
|
npy_intp dims[2] = { *$2, *$3 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DATA_TYPE** ARGOUTVIEW_FARRAY2) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2) |
|
{ |
|
npy_intp dims[2] = { *$1, *$2 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
$4 = &dim3_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility") |
|
(DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) |
|
{ |
|
npy_intp dims[3] = { *$2, *$3, *$4 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp = NULL) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &dim3_temp; |
|
$4 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3) |
|
{ |
|
npy_intp dims[3] = { *$1, *$2, *$3 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$4)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
$4 = &dim3_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") |
|
(DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) |
|
{ |
|
npy_intp dims[3] = { *$2, *$3, *$4 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DATA_TYPE** ARGOUTVIEW_FARRAY3) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &dim3_temp; |
|
$4 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3) |
|
{ |
|
npy_intp dims[3] = { *$1, *$2, *$3 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$4)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEW_ARRAY4, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
$4 = &dim3_temp; |
|
$5 = &dim4_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility") |
|
(DATA_TYPE** ARGOUTVIEW_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4) |
|
{ |
|
npy_intp dims[4] = { *$2, *$3, *$4 , *$5 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 , DATA_TYPE** ARGOUTVIEW_ARRAY4) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &dim3_temp; |
|
$4 = &dim4_temp; |
|
$5 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEW_ARRAY4) |
|
{ |
|
npy_intp dims[4] = { *$1, *$2, *$3 , *$4 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEW_FARRAY4, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
$4 = &dim3_temp; |
|
$5 = &dim4_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") |
|
(DATA_TYPE** ARGOUTVIEW_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4) |
|
{ |
|
npy_intp dims[4] = { *$2, *$3, *$4 , *$5 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 , DATA_TYPE** ARGOUTVIEW_FARRAY4) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &dim3_temp; |
|
$4 = &dim4_temp; |
|
$5 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEW_FARRAY4) |
|
{ |
|
npy_intp dims[4] = { *$1, *$2, *$3 , *$4 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEWM_ARRAY1, DIM_TYPE* DIM1 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Utilities") |
|
(DATA_TYPE** ARGOUTVIEWM_ARRAY1, DIM_TYPE* DIM1) |
|
{ |
|
npy_intp dims[1] = { *$2 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DATA_TYPE** ARGOUTVIEWM_ARRAY1) |
|
(DIM_TYPE dim_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim_temp; |
|
$2 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Utilities") |
|
(DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEWM_ARRAY1) |
|
{ |
|
npy_intp dims[1] = { *$1 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$2)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEWM_ARRAY2, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Utilities") |
|
(DATA_TYPE** ARGOUTVIEWM_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) |
|
{ |
|
npy_intp dims[2] = { *$2, *$3 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DATA_TYPE** ARGOUTVIEWM_ARRAY2) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Utilities") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_ARRAY2) |
|
{ |
|
npy_intp dims[2] = { *$1, *$2 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEWM_FARRAY2, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities") |
|
(DATA_TYPE** ARGOUTVIEWM_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) |
|
{ |
|
npy_intp dims[2] = { *$2, *$3 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DATA_TYPE** ARGOUTVIEWM_FARRAY2) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_FARRAY2) |
|
{ |
|
npy_intp dims[2] = { *$1, *$2 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEWM_ARRAY3, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
$4 = &dim3_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Utilities") |
|
(DATA_TYPE** ARGOUTVIEWM_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) |
|
{ |
|
npy_intp dims[3] = { *$2, *$3, *$4 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DATA_TYPE** ARGOUTVIEWM_ARRAY3) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &dim3_temp; |
|
$4 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Utilities") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEWM_ARRAY3) |
|
{ |
|
npy_intp dims[3] = { *$1, *$2, *$3 }; |
|
PyObject* obj= PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$4)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEWM_FARRAY3, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
$4 = &dim3_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities") |
|
(DATA_TYPE** ARGOUTVIEWM_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) |
|
{ |
|
npy_intp dims[3] = { *$2, *$3, *$4 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DATA_TYPE** ARGOUTVIEWM_FARRAY3) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &dim3_temp; |
|
$4 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEWM_FARRAY3) |
|
{ |
|
npy_intp dims[3] = { *$1, *$2, *$3 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$4)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
$4 = &dim3_temp; |
|
$5 = &dim4_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Utilities") |
|
(DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4) |
|
{ |
|
npy_intp dims[4] = { *$2, *$3, *$4 , *$5 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 , DATA_TYPE** ARGOUTVIEWM_ARRAY4) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &dim3_temp; |
|
$4 = &dim4_temp; |
|
$5 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Utilities") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_ARRAY4) |
|
{ |
|
npy_intp dims[4] = { *$1, *$2, *$3 , *$4 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
$4 = &dim3_temp; |
|
$5 = &dim4_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities") |
|
(DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) |
|
{ |
|
npy_intp dims[4] = { *$2, *$3, *$4 , *$5 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 , DATA_TYPE** ARGOUTVIEWM_FARRAY4) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &dim3_temp; |
|
$4 = &dim4_temp; |
|
$5 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_FARRAY4) |
|
{ |
|
npy_intp dims[4] = { *$1, *$2, *$3 , *$4 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
$4 = &dim3_temp; |
|
$5 = &dim4_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Utilities") |
|
(DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4) |
|
{ |
|
npy_intp dims[4] = { *$2, *$3, *$4 , *$5 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 , DATA_TYPE** ARGOUTVIEWM_ARRAY4) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &dim3_temp; |
|
$4 = &dim4_temp; |
|
$5 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Utilities") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_ARRAY4) |
|
{ |
|
npy_intp dims[4] = { *$1, *$2, *$3 , *$4 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 ) |
|
(DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp) |
|
{ |
|
$1 = &data_temp; |
|
$2 = &dim1_temp; |
|
$3 = &dim2_temp; |
|
$4 = &dim3_temp; |
|
$5 = &dim4_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities") |
|
(DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4) |
|
{ |
|
npy_intp dims[4] = { *$2, *$3, *$4 , *$5 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
(DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 , DATA_TYPE** ARGOUTVIEWM_FARRAY4) |
|
(DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL ) |
|
{ |
|
$1 = &dim1_temp; |
|
$2 = &dim2_temp; |
|
$3 = &dim3_temp; |
|
$4 = &dim4_temp; |
|
$5 = &data_temp; |
|
} |
|
|
|
fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities") |
|
(DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_FARRAY4) |
|
{ |
|
npy_intp dims[4] = { *$1, *$2, *$3 , *$4 }; |
|
PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5)); |
|
PyArrayObject* array = (PyArrayObject*) obj; |
|
|
|
if (!array || !require_fortran(array)) SWIG_fail; |
|
|
|
|
|
PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap); |
|
|
|
PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free); |
|
|
|
|
|
|
|
PyArray_BASE(array) = cap; |
|
|
|
PyArray_SetBaseObject(array,cap); |
|
|
|
|
|
$result = SWIG_Python_AppendOutput($result,obj); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif |
|
|