PyObject*  @ getBuffer             @ (PyObject*o)
int        @ isBuffer              @ (PyObject*o)
int        @ getWriteBufferDataPtr @ (PyObject*o,void**p)
int        @ isBufferWriteable     @ (PyObject*o)
int        @ getReadBufferDataPtr  @ (PyObject*o,void**p)
int        @ getBufferSize         @ (PyObject*o)
double     @ num_log                      @ (double x)
double     @ num_log10                    @ (double x)
double     @ num_pow                      @ (double x, double y)
double     @ num_acosh                    @ (double x)
double     @ num_asinh                    @ (double x)
double     @ num_atanh                    @ (double x)
double     @ num_round                    @ (double x)
int        @ int_dividebyzero_error       @ (long value, long unused)
int        @ int_overflow_error           @ (Float64 value)
int        @ umult64_overflow             @ (UInt64 a, UInt64 b)
int        @ smult64_overflow             @ (Int64 a0, Int64 b0)
void       @ NA_Done               @ (void)
PyArrayObject*  @ NA_NewAll        @ (int ndim, maybelong* shape, NumarrayType type, void* buffer, maybelong byteoffset, maybelong bytestride, int byteorder, int aligned, int writeable)
PyArrayObject*  @ NA_NewAllStrides @ (int ndim, maybelong* shape, maybelong* strides, NumarrayType type, void* buffer, maybelong byteoffset, int byteorder, int aligned, int writeable)
PyArrayObject*  @ NA_New           @ (void* buffer, NumarrayType type, int ndim,...)
PyArrayObject*  @ NA_Empty         @ (int ndim, maybelong* shape, NumarrayType type)
PyArrayObject*  @ NA_NewArray      @ (void* buffer, NumarrayType type, int ndim, ...)
PyArrayObject*  @ NA_vNewArray     @ (void* buffer, NumarrayType type, int ndim, maybelong *shape)
PyObject*       @ NA_ReturnOutput  @ (PyObject*,PyArrayObject*)
long            @ NA_getBufferPtrAndSize @ (PyObject*,int,void**)
int             @ NA_checkIo          @ (char*,int,int,int,int)
int             @ NA_checkOneCBuffer  @ (char*,long,void*,long,size_t)
int             @ NA_checkNCBuffers   @ (char*,int,long,void**,long*,Int8*,Int8*)
int             @ NA_checkOneStriding @ (char*,long,maybelong*,long,maybelong*,long,long,int)
PyObject*       @ NA_new_cfunc          @ (CfuncDescriptor*)
int             @ NA_add_cfunc          @ (PyObject*,char*,CfuncDescriptor*)
PyArrayObject*  @ NA_InputArray         @ (PyObject*,NumarrayType,int)
PyArrayObject*  @ NA_OutputArray        @ (PyObject*,NumarrayType,int)
PyArrayObject*  @ NA_IoArray            @ (PyObject*,NumarrayType,int)
PyArrayObject*  @ NA_OptionalOutputArray @ (PyObject*,NumarrayType,int,PyArrayObject*)
long            @ NA_get_offset         @ (PyArrayObject*,int,...)
Float64         @ NA_get_Float64        @ (PyArrayObject*,long)
void            @ NA_set_Float64        @ (PyArrayObject*,long,Float64)
Complex64       @ NA_get_Complex64      @ (PyArrayObject*,long)
void            @ NA_set_Complex64      @ (PyArrayObject*,long,Complex64)
Int64           @ NA_get_Int64          @ (PyArrayObject*,long)
void            @ NA_set_Int64          @ (PyArrayObject*,long,Int64)
Float64         @ NA_get1_Float64       @ (PyArrayObject*,long)
Float64         @ NA_get2_Float64       @ (PyArrayObject*,long,long)
Float64         @ NA_get3_Float64       @ (PyArrayObject*,long,long,long)
void            @ NA_set1_Float64       @ (PyArrayObject*,long,Float64)
void            @ NA_set2_Float64       @ (PyArrayObject*,long,long,Float64)
void            @ NA_set3_Float64       @ (PyArrayObject*,long,long,long,Float64)
Complex64       @ NA_get1_Complex64     @ (PyArrayObject*,long)
Complex64       @ NA_get2_Complex64     @ (PyArrayObject*,long,long)
Complex64       @ NA_get3_Complex64     @ (PyArrayObject*,long,long,long)
void            @ NA_set1_Complex64     @ (PyArrayObject*,long,Complex64)
void            @ NA_set2_Complex64     @ (PyArrayObject*,long,long,Complex64)
void            @ NA_set3_Complex64     @ (PyArrayObject*,long,long,long,Complex64)
Int64           @ NA_get1_Int64         @ (PyArrayObject*,long)
Int64           @ NA_get2_Int64         @ (PyArrayObject*,long,long)
Int64           @ NA_get3_Int64         @ (PyArrayObject*,long,long,long)
void            @ NA_set1_Int64         @ (PyArrayObject*,long,Int64)
void            @ NA_set2_Int64         @ (PyArrayObject*,long,long,Int64)
void            @ NA_set3_Int64         @ (PyArrayObject*,long,long,long,Int64)
int             @ NA_get1D_Float64      @ (PyArrayObject*,long,int,Float64*)
int             @ NA_set1D_Float64      @ (PyArrayObject*,long,int,Float64*)
int             @ NA_get1D_Int64        @ (PyArrayObject*,long,int,Int64*)
int             @ NA_set1D_Int64        @ (PyArrayObject*,long,int,Int64*)
int             @ NA_get1D_Complex64    @ (PyArrayObject*,long,int,Complex64*)
int             @ NA_set1D_Complex64    @ (PyArrayObject*,long,int,Complex64*)
int        @ NA_ShapeEqual         @ (PyArrayObject*,PyArrayObject*)
int        @ NA_ShapeLessThan      @ (PyArrayObject*,PyArrayObject*)
int        @ NA_ByteOrder          @ (void)
Bool       @ NA_IeeeSpecial32      @ (Float32*,Int32*)
Bool       @ NA_IeeeSpecial64      @ (Float64*,Int32*)
PyArrayObject*  @ NA_updateDataPtr      @ (PyArrayObject*)
char*      @ NA_typeNoToName       @ (int)
int        @ NA_nameToTypeNo       @ (char*)
PyObject*  @ NA_typeNoToTypeObject @ (int)
PyObject*  @ NA_intTupleFromMaybeLongs   @ (int,maybelong*)
long       @ NA_maybeLongsFromIntTuple   @ (int,maybelong*,PyObject*)
int        @ NA_intTupleProduct    @ (PyObject *obj, long *product)
long       @ NA_isIntegerSequence  @ (PyObject*)
PyObject*  @ NA_setArrayFromSequence @ (PyArrayObject*,PyObject*)
int        @ NA_maxType            @ (PyObject*)
int        @ NA_isPythonScalar     @ (PyObject *obj)
PyObject*  @ NA_getPythonScalar    @ (PyArrayObject*,long)
int        @ NA_setFromPythonScalar @ (PyArrayObject*,long,PyObject*)
int        @ NA_NDArrayCheck        @ (PyObject*)
int        @ NA_NumArrayCheck       @ (PyObject*)
int        @ NA_ComplexArrayCheck   @ (PyObject*)
unsigned long  @ NA_elements              @ (PyArrayObject*)
int        @ NA_typeObjectToTypeNo        @ (PyObject*)
int        @ NA_copyArray                 @ (PyArrayObject* to, const PyArrayObject* from)
PyArrayObject* @ NA_copy		  @ (PyArrayObject*)
PyObject*  @ NA_getType                   @ (PyObject *typeobj_or_name)
PyObject * @ NA_callCUFuncCore            @ (PyObject *cfunc, long niter, long ninargs, long noutargs, PyObject **BufferObj, long *offset)
PyObject * @ NA_callStrideConvCFuncCore   @ (PyObject *cfunc, int nshape, maybelong *shape, PyObject *inbuffObj,  long inboffset, int nstrides0, maybelong *inbstrides, PyObject *outbuffObj, long outboffset, int nstrides1, maybelong *outbstrides, long nbytes)
void       @ NA_stridesFromShape          @ (int nshape, maybelong *shape, maybelong bytestride, maybelong *strides)
int        @ NA_OperatorCheck             @ (PyObject *obj)
int        @ NA_ConverterCheck            @ (PyObject *obj)
int        @ NA_UfuncCheck                @ (PyObject *obj)
int        @ NA_CfuncCheck                @ (PyObject *obj)
int        @ NA_getByteOffset             @ (PyArrayObject *array, int nindices, maybelong *indices, long *offset)
int        @ NA_swapAxes                  @ (PyArrayObject *array, int x, int y)
PyObject * @ NA_initModuleGlobal	  @ (char *module, char *global)
NumarrayType @ NA_NumarrayType            @ (PyObject *seq)
PyArrayObject * @ NA_NewAllFromBuffer     @ (int ndim, maybelong *shape, NumarrayType type, PyObject *bufferObject, maybelong byteoffset, maybelong bytestride, int byteorder, int aligned, int writeable)
Float64 * @ NA_alloc1D_Float64            @ (PyArrayObject *a, long offset, int cnt)
Int64 *   @ NA_alloc1D_Int64              @ (PyArrayObject *a, long offset, int cnt)
void      @ NA_updateAlignment            @ (PyArrayObject *self)
void      @ NA_updateContiguous           @ (PyArrayObject *self)
void      @ NA_updateStatus               @ (PyArrayObject *self)
int       @ NA_NumArrayCheckExact         @ (PyObject *op)
int       @ NA_NDArrayCheckExact          @ (PyObject *op)
int       @ NA_OperatorCheckExact         @ (PyObject *op)
int       @ NA_ConverterCheckExact        @ (PyObject *op)
int       @ NA_UfuncCheckExact            @ (PyObject *op)
int       @ NA_CfuncCheckExact            @ (PyObject *op)
char *    @ NA_getArrayData               @ (PyArrayObject *ap)
void      @ NA_updateByteswap             @ (PyArrayObject *ap)
PyArray_Descr *  @ NA_DescrFromType       @ (int type)
PyObject * @ NA_Cast                      @ (PyArrayObject *a, int type)
int       @ NA_checkFPErrors              @ (void)
void      @ NA_clearFPErrors              @ (void)
int       @ NA_checkAndReportFPErrors     @ (char *name)
Bool       @ NA_IeeeMask32      @ (Float32,Int32)
Bool       @ NA_IeeeMask64      @ (Float64,Int32)
int       @ _NA_callStridingHelper @ (PyObject *aux, long dim, long nnumarray, PyArrayObject *numarray[], char *data[], CFUNC_STRIDED_FUNC f)
PyArrayObject * @ NA_FromDimsStridesDescrAndData @ (int nd, maybelong *dims, maybelong *strides, PyArray_Descr *descr, char *data) 
PyArrayObject * @ NA_FromDimsTypeAndData @ (int nd, maybelong *dims, int type, char *data)
PyArrayObject * @ NA_FromDimsStridesTypeAndData @ (int nd, maybelong *dims, maybelong *strides, int type, char *data) 
int @ NA_scipy_typestr @ (NumarrayType t, int byteorder, char *typestr)
PyArrayObject * @ NA_FromArrayStruct @ (PyObject *a)
