LCOV - code coverage report
Current view: top level - usr/lib64/python3.8/site-packages/numpy/core/include/numpy - __multiarray_api.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 13 29 44.8 %
Date: 2021-10-13 02:24:04 Functions: 1 1 100.0 %

          Line data    Source code
       1             : 
       2             : #if defined(_MULTIARRAYMODULE) || defined(WITH_CPYCHECKER_STEALS_REFERENCE_TO_ARG_ATTRIBUTE)
       3             : 
       4             : typedef struct {
       5             :         PyObject_HEAD
       6             :         npy_bool obval;
       7             : } PyBoolScalarObject;
       8             : 
       9             : extern NPY_NO_EXPORT PyTypeObject PyArrayMapIter_Type;
      10             : extern NPY_NO_EXPORT PyTypeObject PyArrayNeighborhoodIter_Type;
      11             : extern NPY_NO_EXPORT PyBoolScalarObject _PyArrayScalar_BoolValues[2];
      12             : 
      13             : NPY_NO_EXPORT  unsigned int PyArray_GetNDArrayCVersion \
      14             :        (void);
      15             : extern NPY_NO_EXPORT PyTypeObject PyBigArray_Type;
      16             : 
      17             : extern NPY_NO_EXPORT PyTypeObject PyArray_Type;
      18             : 
      19             : extern NPY_NO_EXPORT PyTypeObject PyArrayDescr_Type;
      20             : 
      21             : extern NPY_NO_EXPORT PyTypeObject PyArrayFlags_Type;
      22             : 
      23             : extern NPY_NO_EXPORT PyTypeObject PyArrayIter_Type;
      24             : 
      25             : extern NPY_NO_EXPORT PyTypeObject PyArrayMultiIter_Type;
      26             : 
      27             : extern NPY_NO_EXPORT int NPY_NUMUSERTYPES;
      28             : 
      29             : extern NPY_NO_EXPORT PyTypeObject PyBoolArrType_Type;
      30             : 
      31             : extern NPY_NO_EXPORT PyBoolScalarObject _PyArrayScalar_BoolValues[2];
      32             : 
      33             : extern NPY_NO_EXPORT PyTypeObject PyGenericArrType_Type;
      34             : 
      35             : extern NPY_NO_EXPORT PyTypeObject PyNumberArrType_Type;
      36             : 
      37             : extern NPY_NO_EXPORT PyTypeObject PyIntegerArrType_Type;
      38             : 
      39             : extern NPY_NO_EXPORT PyTypeObject PySignedIntegerArrType_Type;
      40             : 
      41             : extern NPY_NO_EXPORT PyTypeObject PyUnsignedIntegerArrType_Type;
      42             : 
      43             : extern NPY_NO_EXPORT PyTypeObject PyInexactArrType_Type;
      44             : 
      45             : extern NPY_NO_EXPORT PyTypeObject PyFloatingArrType_Type;
      46             : 
      47             : extern NPY_NO_EXPORT PyTypeObject PyComplexFloatingArrType_Type;
      48             : 
      49             : extern NPY_NO_EXPORT PyTypeObject PyFlexibleArrType_Type;
      50             : 
      51             : extern NPY_NO_EXPORT PyTypeObject PyCharacterArrType_Type;
      52             : 
      53             : extern NPY_NO_EXPORT PyTypeObject PyByteArrType_Type;
      54             : 
      55             : extern NPY_NO_EXPORT PyTypeObject PyShortArrType_Type;
      56             : 
      57             : extern NPY_NO_EXPORT PyTypeObject PyIntArrType_Type;
      58             : 
      59             : extern NPY_NO_EXPORT PyTypeObject PyLongArrType_Type;
      60             : 
      61             : extern NPY_NO_EXPORT PyTypeObject PyLongLongArrType_Type;
      62             : 
      63             : extern NPY_NO_EXPORT PyTypeObject PyUByteArrType_Type;
      64             : 
      65             : extern NPY_NO_EXPORT PyTypeObject PyUShortArrType_Type;
      66             : 
      67             : extern NPY_NO_EXPORT PyTypeObject PyUIntArrType_Type;
      68             : 
      69             : extern NPY_NO_EXPORT PyTypeObject PyULongArrType_Type;
      70             : 
      71             : extern NPY_NO_EXPORT PyTypeObject PyULongLongArrType_Type;
      72             : 
      73             : extern NPY_NO_EXPORT PyTypeObject PyFloatArrType_Type;
      74             : 
      75             : extern NPY_NO_EXPORT PyTypeObject PyDoubleArrType_Type;
      76             : 
      77             : extern NPY_NO_EXPORT PyTypeObject PyLongDoubleArrType_Type;
      78             : 
      79             : extern NPY_NO_EXPORT PyTypeObject PyCFloatArrType_Type;
      80             : 
      81             : extern NPY_NO_EXPORT PyTypeObject PyCDoubleArrType_Type;
      82             : 
      83             : extern NPY_NO_EXPORT PyTypeObject PyCLongDoubleArrType_Type;
      84             : 
      85             : extern NPY_NO_EXPORT PyTypeObject PyObjectArrType_Type;
      86             : 
      87             : extern NPY_NO_EXPORT PyTypeObject PyStringArrType_Type;
      88             : 
      89             : extern NPY_NO_EXPORT PyTypeObject PyUnicodeArrType_Type;
      90             : 
      91             : extern NPY_NO_EXPORT PyTypeObject PyVoidArrType_Type;
      92             : 
      93             : NPY_NO_EXPORT  int PyArray_SetNumericOps \
      94             :        (PyObject *);
      95             : NPY_NO_EXPORT  PyObject * PyArray_GetNumericOps \
      96             :        (void);
      97             : NPY_NO_EXPORT  int PyArray_INCREF \
      98             :        (PyArrayObject *);
      99             : NPY_NO_EXPORT  int PyArray_XDECREF \
     100             :        (PyArrayObject *);
     101             : NPY_NO_EXPORT  void PyArray_SetStringFunction \
     102             :        (PyObject *, int);
     103             : NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrFromType \
     104             :        (int);
     105             : NPY_NO_EXPORT  PyObject * PyArray_TypeObjectFromType \
     106             :        (int);
     107             : NPY_NO_EXPORT  char * PyArray_Zero \
     108             :        (PyArrayObject *);
     109             : NPY_NO_EXPORT  char * PyArray_One \
     110             :        (PyArrayObject *);
     111             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) NPY_GCC_NONNULL(2) PyObject * PyArray_CastToType \
     112             :        (PyArrayObject *, PyArray_Descr *, int);
     113             : NPY_NO_EXPORT  int PyArray_CastTo \
     114             :        (PyArrayObject *, PyArrayObject *);
     115             : NPY_NO_EXPORT  int PyArray_CastAnyTo \
     116             :        (PyArrayObject *, PyArrayObject *);
     117             : NPY_NO_EXPORT  int PyArray_CanCastSafely \
     118             :        (int, int);
     119             : NPY_NO_EXPORT  npy_bool PyArray_CanCastTo \
     120             :        (PyArray_Descr *, PyArray_Descr *);
     121             : NPY_NO_EXPORT  int PyArray_ObjectType \
     122             :        (PyObject *, int);
     123             : NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrFromObject \
     124             :        (PyObject *, PyArray_Descr *);
     125             : NPY_NO_EXPORT  PyArrayObject ** PyArray_ConvertToCommonType \
     126             :        (PyObject *, int *);
     127             : NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrFromScalar \
     128             :        (PyObject *);
     129             : NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrFromTypeObject \
     130             :        (PyObject *);
     131             : NPY_NO_EXPORT  npy_intp PyArray_Size \
     132             :        (PyObject *);
     133             : NPY_NO_EXPORT  PyObject * PyArray_Scalar \
     134             :        (void *, PyArray_Descr *, PyObject *);
     135             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) PyObject * PyArray_FromScalar \
     136             :        (PyObject *, PyArray_Descr *);
     137             : NPY_NO_EXPORT  void PyArray_ScalarAsCtype \
     138             :        (PyObject *, void *);
     139             : NPY_NO_EXPORT  int PyArray_CastScalarToCtype \
     140             :        (PyObject *, void *, PyArray_Descr *);
     141             : NPY_NO_EXPORT  int PyArray_CastScalarDirect \
     142             :        (PyObject *, PyArray_Descr *, void *, int);
     143             : NPY_NO_EXPORT  PyObject * PyArray_ScalarFromObject \
     144             :        (PyObject *);
     145             : NPY_NO_EXPORT  PyArray_VectorUnaryFunc * PyArray_GetCastFunc \
     146             :        (PyArray_Descr *, int);
     147             : NPY_NO_EXPORT  PyObject * PyArray_FromDims \
     148             :        (int NPY_UNUSED(nd), int *NPY_UNUSED(d), int NPY_UNUSED(type));
     149             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(3) PyObject * PyArray_FromDimsAndDataAndDescr \
     150             :        (int NPY_UNUSED(nd), int *NPY_UNUSED(d), PyArray_Descr *, char *NPY_UNUSED(data));
     151             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) PyObject * PyArray_FromAny \
     152             :        (PyObject *, PyArray_Descr *, int, int, int, PyObject *);
     153             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(1) PyObject * PyArray_EnsureArray \
     154             :        (PyObject *);
     155             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(1) PyObject * PyArray_EnsureAnyArray \
     156             :        (PyObject *);
     157             : NPY_NO_EXPORT  PyObject * PyArray_FromFile \
     158             :        (FILE *, PyArray_Descr *, npy_intp, char *);
     159             : NPY_NO_EXPORT  PyObject * PyArray_FromString \
     160             :        (char *, npy_intp, PyArray_Descr *, npy_intp, char *);
     161             : NPY_NO_EXPORT  PyObject * PyArray_FromBuffer \
     162             :        (PyObject *, PyArray_Descr *, npy_intp, npy_intp);
     163             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) PyObject * PyArray_FromIter \
     164             :        (PyObject *, PyArray_Descr *, npy_intp);
     165             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(1) PyObject * PyArray_Return \
     166             :        (PyArrayObject *);
     167             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) NPY_GCC_NONNULL(2) PyObject * PyArray_GetField \
     168             :        (PyArrayObject *, PyArray_Descr *, int);
     169             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) NPY_GCC_NONNULL(2) int PyArray_SetField \
     170             :        (PyArrayObject *, PyArray_Descr *, int, PyObject *);
     171             : NPY_NO_EXPORT  PyObject * PyArray_Byteswap \
     172             :        (PyArrayObject *, npy_bool);
     173             : NPY_NO_EXPORT  PyObject * PyArray_Resize \
     174             :        (PyArrayObject *, PyArray_Dims *, int, NPY_ORDER NPY_UNUSED(order));
     175             : NPY_NO_EXPORT  int PyArray_MoveInto \
     176             :        (PyArrayObject *, PyArrayObject *);
     177             : NPY_NO_EXPORT  int PyArray_CopyInto \
     178             :        (PyArrayObject *, PyArrayObject *);
     179             : NPY_NO_EXPORT  int PyArray_CopyAnyInto \
     180             :        (PyArrayObject *, PyArrayObject *);
     181             : NPY_NO_EXPORT  int PyArray_CopyObject \
     182             :        (PyArrayObject *, PyObject *);
     183             : NPY_NO_EXPORT NPY_GCC_NONNULL(1) PyObject * PyArray_NewCopy \
     184             :        (PyArrayObject *, NPY_ORDER);
     185             : NPY_NO_EXPORT  PyObject * PyArray_ToList \
     186             :        (PyArrayObject *);
     187             : NPY_NO_EXPORT  PyObject * PyArray_ToString \
     188             :        (PyArrayObject *, NPY_ORDER);
     189             : NPY_NO_EXPORT  int PyArray_ToFile \
     190             :        (PyArrayObject *, FILE *, char *, char *);
     191             : NPY_NO_EXPORT  int PyArray_Dump \
     192             :        (PyObject *, PyObject *, int);
     193             : NPY_NO_EXPORT  PyObject * PyArray_Dumps \
     194             :        (PyObject *, int);
     195             : NPY_NO_EXPORT  int PyArray_ValidType \
     196             :        (int);
     197             : NPY_NO_EXPORT  void PyArray_UpdateFlags \
     198             :        (PyArrayObject *, int);
     199             : NPY_NO_EXPORT NPY_GCC_NONNULL(1) PyObject * PyArray_New \
     200             :        (PyTypeObject *, int, npy_intp const *, int, npy_intp const *, void *, int, int, PyObject *);
     201             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) NPY_GCC_NONNULL(1) NPY_GCC_NONNULL(2) PyObject * PyArray_NewFromDescr \
     202             :        (PyTypeObject *, PyArray_Descr *, int, npy_intp const *, npy_intp const *, void *, int, PyObject *);
     203             : NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrNew \
     204             :        (PyArray_Descr *);
     205             : NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrNewFromType \
     206             :        (int);
     207             : NPY_NO_EXPORT  double PyArray_GetPriority \
     208             :        (PyObject *, double);
     209             : NPY_NO_EXPORT  PyObject * PyArray_IterNew \
     210             :        (PyObject *);
     211             : NPY_NO_EXPORT  PyObject* PyArray_MultiIterNew \
     212             :        (int, ...);
     213             : NPY_NO_EXPORT  int PyArray_PyIntAsInt \
     214             :        (PyObject *);
     215             : NPY_NO_EXPORT  npy_intp PyArray_PyIntAsIntp \
     216             :        (PyObject *);
     217             : NPY_NO_EXPORT  int PyArray_Broadcast \
     218             :        (PyArrayMultiIterObject *);
     219             : NPY_NO_EXPORT  void PyArray_FillObjectArray \
     220             :        (PyArrayObject *, PyObject *);
     221             : NPY_NO_EXPORT  int PyArray_FillWithScalar \
     222             :        (PyArrayObject *, PyObject *);
     223             : NPY_NO_EXPORT  npy_bool PyArray_CheckStrides \
     224             :        (int, int, npy_intp, npy_intp, npy_intp *, npy_intp *);
     225             : NPY_NO_EXPORT  PyArray_Descr * PyArray_DescrNewByteorder \
     226             :        (PyArray_Descr *, char);
     227             : NPY_NO_EXPORT  PyObject * PyArray_IterAllButAxis \
     228             :        (PyObject *, int *);
     229             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) PyObject * PyArray_CheckFromAny \
     230             :        (PyObject *, PyArray_Descr *, int, int, int, PyObject *);
     231             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) PyObject * PyArray_FromArray \
     232             :        (PyArrayObject *, PyArray_Descr *, int);
     233             : NPY_NO_EXPORT  PyObject * PyArray_FromInterface \
     234             :        (PyObject *);
     235             : NPY_NO_EXPORT  PyObject * PyArray_FromStructInterface \
     236             :        (PyObject *);
     237             : NPY_NO_EXPORT  PyObject * PyArray_FromArrayAttr \
     238             :        (PyObject *, PyArray_Descr *, PyObject *);
     239             : NPY_NO_EXPORT  NPY_SCALARKIND PyArray_ScalarKind \
     240             :        (int, PyArrayObject **);
     241             : NPY_NO_EXPORT  int PyArray_CanCoerceScalar \
     242             :        (int, int, NPY_SCALARKIND);
     243             : NPY_NO_EXPORT  PyObject * PyArray_NewFlagsObject \
     244             :        (PyObject *);
     245             : NPY_NO_EXPORT  npy_bool PyArray_CanCastScalar \
     246             :        (PyTypeObject *, PyTypeObject *);
     247             : NPY_NO_EXPORT  int PyArray_CompareUCS4 \
     248             :        (npy_ucs4 *, npy_ucs4 *, size_t);
     249             : NPY_NO_EXPORT  int PyArray_RemoveSmallest \
     250             :        (PyArrayMultiIterObject *);
     251             : NPY_NO_EXPORT  int PyArray_ElementStrides \
     252             :        (PyObject *);
     253             : NPY_NO_EXPORT  void PyArray_Item_INCREF \
     254             :        (char *, PyArray_Descr *);
     255             : NPY_NO_EXPORT  void PyArray_Item_XDECREF \
     256             :        (char *, PyArray_Descr *);
     257             : NPY_NO_EXPORT  PyObject * PyArray_FieldNames \
     258             :        (PyObject *);
     259             : NPY_NO_EXPORT  PyObject * PyArray_Transpose \
     260             :        (PyArrayObject *, PyArray_Dims *);
     261             : NPY_NO_EXPORT  PyObject * PyArray_TakeFrom \
     262             :        (PyArrayObject *, PyObject *, int, PyArrayObject *, NPY_CLIPMODE);
     263             : NPY_NO_EXPORT  PyObject * PyArray_PutTo \
     264             :        (PyArrayObject *, PyObject*, PyObject *, NPY_CLIPMODE);
     265             : NPY_NO_EXPORT  PyObject * PyArray_PutMask \
     266             :        (PyArrayObject *, PyObject*, PyObject*);
     267             : NPY_NO_EXPORT  PyObject * PyArray_Repeat \
     268             :        (PyArrayObject *, PyObject *, int);
     269             : NPY_NO_EXPORT  PyObject * PyArray_Choose \
     270             :        (PyArrayObject *, PyObject *, PyArrayObject *, NPY_CLIPMODE);
     271             : NPY_NO_EXPORT  int PyArray_Sort \
     272             :        (PyArrayObject *, int, NPY_SORTKIND);
     273             : NPY_NO_EXPORT  PyObject * PyArray_ArgSort \
     274             :        (PyArrayObject *, int, NPY_SORTKIND);
     275             : NPY_NO_EXPORT  PyObject * PyArray_SearchSorted \
     276             :        (PyArrayObject *, PyObject *, NPY_SEARCHSIDE, PyObject *);
     277             : NPY_NO_EXPORT  PyObject * PyArray_ArgMax \
     278             :        (PyArrayObject *, int, PyArrayObject *);
     279             : NPY_NO_EXPORT  PyObject * PyArray_ArgMin \
     280             :        (PyArrayObject *, int, PyArrayObject *);
     281             : NPY_NO_EXPORT  PyObject * PyArray_Reshape \
     282             :        (PyArrayObject *, PyObject *);
     283             : NPY_NO_EXPORT  PyObject * PyArray_Newshape \
     284             :        (PyArrayObject *, PyArray_Dims *, NPY_ORDER);
     285             : NPY_NO_EXPORT  PyObject * PyArray_Squeeze \
     286             :        (PyArrayObject *);
     287             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) PyObject * PyArray_View \
     288             :        (PyArrayObject *, PyArray_Descr *, PyTypeObject *);
     289             : NPY_NO_EXPORT  PyObject * PyArray_SwapAxes \
     290             :        (PyArrayObject *, int, int);
     291             : NPY_NO_EXPORT  PyObject * PyArray_Max \
     292             :        (PyArrayObject *, int, PyArrayObject *);
     293             : NPY_NO_EXPORT  PyObject * PyArray_Min \
     294             :        (PyArrayObject *, int, PyArrayObject *);
     295             : NPY_NO_EXPORT  PyObject * PyArray_Ptp \
     296             :        (PyArrayObject *, int, PyArrayObject *);
     297             : NPY_NO_EXPORT  PyObject * PyArray_Mean \
     298             :        (PyArrayObject *, int, int, PyArrayObject *);
     299             : NPY_NO_EXPORT  PyObject * PyArray_Trace \
     300             :        (PyArrayObject *, int, int, int, int, PyArrayObject *);
     301             : NPY_NO_EXPORT  PyObject * PyArray_Diagonal \
     302             :        (PyArrayObject *, int, int, int);
     303             : NPY_NO_EXPORT  PyObject * PyArray_Clip \
     304             :        (PyArrayObject *, PyObject *, PyObject *, PyArrayObject *);
     305             : NPY_NO_EXPORT  PyObject * PyArray_Conjugate \
     306             :        (PyArrayObject *, PyArrayObject *);
     307             : NPY_NO_EXPORT  PyObject * PyArray_Nonzero \
     308             :        (PyArrayObject *);
     309             : NPY_NO_EXPORT  PyObject * PyArray_Std \
     310             :        (PyArrayObject *, int, int, PyArrayObject *, int);
     311             : NPY_NO_EXPORT  PyObject * PyArray_Sum \
     312             :        (PyArrayObject *, int, int, PyArrayObject *);
     313             : NPY_NO_EXPORT  PyObject * PyArray_CumSum \
     314             :        (PyArrayObject *, int, int, PyArrayObject *);
     315             : NPY_NO_EXPORT  PyObject * PyArray_Prod \
     316             :        (PyArrayObject *, int, int, PyArrayObject *);
     317             : NPY_NO_EXPORT  PyObject * PyArray_CumProd \
     318             :        (PyArrayObject *, int, int, PyArrayObject *);
     319             : NPY_NO_EXPORT  PyObject * PyArray_All \
     320             :        (PyArrayObject *, int, PyArrayObject *);
     321             : NPY_NO_EXPORT  PyObject * PyArray_Any \
     322             :        (PyArrayObject *, int, PyArrayObject *);
     323             : NPY_NO_EXPORT  PyObject * PyArray_Compress \
     324             :        (PyArrayObject *, PyObject *, int, PyArrayObject *);
     325             : NPY_NO_EXPORT  PyObject * PyArray_Flatten \
     326             :        (PyArrayObject *, NPY_ORDER);
     327             : NPY_NO_EXPORT  PyObject * PyArray_Ravel \
     328             :        (PyArrayObject *, NPY_ORDER);
     329             : NPY_NO_EXPORT  npy_intp PyArray_MultiplyList \
     330             :        (npy_intp const *, int);
     331             : NPY_NO_EXPORT  int PyArray_MultiplyIntList \
     332             :        (int const *, int);
     333             : NPY_NO_EXPORT  void * PyArray_GetPtr \
     334             :        (PyArrayObject *, npy_intp const*);
     335             : NPY_NO_EXPORT  int PyArray_CompareLists \
     336             :        (npy_intp const *, npy_intp const *, int);
     337             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(5) int PyArray_AsCArray \
     338             :        (PyObject **, void *, npy_intp *, int, PyArray_Descr*);
     339             : NPY_NO_EXPORT  int PyArray_As1D \
     340             :        (PyObject **NPY_UNUSED(op), char **NPY_UNUSED(ptr), int *NPY_UNUSED(d1), int NPY_UNUSED(typecode));
     341             : NPY_NO_EXPORT  int PyArray_As2D \
     342             :        (PyObject **NPY_UNUSED(op), char ***NPY_UNUSED(ptr), int *NPY_UNUSED(d1), int *NPY_UNUSED(d2), int NPY_UNUSED(typecode));
     343             : NPY_NO_EXPORT  int PyArray_Free \
     344             :        (PyObject *, void *);
     345             : NPY_NO_EXPORT  int PyArray_Converter \
     346             :        (PyObject *, PyObject **);
     347             : NPY_NO_EXPORT  int PyArray_IntpFromSequence \
     348             :        (PyObject *, npy_intp *, int);
     349             : NPY_NO_EXPORT  PyObject * PyArray_Concatenate \
     350             :        (PyObject *, int);
     351             : NPY_NO_EXPORT  PyObject * PyArray_InnerProduct \
     352             :        (PyObject *, PyObject *);
     353             : NPY_NO_EXPORT  PyObject * PyArray_MatrixProduct \
     354             :        (PyObject *, PyObject *);
     355             : NPY_NO_EXPORT  PyObject * PyArray_CopyAndTranspose \
     356             :        (PyObject *);
     357             : NPY_NO_EXPORT  PyObject * PyArray_Correlate \
     358             :        (PyObject *, PyObject *, int);
     359             : NPY_NO_EXPORT  int PyArray_TypestrConvert \
     360             :        (int, int);
     361             : NPY_NO_EXPORT  int PyArray_DescrConverter \
     362             :        (PyObject *, PyArray_Descr **);
     363             : NPY_NO_EXPORT  int PyArray_DescrConverter2 \
     364             :        (PyObject *, PyArray_Descr **);
     365             : NPY_NO_EXPORT  int PyArray_IntpConverter \
     366             :        (PyObject *, PyArray_Dims *);
     367             : NPY_NO_EXPORT  int PyArray_BufferConverter \
     368             :        (PyObject *, PyArray_Chunk *);
     369             : NPY_NO_EXPORT  int PyArray_AxisConverter \
     370             :        (PyObject *, int *);
     371             : NPY_NO_EXPORT  int PyArray_BoolConverter \
     372             :        (PyObject *, npy_bool *);
     373             : NPY_NO_EXPORT  int PyArray_ByteorderConverter \
     374             :        (PyObject *, char *);
     375             : NPY_NO_EXPORT  int PyArray_OrderConverter \
     376             :        (PyObject *, NPY_ORDER *);
     377             : NPY_NO_EXPORT  unsigned char PyArray_EquivTypes \
     378             :        (PyArray_Descr *, PyArray_Descr *);
     379             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(3) PyObject * PyArray_Zeros \
     380             :        (int, npy_intp const *, PyArray_Descr *, int);
     381             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(3) PyObject * PyArray_Empty \
     382             :        (int, npy_intp const *, PyArray_Descr *, int);
     383             : NPY_NO_EXPORT  PyObject * PyArray_Where \
     384             :        (PyObject *, PyObject *, PyObject *);
     385             : NPY_NO_EXPORT  PyObject * PyArray_Arange \
     386             :        (double, double, double, int);
     387             : NPY_NO_EXPORT  PyObject * PyArray_ArangeObj \
     388             :        (PyObject *, PyObject *, PyObject *, PyArray_Descr *);
     389             : NPY_NO_EXPORT  int PyArray_SortkindConverter \
     390             :        (PyObject *, NPY_SORTKIND *);
     391             : NPY_NO_EXPORT  PyObject * PyArray_LexSort \
     392             :        (PyObject *, int);
     393             : NPY_NO_EXPORT  PyObject * PyArray_Round \
     394             :        (PyArrayObject *, int, PyArrayObject *);
     395             : NPY_NO_EXPORT  unsigned char PyArray_EquivTypenums \
     396             :        (int, int);
     397             : NPY_NO_EXPORT  int PyArray_RegisterDataType \
     398             :        (PyArray_Descr *);
     399             : NPY_NO_EXPORT  int PyArray_RegisterCastFunc \
     400             :        (PyArray_Descr *, int, PyArray_VectorUnaryFunc *);
     401             : NPY_NO_EXPORT  int PyArray_RegisterCanCast \
     402             :        (PyArray_Descr *, int, NPY_SCALARKIND);
     403             : NPY_NO_EXPORT  void PyArray_InitArrFuncs \
     404             :        (PyArray_ArrFuncs *);
     405             : NPY_NO_EXPORT  PyObject * PyArray_IntTupleFromIntp \
     406             :        (int, npy_intp *);
     407             : NPY_NO_EXPORT  int PyArray_TypeNumFromName \
     408             :        (char *);
     409             : NPY_NO_EXPORT  int PyArray_ClipmodeConverter \
     410             :        (PyObject *, NPY_CLIPMODE *);
     411             : NPY_NO_EXPORT  int PyArray_OutputConverter \
     412             :        (PyObject *, PyArrayObject **);
     413             : NPY_NO_EXPORT  PyObject * PyArray_BroadcastToShape \
     414             :        (PyObject *, npy_intp *, int);
     415             : NPY_NO_EXPORT  void _PyArray_SigintHandler \
     416             :        (int);
     417             : NPY_NO_EXPORT  void* _PyArray_GetSigintBuf \
     418             :        (void);
     419             : NPY_NO_EXPORT  int PyArray_DescrAlignConverter \
     420             :        (PyObject *, PyArray_Descr **);
     421             : NPY_NO_EXPORT  int PyArray_DescrAlignConverter2 \
     422             :        (PyObject *, PyArray_Descr **);
     423             : NPY_NO_EXPORT  int PyArray_SearchsideConverter \
     424             :        (PyObject *, void *);
     425             : NPY_NO_EXPORT  PyObject * PyArray_CheckAxis \
     426             :        (PyArrayObject *, int *, int);
     427             : NPY_NO_EXPORT  npy_intp PyArray_OverflowMultiplyList \
     428             :        (npy_intp *, int);
     429             : NPY_NO_EXPORT  int PyArray_CompareString \
     430             :        (const char *, const char *, size_t);
     431             : NPY_NO_EXPORT  PyObject* PyArray_MultiIterFromObjects \
     432             :        (PyObject **, int, int, ...);
     433             : NPY_NO_EXPORT  int PyArray_GetEndianness \
     434             :        (void);
     435             : NPY_NO_EXPORT  unsigned int PyArray_GetNDArrayCFeatureVersion \
     436             :        (void);
     437             : NPY_NO_EXPORT  PyObject * PyArray_Correlate2 \
     438             :        (PyObject *, PyObject *, int);
     439             : NPY_NO_EXPORT  PyObject* PyArray_NeighborhoodIterNew \
     440             :        (PyArrayIterObject *, const npy_intp *, int, PyArrayObject*);
     441             : extern NPY_NO_EXPORT PyTypeObject PyTimeIntegerArrType_Type;
     442             : 
     443             : extern NPY_NO_EXPORT PyTypeObject PyDatetimeArrType_Type;
     444             : 
     445             : extern NPY_NO_EXPORT PyTypeObject PyTimedeltaArrType_Type;
     446             : 
     447             : extern NPY_NO_EXPORT PyTypeObject PyHalfArrType_Type;
     448             : 
     449             : extern NPY_NO_EXPORT PyTypeObject NpyIter_Type;
     450             : 
     451             : NPY_NO_EXPORT  void PyArray_SetDatetimeParseFunction \
     452             :        (PyObject *NPY_UNUSED(op));
     453             : NPY_NO_EXPORT  void PyArray_DatetimeToDatetimeStruct \
     454             :        (npy_datetime NPY_UNUSED(val), NPY_DATETIMEUNIT NPY_UNUSED(fr), npy_datetimestruct *);
     455             : NPY_NO_EXPORT  void PyArray_TimedeltaToTimedeltaStruct \
     456             :        (npy_timedelta NPY_UNUSED(val), NPY_DATETIMEUNIT NPY_UNUSED(fr), npy_timedeltastruct *);
     457             : NPY_NO_EXPORT  npy_datetime PyArray_DatetimeStructToDatetime \
     458             :        (NPY_DATETIMEUNIT NPY_UNUSED(fr), npy_datetimestruct *NPY_UNUSED(d));
     459             : NPY_NO_EXPORT  npy_datetime PyArray_TimedeltaStructToTimedelta \
     460             :        (NPY_DATETIMEUNIT NPY_UNUSED(fr), npy_timedeltastruct *NPY_UNUSED(d));
     461             : NPY_NO_EXPORT  NpyIter * NpyIter_New \
     462             :        (PyArrayObject *, npy_uint32, NPY_ORDER, NPY_CASTING, PyArray_Descr*);
     463             : NPY_NO_EXPORT  NpyIter * NpyIter_MultiNew \
     464             :        (int, PyArrayObject **, npy_uint32, NPY_ORDER, NPY_CASTING, npy_uint32 *, PyArray_Descr **);
     465             : NPY_NO_EXPORT  NpyIter * NpyIter_AdvancedNew \
     466             :        (int, PyArrayObject **, npy_uint32, NPY_ORDER, NPY_CASTING, npy_uint32 *, PyArray_Descr **, int, int **, npy_intp *, npy_intp);
     467             : NPY_NO_EXPORT  NpyIter * NpyIter_Copy \
     468             :        (NpyIter *);
     469             : NPY_NO_EXPORT  int NpyIter_Deallocate \
     470             :        (NpyIter *);
     471             : NPY_NO_EXPORT  npy_bool NpyIter_HasDelayedBufAlloc \
     472             :        (NpyIter *);
     473             : NPY_NO_EXPORT  npy_bool NpyIter_HasExternalLoop \
     474             :        (NpyIter *);
     475             : NPY_NO_EXPORT  int NpyIter_EnableExternalLoop \
     476             :        (NpyIter *);
     477             : NPY_NO_EXPORT  npy_intp * NpyIter_GetInnerStrideArray \
     478             :        (NpyIter *);
     479             : NPY_NO_EXPORT  npy_intp * NpyIter_GetInnerLoopSizePtr \
     480             :        (NpyIter *);
     481             : NPY_NO_EXPORT  int NpyIter_Reset \
     482             :        (NpyIter *, char **);
     483             : NPY_NO_EXPORT  int NpyIter_ResetBasePointers \
     484             :        (NpyIter *, char **, char **);
     485             : NPY_NO_EXPORT  int NpyIter_ResetToIterIndexRange \
     486             :        (NpyIter *, npy_intp, npy_intp, char **);
     487             : NPY_NO_EXPORT  int NpyIter_GetNDim \
     488             :        (NpyIter *);
     489             : NPY_NO_EXPORT  int NpyIter_GetNOp \
     490             :        (NpyIter *);
     491             : NPY_NO_EXPORT  NpyIter_IterNextFunc * NpyIter_GetIterNext \
     492             :        (NpyIter *, char **);
     493             : NPY_NO_EXPORT  npy_intp NpyIter_GetIterSize \
     494             :        (NpyIter *);
     495             : NPY_NO_EXPORT  void NpyIter_GetIterIndexRange \
     496             :        (NpyIter *, npy_intp *, npy_intp *);
     497             : NPY_NO_EXPORT  npy_intp NpyIter_GetIterIndex \
     498             :        (NpyIter *);
     499             : NPY_NO_EXPORT  int NpyIter_GotoIterIndex \
     500             :        (NpyIter *, npy_intp);
     501             : NPY_NO_EXPORT  npy_bool NpyIter_HasMultiIndex \
     502             :        (NpyIter *);
     503             : NPY_NO_EXPORT  int NpyIter_GetShape \
     504             :        (NpyIter *, npy_intp *);
     505             : NPY_NO_EXPORT  NpyIter_GetMultiIndexFunc * NpyIter_GetGetMultiIndex \
     506             :        (NpyIter *, char **);
     507             : NPY_NO_EXPORT  int NpyIter_GotoMultiIndex \
     508             :        (NpyIter *, npy_intp const *);
     509             : NPY_NO_EXPORT  int NpyIter_RemoveMultiIndex \
     510             :        (NpyIter *);
     511             : NPY_NO_EXPORT  npy_bool NpyIter_HasIndex \
     512             :        (NpyIter *);
     513             : NPY_NO_EXPORT  npy_bool NpyIter_IsBuffered \
     514             :        (NpyIter *);
     515             : NPY_NO_EXPORT  npy_bool NpyIter_IsGrowInner \
     516             :        (NpyIter *);
     517             : NPY_NO_EXPORT  npy_intp NpyIter_GetBufferSize \
     518             :        (NpyIter *);
     519             : NPY_NO_EXPORT  npy_intp * NpyIter_GetIndexPtr \
     520             :        (NpyIter *);
     521             : NPY_NO_EXPORT  int NpyIter_GotoIndex \
     522             :        (NpyIter *, npy_intp);
     523             : NPY_NO_EXPORT  char ** NpyIter_GetDataPtrArray \
     524             :        (NpyIter *);
     525             : NPY_NO_EXPORT  PyArray_Descr ** NpyIter_GetDescrArray \
     526             :        (NpyIter *);
     527             : NPY_NO_EXPORT  PyArrayObject ** NpyIter_GetOperandArray \
     528             :        (NpyIter *);
     529             : NPY_NO_EXPORT  PyArrayObject * NpyIter_GetIterView \
     530             :        (NpyIter *, npy_intp);
     531             : NPY_NO_EXPORT  void NpyIter_GetReadFlags \
     532             :        (NpyIter *, char *);
     533             : NPY_NO_EXPORT  void NpyIter_GetWriteFlags \
     534             :        (NpyIter *, char *);
     535             : NPY_NO_EXPORT  void NpyIter_DebugPrint \
     536             :        (NpyIter *);
     537             : NPY_NO_EXPORT  npy_bool NpyIter_IterationNeedsAPI \
     538             :        (NpyIter *);
     539             : NPY_NO_EXPORT  void NpyIter_GetInnerFixedStrideArray \
     540             :        (NpyIter *, npy_intp *);
     541             : NPY_NO_EXPORT  int NpyIter_RemoveAxis \
     542             :        (NpyIter *, int);
     543             : NPY_NO_EXPORT  npy_intp * NpyIter_GetAxisStrideArray \
     544             :        (NpyIter *, int);
     545             : NPY_NO_EXPORT  npy_bool NpyIter_RequiresBuffering \
     546             :        (NpyIter *);
     547             : NPY_NO_EXPORT  char ** NpyIter_GetInitialDataPtrArray \
     548             :        (NpyIter *);
     549             : NPY_NO_EXPORT  int NpyIter_CreateCompatibleStrides \
     550             :        (NpyIter *, npy_intp, npy_intp *);
     551             : NPY_NO_EXPORT  int PyArray_CastingConverter \
     552             :        (PyObject *, NPY_CASTING *);
     553             : NPY_NO_EXPORT  npy_intp PyArray_CountNonzero \
     554             :        (PyArrayObject *);
     555             : NPY_NO_EXPORT  PyArray_Descr * PyArray_PromoteTypes \
     556             :        (PyArray_Descr *, PyArray_Descr *);
     557             : NPY_NO_EXPORT  PyArray_Descr * PyArray_MinScalarType \
     558             :        (PyArrayObject *);
     559             : NPY_NO_EXPORT  PyArray_Descr * PyArray_ResultType \
     560             :        (npy_intp, PyArrayObject **, npy_intp, PyArray_Descr **);
     561             : NPY_NO_EXPORT  npy_bool PyArray_CanCastArrayTo \
     562             :        (PyArrayObject *, PyArray_Descr *, NPY_CASTING);
     563             : NPY_NO_EXPORT  npy_bool PyArray_CanCastTypeTo \
     564             :        (PyArray_Descr *, PyArray_Descr *, NPY_CASTING);
     565             : NPY_NO_EXPORT  PyArrayObject * PyArray_EinsteinSum \
     566             :        (char *, npy_intp, PyArrayObject **, PyArray_Descr *, NPY_ORDER, NPY_CASTING, PyArrayObject *);
     567             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(3) NPY_GCC_NONNULL(1) PyObject * PyArray_NewLikeArray \
     568             :        (PyArrayObject *, NPY_ORDER, PyArray_Descr *, int);
     569             : NPY_NO_EXPORT  int PyArray_GetArrayParamsFromObject \
     570             :        (PyObject *, PyArray_Descr *, npy_bool, PyArray_Descr **, int *, npy_intp *, PyArrayObject **, PyObject *);
     571             : NPY_NO_EXPORT  int PyArray_ConvertClipmodeSequence \
     572             :        (PyObject *, NPY_CLIPMODE *, int);
     573             : NPY_NO_EXPORT  PyObject * PyArray_MatrixProduct2 \
     574             :        (PyObject *, PyObject *, PyArrayObject*);
     575             : NPY_NO_EXPORT  npy_bool NpyIter_IsFirstVisit \
     576             :        (NpyIter *, int);
     577             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) int PyArray_SetBaseObject \
     578             :        (PyArrayObject *, PyObject *);
     579             : NPY_NO_EXPORT  void PyArray_CreateSortedStridePerm \
     580             :        (int, npy_intp const *, npy_stride_sort_item *);
     581             : NPY_NO_EXPORT  void PyArray_RemoveAxesInPlace \
     582             :        (PyArrayObject *, const npy_bool *);
     583             : NPY_NO_EXPORT  void PyArray_DebugPrint \
     584             :        (PyArrayObject *);
     585             : NPY_NO_EXPORT  int PyArray_FailUnlessWriteable \
     586             :        (PyArrayObject *, const char *);
     587             : NPY_NO_EXPORT NPY_STEALS_REF_TO_ARG(2) int PyArray_SetUpdateIfCopyBase \
     588             :        (PyArrayObject *, PyArrayObject *);
     589             : NPY_NO_EXPORT  void * PyDataMem_NEW \
     590             :        (size_t);
     591             : NPY_NO_EXPORT  void PyDataMem_FREE \
     592             :        (void *);
     593             : NPY_NO_EXPORT  void * PyDataMem_RENEW \
     594             :        (void *, size_t);
     595             : NPY_NO_EXPORT  PyDataMem_EventHookFunc * PyDataMem_SetEventHook \
     596             :        (PyDataMem_EventHookFunc *, void *, void **);
     597             : extern NPY_NO_EXPORT NPY_CASTING NPY_DEFAULT_ASSIGN_CASTING;
     598             : 
     599             : NPY_NO_EXPORT  void PyArray_MapIterSwapAxes \
     600             :        (PyArrayMapIterObject *, PyArrayObject **, int);
     601             : NPY_NO_EXPORT  PyObject * PyArray_MapIterArray \
     602             :        (PyArrayObject *, PyObject *);
     603             : NPY_NO_EXPORT  void PyArray_MapIterNext \
     604             :        (PyArrayMapIterObject *);
     605             : NPY_NO_EXPORT  int PyArray_Partition \
     606             :        (PyArrayObject *, PyArrayObject *, int, NPY_SELECTKIND);
     607             : NPY_NO_EXPORT  PyObject * PyArray_ArgPartition \
     608             :        (PyArrayObject *, PyArrayObject *, int, NPY_SELECTKIND);
     609             : NPY_NO_EXPORT  int PyArray_SelectkindConverter \
     610             :        (PyObject *, NPY_SELECTKIND *);
     611             : NPY_NO_EXPORT  void * PyDataMem_NEW_ZEROED \
     612             :        (size_t, size_t);
     613             : NPY_NO_EXPORT NPY_GCC_NONNULL(1) int PyArray_CheckAnyScalarExact \
     614             :        (PyObject *);
     615             : NPY_NO_EXPORT  PyObject * PyArray_MapIterArrayCopyIfOverlap \
     616             :        (PyArrayObject *, PyObject *, int, PyArrayObject *);
     617             : NPY_NO_EXPORT  int PyArray_ResolveWritebackIfCopy \
     618             :        (PyArrayObject *);
     619             : NPY_NO_EXPORT  int PyArray_SetWritebackIfCopyBase \
     620             :        (PyArrayObject *, PyArrayObject *);
     621             : 
     622             : #else
     623             : 
     624             : #if defined(PY_ARRAY_UNIQUE_SYMBOL)
     625             : #define PyArray_API PY_ARRAY_UNIQUE_SYMBOL
     626             : #endif
     627             : 
     628             : #if defined(NO_IMPORT) || defined(NO_IMPORT_ARRAY)
     629             : extern void **PyArray_API;
     630             : #else
     631             : #if defined(PY_ARRAY_UNIQUE_SYMBOL)
     632             : void **PyArray_API;
     633             : #else
     634             : static void **PyArray_API=NULL;
     635             : #endif
     636             : #endif
     637             : 
     638             : #define PyArray_GetNDArrayCVersion \
     639             :         (*(unsigned int (*)(void)) \
     640             :          PyArray_API[0])
     641             : #define PyBigArray_Type (*(PyTypeObject *)PyArray_API[1])
     642             : #define PyArray_Type (*(PyTypeObject *)PyArray_API[2])
     643             : #define PyArrayDescr_Type (*(PyTypeObject *)PyArray_API[3])
     644             : #define PyArrayFlags_Type (*(PyTypeObject *)PyArray_API[4])
     645             : #define PyArrayIter_Type (*(PyTypeObject *)PyArray_API[5])
     646             : #define PyArrayMultiIter_Type (*(PyTypeObject *)PyArray_API[6])
     647             : #define NPY_NUMUSERTYPES (*(int *)PyArray_API[7])
     648             : #define PyBoolArrType_Type (*(PyTypeObject *)PyArray_API[8])
     649             : #define _PyArrayScalar_BoolValues ((PyBoolScalarObject *)PyArray_API[9])
     650             : #define PyGenericArrType_Type (*(PyTypeObject *)PyArray_API[10])
     651             : #define PyNumberArrType_Type (*(PyTypeObject *)PyArray_API[11])
     652             : #define PyIntegerArrType_Type (*(PyTypeObject *)PyArray_API[12])
     653             : #define PySignedIntegerArrType_Type (*(PyTypeObject *)PyArray_API[13])
     654             : #define PyUnsignedIntegerArrType_Type (*(PyTypeObject *)PyArray_API[14])
     655             : #define PyInexactArrType_Type (*(PyTypeObject *)PyArray_API[15])
     656             : #define PyFloatingArrType_Type (*(PyTypeObject *)PyArray_API[16])
     657             : #define PyComplexFloatingArrType_Type (*(PyTypeObject *)PyArray_API[17])
     658             : #define PyFlexibleArrType_Type (*(PyTypeObject *)PyArray_API[18])
     659             : #define PyCharacterArrType_Type (*(PyTypeObject *)PyArray_API[19])
     660             : #define PyByteArrType_Type (*(PyTypeObject *)PyArray_API[20])
     661             : #define PyShortArrType_Type (*(PyTypeObject *)PyArray_API[21])
     662             : #define PyIntArrType_Type (*(PyTypeObject *)PyArray_API[22])
     663             : #define PyLongArrType_Type (*(PyTypeObject *)PyArray_API[23])
     664             : #define PyLongLongArrType_Type (*(PyTypeObject *)PyArray_API[24])
     665             : #define PyUByteArrType_Type (*(PyTypeObject *)PyArray_API[25])
     666             : #define PyUShortArrType_Type (*(PyTypeObject *)PyArray_API[26])
     667             : #define PyUIntArrType_Type (*(PyTypeObject *)PyArray_API[27])
     668             : #define PyULongArrType_Type (*(PyTypeObject *)PyArray_API[28])
     669             : #define PyULongLongArrType_Type (*(PyTypeObject *)PyArray_API[29])
     670             : #define PyFloatArrType_Type (*(PyTypeObject *)PyArray_API[30])
     671             : #define PyDoubleArrType_Type (*(PyTypeObject *)PyArray_API[31])
     672             : #define PyLongDoubleArrType_Type (*(PyTypeObject *)PyArray_API[32])
     673             : #define PyCFloatArrType_Type (*(PyTypeObject *)PyArray_API[33])
     674             : #define PyCDoubleArrType_Type (*(PyTypeObject *)PyArray_API[34])
     675             : #define PyCLongDoubleArrType_Type (*(PyTypeObject *)PyArray_API[35])
     676             : #define PyObjectArrType_Type (*(PyTypeObject *)PyArray_API[36])
     677             : #define PyStringArrType_Type (*(PyTypeObject *)PyArray_API[37])
     678             : #define PyUnicodeArrType_Type (*(PyTypeObject *)PyArray_API[38])
     679             : #define PyVoidArrType_Type (*(PyTypeObject *)PyArray_API[39])
     680             : #define PyArray_SetNumericOps \
     681             :         (*(int (*)(PyObject *)) \
     682             :          PyArray_API[40])
     683             : #define PyArray_GetNumericOps \
     684             :         (*(PyObject * (*)(void)) \
     685             :          PyArray_API[41])
     686             : #define PyArray_INCREF \
     687             :         (*(int (*)(PyArrayObject *)) \
     688             :          PyArray_API[42])
     689             : #define PyArray_XDECREF \
     690             :         (*(int (*)(PyArrayObject *)) \
     691             :          PyArray_API[43])
     692             : #define PyArray_SetStringFunction \
     693             :         (*(void (*)(PyObject *, int)) \
     694             :          PyArray_API[44])
     695             : #define PyArray_DescrFromType \
     696             :         (*(PyArray_Descr * (*)(int)) \
     697             :          PyArray_API[45])
     698             : #define PyArray_TypeObjectFromType \
     699             :         (*(PyObject * (*)(int)) \
     700             :          PyArray_API[46])
     701             : #define PyArray_Zero \
     702             :         (*(char * (*)(PyArrayObject *)) \
     703             :          PyArray_API[47])
     704             : #define PyArray_One \
     705             :         (*(char * (*)(PyArrayObject *)) \
     706             :          PyArray_API[48])
     707             : #define PyArray_CastToType \
     708             :         (*(PyObject * (*)(PyArrayObject *, PyArray_Descr *, int)) \
     709             :          PyArray_API[49])
     710             : #define PyArray_CastTo \
     711             :         (*(int (*)(PyArrayObject *, PyArrayObject *)) \
     712             :          PyArray_API[50])
     713             : #define PyArray_CastAnyTo \
     714             :         (*(int (*)(PyArrayObject *, PyArrayObject *)) \
     715             :          PyArray_API[51])
     716             : #define PyArray_CanCastSafely \
     717             :         (*(int (*)(int, int)) \
     718             :          PyArray_API[52])
     719             : #define PyArray_CanCastTo \
     720             :         (*(npy_bool (*)(PyArray_Descr *, PyArray_Descr *)) \
     721             :          PyArray_API[53])
     722             : #define PyArray_ObjectType \
     723             :         (*(int (*)(PyObject *, int)) \
     724             :          PyArray_API[54])
     725             : #define PyArray_DescrFromObject \
     726             :         (*(PyArray_Descr * (*)(PyObject *, PyArray_Descr *)) \
     727             :          PyArray_API[55])
     728             : #define PyArray_ConvertToCommonType \
     729             :         (*(PyArrayObject ** (*)(PyObject *, int *)) \
     730             :          PyArray_API[56])
     731             : #define PyArray_DescrFromScalar \
     732             :         (*(PyArray_Descr * (*)(PyObject *)) \
     733             :          PyArray_API[57])
     734             : #define PyArray_DescrFromTypeObject \
     735             :         (*(PyArray_Descr * (*)(PyObject *)) \
     736             :          PyArray_API[58])
     737             : #define PyArray_Size \
     738             :         (*(npy_intp (*)(PyObject *)) \
     739             :          PyArray_API[59])
     740             : #define PyArray_Scalar \
     741             :         (*(PyObject * (*)(void *, PyArray_Descr *, PyObject *)) \
     742             :          PyArray_API[60])
     743             : #define PyArray_FromScalar \
     744             :         (*(PyObject * (*)(PyObject *, PyArray_Descr *)) \
     745             :          PyArray_API[61])
     746             : #define PyArray_ScalarAsCtype \
     747             :         (*(void (*)(PyObject *, void *)) \
     748             :          PyArray_API[62])
     749             : #define PyArray_CastScalarToCtype \
     750             :         (*(int (*)(PyObject *, void *, PyArray_Descr *)) \
     751             :          PyArray_API[63])
     752             : #define PyArray_CastScalarDirect \
     753             :         (*(int (*)(PyObject *, PyArray_Descr *, void *, int)) \
     754             :          PyArray_API[64])
     755             : #define PyArray_ScalarFromObject \
     756             :         (*(PyObject * (*)(PyObject *)) \
     757             :          PyArray_API[65])
     758             : #define PyArray_GetCastFunc \
     759             :         (*(PyArray_VectorUnaryFunc * (*)(PyArray_Descr *, int)) \
     760             :          PyArray_API[66])
     761             : #define PyArray_FromDims \
     762             :         (*(PyObject * (*)(int NPY_UNUSED(nd), int *NPY_UNUSED(d), int NPY_UNUSED(type))) \
     763             :          PyArray_API[67])
     764             : #define PyArray_FromDimsAndDataAndDescr \
     765             :         (*(PyObject * (*)(int NPY_UNUSED(nd), int *NPY_UNUSED(d), PyArray_Descr *, char *NPY_UNUSED(data))) \
     766             :          PyArray_API[68])
     767             : #define PyArray_FromAny \
     768             :         (*(PyObject * (*)(PyObject *, PyArray_Descr *, int, int, int, PyObject *)) \
     769             :          PyArray_API[69])
     770             : #define PyArray_EnsureArray \
     771             :         (*(PyObject * (*)(PyObject *)) \
     772             :          PyArray_API[70])
     773             : #define PyArray_EnsureAnyArray \
     774             :         (*(PyObject * (*)(PyObject *)) \
     775             :          PyArray_API[71])
     776             : #define PyArray_FromFile \
     777             :         (*(PyObject * (*)(FILE *, PyArray_Descr *, npy_intp, char *)) \
     778             :          PyArray_API[72])
     779             : #define PyArray_FromString \
     780             :         (*(PyObject * (*)(char *, npy_intp, PyArray_Descr *, npy_intp, char *)) \
     781             :          PyArray_API[73])
     782             : #define PyArray_FromBuffer \
     783             :         (*(PyObject * (*)(PyObject *, PyArray_Descr *, npy_intp, npy_intp)) \
     784             :          PyArray_API[74])
     785             : #define PyArray_FromIter \
     786             :         (*(PyObject * (*)(PyObject *, PyArray_Descr *, npy_intp)) \
     787             :          PyArray_API[75])
     788             : #define PyArray_Return \
     789             :         (*(PyObject * (*)(PyArrayObject *)) \
     790             :          PyArray_API[76])
     791             : #define PyArray_GetField \
     792             :         (*(PyObject * (*)(PyArrayObject *, PyArray_Descr *, int)) \
     793             :          PyArray_API[77])
     794             : #define PyArray_SetField \
     795             :         (*(int (*)(PyArrayObject *, PyArray_Descr *, int, PyObject *)) \
     796             :          PyArray_API[78])
     797             : #define PyArray_Byteswap \
     798             :         (*(PyObject * (*)(PyArrayObject *, npy_bool)) \
     799             :          PyArray_API[79])
     800             : #define PyArray_Resize \
     801             :         (*(PyObject * (*)(PyArrayObject *, PyArray_Dims *, int, NPY_ORDER NPY_UNUSED(order))) \
     802             :          PyArray_API[80])
     803             : #define PyArray_MoveInto \
     804             :         (*(int (*)(PyArrayObject *, PyArrayObject *)) \
     805             :          PyArray_API[81])
     806             : #define PyArray_CopyInto \
     807             :         (*(int (*)(PyArrayObject *, PyArrayObject *)) \
     808             :          PyArray_API[82])
     809             : #define PyArray_CopyAnyInto \
     810             :         (*(int (*)(PyArrayObject *, PyArrayObject *)) \
     811             :          PyArray_API[83])
     812             : #define PyArray_CopyObject \
     813             :         (*(int (*)(PyArrayObject *, PyObject *)) \
     814             :          PyArray_API[84])
     815             : #define PyArray_NewCopy \
     816             :         (*(PyObject * (*)(PyArrayObject *, NPY_ORDER)) \
     817             :          PyArray_API[85])
     818             : #define PyArray_ToList \
     819             :         (*(PyObject * (*)(PyArrayObject *)) \
     820             :          PyArray_API[86])
     821             : #define PyArray_ToString \
     822             :         (*(PyObject * (*)(PyArrayObject *, NPY_ORDER)) \
     823             :          PyArray_API[87])
     824             : #define PyArray_ToFile \
     825             :         (*(int (*)(PyArrayObject *, FILE *, char *, char *)) \
     826             :          PyArray_API[88])
     827             : #define PyArray_Dump \
     828             :         (*(int (*)(PyObject *, PyObject *, int)) \
     829             :          PyArray_API[89])
     830             : #define PyArray_Dumps \
     831             :         (*(PyObject * (*)(PyObject *, int)) \
     832             :          PyArray_API[90])
     833             : #define PyArray_ValidType \
     834             :         (*(int (*)(int)) \
     835             :          PyArray_API[91])
     836             : #define PyArray_UpdateFlags \
     837             :         (*(void (*)(PyArrayObject *, int)) \
     838             :          PyArray_API[92])
     839             : #define PyArray_New \
     840             :         (*(PyObject * (*)(PyTypeObject *, int, npy_intp const *, int, npy_intp const *, void *, int, int, PyObject *)) \
     841             :          PyArray_API[93])
     842             : #define PyArray_NewFromDescr \
     843             :         (*(PyObject * (*)(PyTypeObject *, PyArray_Descr *, int, npy_intp const *, npy_intp const *, void *, int, PyObject *)) \
     844             :          PyArray_API[94])
     845             : #define PyArray_DescrNew \
     846             :         (*(PyArray_Descr * (*)(PyArray_Descr *)) \
     847             :          PyArray_API[95])
     848             : #define PyArray_DescrNewFromType \
     849             :         (*(PyArray_Descr * (*)(int)) \
     850             :          PyArray_API[96])
     851             : #define PyArray_GetPriority \
     852             :         (*(double (*)(PyObject *, double)) \
     853             :          PyArray_API[97])
     854             : #define PyArray_IterNew \
     855             :         (*(PyObject * (*)(PyObject *)) \
     856             :          PyArray_API[98])
     857             : #define PyArray_MultiIterNew \
     858             :         (*(PyObject* (*)(int, ...)) \
     859             :          PyArray_API[99])
     860             : #define PyArray_PyIntAsInt \
     861             :         (*(int (*)(PyObject *)) \
     862             :          PyArray_API[100])
     863             : #define PyArray_PyIntAsIntp \
     864             :         (*(npy_intp (*)(PyObject *)) \
     865             :          PyArray_API[101])
     866             : #define PyArray_Broadcast \
     867             :         (*(int (*)(PyArrayMultiIterObject *)) \
     868             :          PyArray_API[102])
     869             : #define PyArray_FillObjectArray \
     870             :         (*(void (*)(PyArrayObject *, PyObject *)) \
     871             :          PyArray_API[103])
     872             : #define PyArray_FillWithScalar \
     873             :         (*(int (*)(PyArrayObject *, PyObject *)) \
     874             :          PyArray_API[104])
     875             : #define PyArray_CheckStrides \
     876             :         (*(npy_bool (*)(int, int, npy_intp, npy_intp, npy_intp *, npy_intp *)) \
     877             :          PyArray_API[105])
     878             : #define PyArray_DescrNewByteorder \
     879             :         (*(PyArray_Descr * (*)(PyArray_Descr *, char)) \
     880             :          PyArray_API[106])
     881             : #define PyArray_IterAllButAxis \
     882             :         (*(PyObject * (*)(PyObject *, int *)) \
     883             :          PyArray_API[107])
     884             : #define PyArray_CheckFromAny \
     885             :         (*(PyObject * (*)(PyObject *, PyArray_Descr *, int, int, int, PyObject *)) \
     886             :          PyArray_API[108])
     887             : #define PyArray_FromArray \
     888             :         (*(PyObject * (*)(PyArrayObject *, PyArray_Descr *, int)) \
     889             :          PyArray_API[109])
     890             : #define PyArray_FromInterface \
     891             :         (*(PyObject * (*)(PyObject *)) \
     892             :          PyArray_API[110])
     893             : #define PyArray_FromStructInterface \
     894             :         (*(PyObject * (*)(PyObject *)) \
     895             :          PyArray_API[111])
     896             : #define PyArray_FromArrayAttr \
     897             :         (*(PyObject * (*)(PyObject *, PyArray_Descr *, PyObject *)) \
     898             :          PyArray_API[112])
     899             : #define PyArray_ScalarKind \
     900             :         (*(NPY_SCALARKIND (*)(int, PyArrayObject **)) \
     901             :          PyArray_API[113])
     902             : #define PyArray_CanCoerceScalar \
     903             :         (*(int (*)(int, int, NPY_SCALARKIND)) \
     904             :          PyArray_API[114])
     905             : #define PyArray_NewFlagsObject \
     906             :         (*(PyObject * (*)(PyObject *)) \
     907             :          PyArray_API[115])
     908             : #define PyArray_CanCastScalar \
     909             :         (*(npy_bool (*)(PyTypeObject *, PyTypeObject *)) \
     910             :          PyArray_API[116])
     911             : #define PyArray_CompareUCS4 \
     912             :         (*(int (*)(npy_ucs4 *, npy_ucs4 *, size_t)) \
     913             :          PyArray_API[117])
     914             : #define PyArray_RemoveSmallest \
     915             :         (*(int (*)(PyArrayMultiIterObject *)) \
     916             :          PyArray_API[118])
     917             : #define PyArray_ElementStrides \
     918             :         (*(int (*)(PyObject *)) \
     919             :          PyArray_API[119])
     920             : #define PyArray_Item_INCREF \
     921             :         (*(void (*)(char *, PyArray_Descr *)) \
     922             :          PyArray_API[120])
     923             : #define PyArray_Item_XDECREF \
     924             :         (*(void (*)(char *, PyArray_Descr *)) \
     925             :          PyArray_API[121])
     926             : #define PyArray_FieldNames \
     927             :         (*(PyObject * (*)(PyObject *)) \
     928             :          PyArray_API[122])
     929             : #define PyArray_Transpose \
     930             :         (*(PyObject * (*)(PyArrayObject *, PyArray_Dims *)) \
     931             :          PyArray_API[123])
     932             : #define PyArray_TakeFrom \
     933             :         (*(PyObject * (*)(PyArrayObject *, PyObject *, int, PyArrayObject *, NPY_CLIPMODE)) \
     934             :          PyArray_API[124])
     935             : #define PyArray_PutTo \
     936             :         (*(PyObject * (*)(PyArrayObject *, PyObject*, PyObject *, NPY_CLIPMODE)) \
     937             :          PyArray_API[125])
     938             : #define PyArray_PutMask \
     939             :         (*(PyObject * (*)(PyArrayObject *, PyObject*, PyObject*)) \
     940             :          PyArray_API[126])
     941             : #define PyArray_Repeat \
     942             :         (*(PyObject * (*)(PyArrayObject *, PyObject *, int)) \
     943             :          PyArray_API[127])
     944             : #define PyArray_Choose \
     945             :         (*(PyObject * (*)(PyArrayObject *, PyObject *, PyArrayObject *, NPY_CLIPMODE)) \
     946             :          PyArray_API[128])
     947             : #define PyArray_Sort \
     948             :         (*(int (*)(PyArrayObject *, int, NPY_SORTKIND)) \
     949             :          PyArray_API[129])
     950             : #define PyArray_ArgSort \
     951             :         (*(PyObject * (*)(PyArrayObject *, int, NPY_SORTKIND)) \
     952             :          PyArray_API[130])
     953             : #define PyArray_SearchSorted \
     954             :         (*(PyObject * (*)(PyArrayObject *, PyObject *, NPY_SEARCHSIDE, PyObject *)) \
     955             :          PyArray_API[131])
     956             : #define PyArray_ArgMax \
     957             :         (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
     958             :          PyArray_API[132])
     959             : #define PyArray_ArgMin \
     960             :         (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
     961             :          PyArray_API[133])
     962             : #define PyArray_Reshape \
     963             :         (*(PyObject * (*)(PyArrayObject *, PyObject *)) \
     964             :          PyArray_API[134])
     965             : #define PyArray_Newshape \
     966             :         (*(PyObject * (*)(PyArrayObject *, PyArray_Dims *, NPY_ORDER)) \
     967             :          PyArray_API[135])
     968             : #define PyArray_Squeeze \
     969             :         (*(PyObject * (*)(PyArrayObject *)) \
     970             :          PyArray_API[136])
     971             : #define PyArray_View \
     972             :         (*(PyObject * (*)(PyArrayObject *, PyArray_Descr *, PyTypeObject *)) \
     973             :          PyArray_API[137])
     974             : #define PyArray_SwapAxes \
     975             :         (*(PyObject * (*)(PyArrayObject *, int, int)) \
     976             :          PyArray_API[138])
     977             : #define PyArray_Max \
     978             :         (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
     979             :          PyArray_API[139])
     980             : #define PyArray_Min \
     981             :         (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
     982             :          PyArray_API[140])
     983             : #define PyArray_Ptp \
     984             :         (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
     985             :          PyArray_API[141])
     986             : #define PyArray_Mean \
     987             :         (*(PyObject * (*)(PyArrayObject *, int, int, PyArrayObject *)) \
     988             :          PyArray_API[142])
     989             : #define PyArray_Trace \
     990             :         (*(PyObject * (*)(PyArrayObject *, int, int, int, int, PyArrayObject *)) \
     991             :          PyArray_API[143])
     992             : #define PyArray_Diagonal \
     993             :         (*(PyObject * (*)(PyArrayObject *, int, int, int)) \
     994             :          PyArray_API[144])
     995             : #define PyArray_Clip \
     996             :         (*(PyObject * (*)(PyArrayObject *, PyObject *, PyObject *, PyArrayObject *)) \
     997             :          PyArray_API[145])
     998             : #define PyArray_Conjugate \
     999             :         (*(PyObject * (*)(PyArrayObject *, PyArrayObject *)) \
    1000             :          PyArray_API[146])
    1001             : #define PyArray_Nonzero \
    1002             :         (*(PyObject * (*)(PyArrayObject *)) \
    1003             :          PyArray_API[147])
    1004             : #define PyArray_Std \
    1005             :         (*(PyObject * (*)(PyArrayObject *, int, int, PyArrayObject *, int)) \
    1006             :          PyArray_API[148])
    1007             : #define PyArray_Sum \
    1008             :         (*(PyObject * (*)(PyArrayObject *, int, int, PyArrayObject *)) \
    1009             :          PyArray_API[149])
    1010             : #define PyArray_CumSum \
    1011             :         (*(PyObject * (*)(PyArrayObject *, int, int, PyArrayObject *)) \
    1012             :          PyArray_API[150])
    1013             : #define PyArray_Prod \
    1014             :         (*(PyObject * (*)(PyArrayObject *, int, int, PyArrayObject *)) \
    1015             :          PyArray_API[151])
    1016             : #define PyArray_CumProd \
    1017             :         (*(PyObject * (*)(PyArrayObject *, int, int, PyArrayObject *)) \
    1018             :          PyArray_API[152])
    1019             : #define PyArray_All \
    1020             :         (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
    1021             :          PyArray_API[153])
    1022             : #define PyArray_Any \
    1023             :         (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
    1024             :          PyArray_API[154])
    1025             : #define PyArray_Compress \
    1026             :         (*(PyObject * (*)(PyArrayObject *, PyObject *, int, PyArrayObject *)) \
    1027             :          PyArray_API[155])
    1028             : #define PyArray_Flatten \
    1029             :         (*(PyObject * (*)(PyArrayObject *, NPY_ORDER)) \
    1030             :          PyArray_API[156])
    1031             : #define PyArray_Ravel \
    1032             :         (*(PyObject * (*)(PyArrayObject *, NPY_ORDER)) \
    1033             :          PyArray_API[157])
    1034             : #define PyArray_MultiplyList \
    1035             :         (*(npy_intp (*)(npy_intp const *, int)) \
    1036             :          PyArray_API[158])
    1037             : #define PyArray_MultiplyIntList \
    1038             :         (*(int (*)(int const *, int)) \
    1039             :          PyArray_API[159])
    1040             : #define PyArray_GetPtr \
    1041             :         (*(void * (*)(PyArrayObject *, npy_intp const*)) \
    1042             :          PyArray_API[160])
    1043             : #define PyArray_CompareLists \
    1044             :         (*(int (*)(npy_intp const *, npy_intp const *, int)) \
    1045             :          PyArray_API[161])
    1046             : #define PyArray_AsCArray \
    1047             :         (*(int (*)(PyObject **, void *, npy_intp *, int, PyArray_Descr*)) \
    1048             :          PyArray_API[162])
    1049             : #define PyArray_As1D \
    1050             :         (*(int (*)(PyObject **NPY_UNUSED(op), char **NPY_UNUSED(ptr), int *NPY_UNUSED(d1), int NPY_UNUSED(typecode))) \
    1051             :          PyArray_API[163])
    1052             : #define PyArray_As2D \
    1053             :         (*(int (*)(PyObject **NPY_UNUSED(op), char ***NPY_UNUSED(ptr), int *NPY_UNUSED(d1), int *NPY_UNUSED(d2), int NPY_UNUSED(typecode))) \
    1054             :          PyArray_API[164])
    1055             : #define PyArray_Free \
    1056             :         (*(int (*)(PyObject *, void *)) \
    1057             :          PyArray_API[165])
    1058             : #define PyArray_Converter \
    1059             :         (*(int (*)(PyObject *, PyObject **)) \
    1060             :          PyArray_API[166])
    1061             : #define PyArray_IntpFromSequence \
    1062             :         (*(int (*)(PyObject *, npy_intp *, int)) \
    1063             :          PyArray_API[167])
    1064             : #define PyArray_Concatenate \
    1065             :         (*(PyObject * (*)(PyObject *, int)) \
    1066             :          PyArray_API[168])
    1067             : #define PyArray_InnerProduct \
    1068             :         (*(PyObject * (*)(PyObject *, PyObject *)) \
    1069             :          PyArray_API[169])
    1070             : #define PyArray_MatrixProduct \
    1071             :         (*(PyObject * (*)(PyObject *, PyObject *)) \
    1072             :          PyArray_API[170])
    1073             : #define PyArray_CopyAndTranspose \
    1074             :         (*(PyObject * (*)(PyObject *)) \
    1075             :          PyArray_API[171])
    1076             : #define PyArray_Correlate \
    1077             :         (*(PyObject * (*)(PyObject *, PyObject *, int)) \
    1078             :          PyArray_API[172])
    1079             : #define PyArray_TypestrConvert \
    1080             :         (*(int (*)(int, int)) \
    1081             :          PyArray_API[173])
    1082             : #define PyArray_DescrConverter \
    1083             :         (*(int (*)(PyObject *, PyArray_Descr **)) \
    1084             :          PyArray_API[174])
    1085             : #define PyArray_DescrConverter2 \
    1086             :         (*(int (*)(PyObject *, PyArray_Descr **)) \
    1087             :          PyArray_API[175])
    1088             : #define PyArray_IntpConverter \
    1089             :         (*(int (*)(PyObject *, PyArray_Dims *)) \
    1090             :          PyArray_API[176])
    1091             : #define PyArray_BufferConverter \
    1092             :         (*(int (*)(PyObject *, PyArray_Chunk *)) \
    1093             :          PyArray_API[177])
    1094             : #define PyArray_AxisConverter \
    1095             :         (*(int (*)(PyObject *, int *)) \
    1096             :          PyArray_API[178])
    1097             : #define PyArray_BoolConverter \
    1098             :         (*(int (*)(PyObject *, npy_bool *)) \
    1099             :          PyArray_API[179])
    1100             : #define PyArray_ByteorderConverter \
    1101             :         (*(int (*)(PyObject *, char *)) \
    1102             :          PyArray_API[180])
    1103             : #define PyArray_OrderConverter \
    1104             :         (*(int (*)(PyObject *, NPY_ORDER *)) \
    1105             :          PyArray_API[181])
    1106             : #define PyArray_EquivTypes \
    1107             :         (*(unsigned char (*)(PyArray_Descr *, PyArray_Descr *)) \
    1108             :          PyArray_API[182])
    1109             : #define PyArray_Zeros \
    1110             :         (*(PyObject * (*)(int, npy_intp const *, PyArray_Descr *, int)) \
    1111             :          PyArray_API[183])
    1112             : #define PyArray_Empty \
    1113             :         (*(PyObject * (*)(int, npy_intp const *, PyArray_Descr *, int)) \
    1114             :          PyArray_API[184])
    1115             : #define PyArray_Where \
    1116             :         (*(PyObject * (*)(PyObject *, PyObject *, PyObject *)) \
    1117             :          PyArray_API[185])
    1118             : #define PyArray_Arange \
    1119             :         (*(PyObject * (*)(double, double, double, int)) \
    1120             :          PyArray_API[186])
    1121             : #define PyArray_ArangeObj \
    1122             :         (*(PyObject * (*)(PyObject *, PyObject *, PyObject *, PyArray_Descr *)) \
    1123             :          PyArray_API[187])
    1124             : #define PyArray_SortkindConverter \
    1125             :         (*(int (*)(PyObject *, NPY_SORTKIND *)) \
    1126             :          PyArray_API[188])
    1127             : #define PyArray_LexSort \
    1128             :         (*(PyObject * (*)(PyObject *, int)) \
    1129             :          PyArray_API[189])
    1130             : #define PyArray_Round \
    1131             :         (*(PyObject * (*)(PyArrayObject *, int, PyArrayObject *)) \
    1132             :          PyArray_API[190])
    1133             : #define PyArray_EquivTypenums \
    1134             :         (*(unsigned char (*)(int, int)) \
    1135             :          PyArray_API[191])
    1136             : #define PyArray_RegisterDataType \
    1137             :         (*(int (*)(PyArray_Descr *)) \
    1138             :          PyArray_API[192])
    1139             : #define PyArray_RegisterCastFunc \
    1140             :         (*(int (*)(PyArray_Descr *, int, PyArray_VectorUnaryFunc *)) \
    1141             :          PyArray_API[193])
    1142             : #define PyArray_RegisterCanCast \
    1143             :         (*(int (*)(PyArray_Descr *, int, NPY_SCALARKIND)) \
    1144             :          PyArray_API[194])
    1145             : #define PyArray_InitArrFuncs \
    1146             :         (*(void (*)(PyArray_ArrFuncs *)) \
    1147             :          PyArray_API[195])
    1148             : #define PyArray_IntTupleFromIntp \
    1149             :         (*(PyObject * (*)(int, npy_intp *)) \
    1150             :          PyArray_API[196])
    1151             : #define PyArray_TypeNumFromName \
    1152             :         (*(int (*)(char *)) \
    1153             :          PyArray_API[197])
    1154             : #define PyArray_ClipmodeConverter \
    1155             :         (*(int (*)(PyObject *, NPY_CLIPMODE *)) \
    1156             :          PyArray_API[198])
    1157             : #define PyArray_OutputConverter \
    1158             :         (*(int (*)(PyObject *, PyArrayObject **)) \
    1159             :          PyArray_API[199])
    1160             : #define PyArray_BroadcastToShape \
    1161             :         (*(PyObject * (*)(PyObject *, npy_intp *, int)) \
    1162             :          PyArray_API[200])
    1163             : #define _PyArray_SigintHandler \
    1164             :         (*(void (*)(int)) \
    1165             :          PyArray_API[201])
    1166             : #define _PyArray_GetSigintBuf \
    1167             :         (*(void* (*)(void)) \
    1168             :          PyArray_API[202])
    1169             : #define PyArray_DescrAlignConverter \
    1170             :         (*(int (*)(PyObject *, PyArray_Descr **)) \
    1171             :          PyArray_API[203])
    1172             : #define PyArray_DescrAlignConverter2 \
    1173             :         (*(int (*)(PyObject *, PyArray_Descr **)) \
    1174             :          PyArray_API[204])
    1175             : #define PyArray_SearchsideConverter \
    1176             :         (*(int (*)(PyObject *, void *)) \
    1177             :          PyArray_API[205])
    1178             : #define PyArray_CheckAxis \
    1179             :         (*(PyObject * (*)(PyArrayObject *, int *, int)) \
    1180             :          PyArray_API[206])
    1181             : #define PyArray_OverflowMultiplyList \
    1182             :         (*(npy_intp (*)(npy_intp *, int)) \
    1183             :          PyArray_API[207])
    1184             : #define PyArray_CompareString \
    1185             :         (*(int (*)(const char *, const char *, size_t)) \
    1186             :          PyArray_API[208])
    1187             : #define PyArray_MultiIterFromObjects \
    1188             :         (*(PyObject* (*)(PyObject **, int, int, ...)) \
    1189             :          PyArray_API[209])
    1190             : #define PyArray_GetEndianness \
    1191             :         (*(int (*)(void)) \
    1192             :          PyArray_API[210])
    1193             : #define PyArray_GetNDArrayCFeatureVersion \
    1194             :         (*(unsigned int (*)(void)) \
    1195             :          PyArray_API[211])
    1196             : #define PyArray_Correlate2 \
    1197             :         (*(PyObject * (*)(PyObject *, PyObject *, int)) \
    1198             :          PyArray_API[212])
    1199             : #define PyArray_NeighborhoodIterNew \
    1200             :         (*(PyObject* (*)(PyArrayIterObject *, const npy_intp *, int, PyArrayObject*)) \
    1201             :          PyArray_API[213])
    1202             : #define PyTimeIntegerArrType_Type (*(PyTypeObject *)PyArray_API[214])
    1203             : #define PyDatetimeArrType_Type (*(PyTypeObject *)PyArray_API[215])
    1204             : #define PyTimedeltaArrType_Type (*(PyTypeObject *)PyArray_API[216])
    1205             : #define PyHalfArrType_Type (*(PyTypeObject *)PyArray_API[217])
    1206             : #define NpyIter_Type (*(PyTypeObject *)PyArray_API[218])
    1207             : #define PyArray_SetDatetimeParseFunction \
    1208             :         (*(void (*)(PyObject *NPY_UNUSED(op))) \
    1209             :          PyArray_API[219])
    1210             : #define PyArray_DatetimeToDatetimeStruct \
    1211             :         (*(void (*)(npy_datetime NPY_UNUSED(val), NPY_DATETIMEUNIT NPY_UNUSED(fr), npy_datetimestruct *)) \
    1212             :          PyArray_API[220])
    1213             : #define PyArray_TimedeltaToTimedeltaStruct \
    1214             :         (*(void (*)(npy_timedelta NPY_UNUSED(val), NPY_DATETIMEUNIT NPY_UNUSED(fr), npy_timedeltastruct *)) \
    1215             :          PyArray_API[221])
    1216             : #define PyArray_DatetimeStructToDatetime \
    1217             :         (*(npy_datetime (*)(NPY_DATETIMEUNIT NPY_UNUSED(fr), npy_datetimestruct *NPY_UNUSED(d))) \
    1218             :          PyArray_API[222])
    1219             : #define PyArray_TimedeltaStructToTimedelta \
    1220             :         (*(npy_datetime (*)(NPY_DATETIMEUNIT NPY_UNUSED(fr), npy_timedeltastruct *NPY_UNUSED(d))) \
    1221             :          PyArray_API[223])
    1222             : #define NpyIter_New \
    1223             :         (*(NpyIter * (*)(PyArrayObject *, npy_uint32, NPY_ORDER, NPY_CASTING, PyArray_Descr*)) \
    1224             :          PyArray_API[224])
    1225             : #define NpyIter_MultiNew \
    1226             :         (*(NpyIter * (*)(int, PyArrayObject **, npy_uint32, NPY_ORDER, NPY_CASTING, npy_uint32 *, PyArray_Descr **)) \
    1227             :          PyArray_API[225])
    1228             : #define NpyIter_AdvancedNew \
    1229             :         (*(NpyIter * (*)(int, PyArrayObject **, npy_uint32, NPY_ORDER, NPY_CASTING, npy_uint32 *, PyArray_Descr **, int, int **, npy_intp *, npy_intp)) \
    1230             :          PyArray_API[226])
    1231             : #define NpyIter_Copy \
    1232             :         (*(NpyIter * (*)(NpyIter *)) \
    1233             :          PyArray_API[227])
    1234             : #define NpyIter_Deallocate \
    1235             :         (*(int (*)(NpyIter *)) \
    1236             :          PyArray_API[228])
    1237             : #define NpyIter_HasDelayedBufAlloc \
    1238             :         (*(npy_bool (*)(NpyIter *)) \
    1239             :          PyArray_API[229])
    1240             : #define NpyIter_HasExternalLoop \
    1241             :         (*(npy_bool (*)(NpyIter *)) \
    1242             :          PyArray_API[230])
    1243             : #define NpyIter_EnableExternalLoop \
    1244             :         (*(int (*)(NpyIter *)) \
    1245             :          PyArray_API[231])
    1246             : #define NpyIter_GetInnerStrideArray \
    1247             :         (*(npy_intp * (*)(NpyIter *)) \
    1248             :          PyArray_API[232])
    1249             : #define NpyIter_GetInnerLoopSizePtr \
    1250             :         (*(npy_intp * (*)(NpyIter *)) \
    1251             :          PyArray_API[233])
    1252             : #define NpyIter_Reset \
    1253             :         (*(int (*)(NpyIter *, char **)) \
    1254             :          PyArray_API[234])
    1255             : #define NpyIter_ResetBasePointers \
    1256             :         (*(int (*)(NpyIter *, char **, char **)) \
    1257             :          PyArray_API[235])
    1258             : #define NpyIter_ResetToIterIndexRange \
    1259             :         (*(int (*)(NpyIter *, npy_intp, npy_intp, char **)) \
    1260             :          PyArray_API[236])
    1261             : #define NpyIter_GetNDim \
    1262             :         (*(int (*)(NpyIter *)) \
    1263             :          PyArray_API[237])
    1264             : #define NpyIter_GetNOp \
    1265             :         (*(int (*)(NpyIter *)) \
    1266             :          PyArray_API[238])
    1267             : #define NpyIter_GetIterNext \
    1268             :         (*(NpyIter_IterNextFunc * (*)(NpyIter *, char **)) \
    1269             :          PyArray_API[239])
    1270             : #define NpyIter_GetIterSize \
    1271             :         (*(npy_intp (*)(NpyIter *)) \
    1272             :          PyArray_API[240])
    1273             : #define NpyIter_GetIterIndexRange \
    1274             :         (*(void (*)(NpyIter *, npy_intp *, npy_intp *)) \
    1275             :          PyArray_API[241])
    1276             : #define NpyIter_GetIterIndex \
    1277             :         (*(npy_intp (*)(NpyIter *)) \
    1278             :          PyArray_API[242])
    1279             : #define NpyIter_GotoIterIndex \
    1280             :         (*(int (*)(NpyIter *, npy_intp)) \
    1281             :          PyArray_API[243])
    1282             : #define NpyIter_HasMultiIndex \
    1283             :         (*(npy_bool (*)(NpyIter *)) \
    1284             :          PyArray_API[244])
    1285             : #define NpyIter_GetShape \
    1286             :         (*(int (*)(NpyIter *, npy_intp *)) \
    1287             :          PyArray_API[245])
    1288             : #define NpyIter_GetGetMultiIndex \
    1289             :         (*(NpyIter_GetMultiIndexFunc * (*)(NpyIter *, char **)) \
    1290             :          PyArray_API[246])
    1291             : #define NpyIter_GotoMultiIndex \
    1292             :         (*(int (*)(NpyIter *, npy_intp const *)) \
    1293             :          PyArray_API[247])
    1294             : #define NpyIter_RemoveMultiIndex \
    1295             :         (*(int (*)(NpyIter *)) \
    1296             :          PyArray_API[248])
    1297             : #define NpyIter_HasIndex \
    1298             :         (*(npy_bool (*)(NpyIter *)) \
    1299             :          PyArray_API[249])
    1300             : #define NpyIter_IsBuffered \
    1301             :         (*(npy_bool (*)(NpyIter *)) \
    1302             :          PyArray_API[250])
    1303             : #define NpyIter_IsGrowInner \
    1304             :         (*(npy_bool (*)(NpyIter *)) \
    1305             :          PyArray_API[251])
    1306             : #define NpyIter_GetBufferSize \
    1307             :         (*(npy_intp (*)(NpyIter *)) \
    1308             :          PyArray_API[252])
    1309             : #define NpyIter_GetIndexPtr \
    1310             :         (*(npy_intp * (*)(NpyIter *)) \
    1311             :          PyArray_API[253])
    1312             : #define NpyIter_GotoIndex \
    1313             :         (*(int (*)(NpyIter *, npy_intp)) \
    1314             :          PyArray_API[254])
    1315             : #define NpyIter_GetDataPtrArray \
    1316             :         (*(char ** (*)(NpyIter *)) \
    1317             :          PyArray_API[255])
    1318             : #define NpyIter_GetDescrArray \
    1319             :         (*(PyArray_Descr ** (*)(NpyIter *)) \
    1320             :          PyArray_API[256])
    1321             : #define NpyIter_GetOperandArray \
    1322             :         (*(PyArrayObject ** (*)(NpyIter *)) \
    1323             :          PyArray_API[257])
    1324             : #define NpyIter_GetIterView \
    1325             :         (*(PyArrayObject * (*)(NpyIter *, npy_intp)) \
    1326             :          PyArray_API[258])
    1327             : #define NpyIter_GetReadFlags \
    1328             :         (*(void (*)(NpyIter *, char *)) \
    1329             :          PyArray_API[259])
    1330             : #define NpyIter_GetWriteFlags \
    1331             :         (*(void (*)(NpyIter *, char *)) \
    1332             :          PyArray_API[260])
    1333             : #define NpyIter_DebugPrint \
    1334             :         (*(void (*)(NpyIter *)) \
    1335             :          PyArray_API[261])
    1336             : #define NpyIter_IterationNeedsAPI \
    1337             :         (*(npy_bool (*)(NpyIter *)) \
    1338             :          PyArray_API[262])
    1339             : #define NpyIter_GetInnerFixedStrideArray \
    1340             :         (*(void (*)(NpyIter *, npy_intp *)) \
    1341             :          PyArray_API[263])
    1342             : #define NpyIter_RemoveAxis \
    1343             :         (*(int (*)(NpyIter *, int)) \
    1344             :          PyArray_API[264])
    1345             : #define NpyIter_GetAxisStrideArray \
    1346             :         (*(npy_intp * (*)(NpyIter *, int)) \
    1347             :          PyArray_API[265])
    1348             : #define NpyIter_RequiresBuffering \
    1349             :         (*(npy_bool (*)(NpyIter *)) \
    1350             :          PyArray_API[266])
    1351             : #define NpyIter_GetInitialDataPtrArray \
    1352             :         (*(char ** (*)(NpyIter *)) \
    1353             :          PyArray_API[267])
    1354             : #define NpyIter_CreateCompatibleStrides \
    1355             :         (*(int (*)(NpyIter *, npy_intp, npy_intp *)) \
    1356             :          PyArray_API[268])
    1357             : #define PyArray_CastingConverter \
    1358             :         (*(int (*)(PyObject *, NPY_CASTING *)) \
    1359             :          PyArray_API[269])
    1360             : #define PyArray_CountNonzero \
    1361             :         (*(npy_intp (*)(PyArrayObject *)) \
    1362             :          PyArray_API[270])
    1363             : #define PyArray_PromoteTypes \
    1364             :         (*(PyArray_Descr * (*)(PyArray_Descr *, PyArray_Descr *)) \
    1365             :          PyArray_API[271])
    1366             : #define PyArray_MinScalarType \
    1367             :         (*(PyArray_Descr * (*)(PyArrayObject *)) \
    1368             :          PyArray_API[272])
    1369             : #define PyArray_ResultType \
    1370             :         (*(PyArray_Descr * (*)(npy_intp, PyArrayObject **, npy_intp, PyArray_Descr **)) \
    1371             :          PyArray_API[273])
    1372             : #define PyArray_CanCastArrayTo \
    1373             :         (*(npy_bool (*)(PyArrayObject *, PyArray_Descr *, NPY_CASTING)) \
    1374             :          PyArray_API[274])
    1375             : #define PyArray_CanCastTypeTo \
    1376             :         (*(npy_bool (*)(PyArray_Descr *, PyArray_Descr *, NPY_CASTING)) \
    1377             :          PyArray_API[275])
    1378             : #define PyArray_EinsteinSum \
    1379             :         (*(PyArrayObject * (*)(char *, npy_intp, PyArrayObject **, PyArray_Descr *, NPY_ORDER, NPY_CASTING, PyArrayObject *)) \
    1380             :          PyArray_API[276])
    1381             : #define PyArray_NewLikeArray \
    1382             :         (*(PyObject * (*)(PyArrayObject *, NPY_ORDER, PyArray_Descr *, int)) \
    1383             :          PyArray_API[277])
    1384             : #define PyArray_GetArrayParamsFromObject \
    1385             :         (*(int (*)(PyObject *, PyArray_Descr *, npy_bool, PyArray_Descr **, int *, npy_intp *, PyArrayObject **, PyObject *)) \
    1386             :          PyArray_API[278])
    1387             : #define PyArray_ConvertClipmodeSequence \
    1388             :         (*(int (*)(PyObject *, NPY_CLIPMODE *, int)) \
    1389             :          PyArray_API[279])
    1390             : #define PyArray_MatrixProduct2 \
    1391             :         (*(PyObject * (*)(PyObject *, PyObject *, PyArrayObject*)) \
    1392             :          PyArray_API[280])
    1393             : #define NpyIter_IsFirstVisit \
    1394             :         (*(npy_bool (*)(NpyIter *, int)) \
    1395             :          PyArray_API[281])
    1396             : #define PyArray_SetBaseObject \
    1397             :         (*(int (*)(PyArrayObject *, PyObject *)) \
    1398             :          PyArray_API[282])
    1399             : #define PyArray_CreateSortedStridePerm \
    1400             :         (*(void (*)(int, npy_intp const *, npy_stride_sort_item *)) \
    1401             :          PyArray_API[283])
    1402             : #define PyArray_RemoveAxesInPlace \
    1403             :         (*(void (*)(PyArrayObject *, const npy_bool *)) \
    1404             :          PyArray_API[284])
    1405             : #define PyArray_DebugPrint \
    1406             :         (*(void (*)(PyArrayObject *)) \
    1407             :          PyArray_API[285])
    1408             : #define PyArray_FailUnlessWriteable \
    1409             :         (*(int (*)(PyArrayObject *, const char *)) \
    1410             :          PyArray_API[286])
    1411             : #define PyArray_SetUpdateIfCopyBase \
    1412             :         (*(int (*)(PyArrayObject *, PyArrayObject *)) \
    1413             :          PyArray_API[287])
    1414             : #define PyDataMem_NEW \
    1415             :         (*(void * (*)(size_t)) \
    1416             :          PyArray_API[288])
    1417             : #define PyDataMem_FREE \
    1418             :         (*(void (*)(void *)) \
    1419             :          PyArray_API[289])
    1420             : #define PyDataMem_RENEW \
    1421             :         (*(void * (*)(void *, size_t)) \
    1422             :          PyArray_API[290])
    1423             : #define PyDataMem_SetEventHook \
    1424             :         (*(PyDataMem_EventHookFunc * (*)(PyDataMem_EventHookFunc *, void *, void **)) \
    1425             :          PyArray_API[291])
    1426             : #define NPY_DEFAULT_ASSIGN_CASTING (*(NPY_CASTING *)PyArray_API[292])
    1427             : #define PyArray_MapIterSwapAxes \
    1428             :         (*(void (*)(PyArrayMapIterObject *, PyArrayObject **, int)) \
    1429             :          PyArray_API[293])
    1430             : #define PyArray_MapIterArray \
    1431             :         (*(PyObject * (*)(PyArrayObject *, PyObject *)) \
    1432             :          PyArray_API[294])
    1433             : #define PyArray_MapIterNext \
    1434             :         (*(void (*)(PyArrayMapIterObject *)) \
    1435             :          PyArray_API[295])
    1436             : #define PyArray_Partition \
    1437             :         (*(int (*)(PyArrayObject *, PyArrayObject *, int, NPY_SELECTKIND)) \
    1438             :          PyArray_API[296])
    1439             : #define PyArray_ArgPartition \
    1440             :         (*(PyObject * (*)(PyArrayObject *, PyArrayObject *, int, NPY_SELECTKIND)) \
    1441             :          PyArray_API[297])
    1442             : #define PyArray_SelectkindConverter \
    1443             :         (*(int (*)(PyObject *, NPY_SELECTKIND *)) \
    1444             :          PyArray_API[298])
    1445             : #define PyDataMem_NEW_ZEROED \
    1446             :         (*(void * (*)(size_t, size_t)) \
    1447             :          PyArray_API[299])
    1448             : #define PyArray_CheckAnyScalarExact \
    1449             :         (*(int (*)(PyObject *)) \
    1450             :          PyArray_API[300])
    1451             : #define PyArray_MapIterArrayCopyIfOverlap \
    1452             :         (*(PyObject * (*)(PyArrayObject *, PyObject *, int, PyArrayObject *)) \
    1453             :          PyArray_API[301])
    1454             : #define PyArray_ResolveWritebackIfCopy \
    1455             :         (*(int (*)(PyArrayObject *)) \
    1456             :          PyArray_API[302])
    1457             : #define PyArray_SetWritebackIfCopyBase \
    1458             :         (*(int (*)(PyArrayObject *, PyArrayObject *)) \
    1459             :          PyArray_API[303])
    1460             : 
    1461             : #if !defined(NO_IMPORT_ARRAY) && !defined(NO_IMPORT)
    1462             : static int
    1463          48 : _import_array(void)
    1464             : {
    1465             :   int st;
    1466          48 :   PyObject *numpy = PyImport_ImportModule("numpy.core._multiarray_umath");
    1467             :   PyObject *c_api = NULL;
    1468             : 
    1469          48 :   if (numpy == NULL) {
    1470             :       return -1;
    1471             :   }
    1472          48 :   c_api = PyObject_GetAttrString(numpy, "_ARRAY_API");
    1473             :   Py_DECREF(numpy);
    1474          48 :   if (c_api == NULL) {
    1475           0 :       PyErr_SetString(PyExc_AttributeError, "_ARRAY_API not found");
    1476           0 :       return -1;
    1477             :   }
    1478             : 
    1479             : #if PY_VERSION_HEX >= 0x03000000
    1480          48 :   if (!PyCapsule_CheckExact(c_api)) {
    1481           0 :       PyErr_SetString(PyExc_RuntimeError, "_ARRAY_API is not PyCapsule object");
    1482             :       Py_DECREF(c_api);
    1483           0 :       return -1;
    1484             :   }
    1485          48 :   PyArray_API = (void **)PyCapsule_GetPointer(c_api, NULL);
    1486             : #else
    1487             :   if (!PyCObject_Check(c_api)) {
    1488             :       PyErr_SetString(PyExc_RuntimeError, "_ARRAY_API is not PyCObject object");
    1489             :       Py_DECREF(c_api);
    1490             :       return -1;
    1491             :   }
    1492             :   PyArray_API = (void **)PyCObject_AsVoidPtr(c_api);
    1493             : #endif
    1494             :   Py_DECREF(c_api);
    1495          48 :   if (PyArray_API == NULL) {
    1496           0 :       PyErr_SetString(PyExc_RuntimeError, "_ARRAY_API is NULL pointer");
    1497           0 :       return -1;
    1498             :   }
    1499             : 
    1500             :   /* Perform runtime check of C API version */
    1501          48 :   if (NPY_VERSION != PyArray_GetNDArrayCVersion()) {
    1502           0 :       PyErr_Format(PyExc_RuntimeError, "module compiled against "\
    1503             :              "ABI version 0x%x but this version of numpy is 0x%x", \
    1504           0 :              (int) NPY_VERSION, (int) PyArray_GetNDArrayCVersion());
    1505           0 :       return -1;
    1506             :   }
    1507          48 :   if (NPY_FEATURE_VERSION > PyArray_GetNDArrayCFeatureVersion()) {
    1508           0 :       PyErr_Format(PyExc_RuntimeError, "module compiled against "\
    1509             :              "API version 0x%x but this version of numpy is 0x%x", \
    1510           0 :              (int) NPY_FEATURE_VERSION, (int) PyArray_GetNDArrayCFeatureVersion());
    1511           0 :       return -1;
    1512             :   }
    1513             : 
    1514             :   /*
    1515             :    * Perform runtime check of endianness and check it matches the one set by
    1516             :    * the headers (npy_endian.h) as a safeguard
    1517             :    */
    1518          48 :   st = PyArray_GetEndianness();
    1519          48 :   if (st == NPY_CPU_UNKNOWN_ENDIAN) {
    1520           0 :       PyErr_Format(PyExc_RuntimeError, "FATAL: module compiled as unknown endian");
    1521           0 :       return -1;
    1522             :   }
    1523             : #if NPY_BYTE_ORDER == NPY_BIG_ENDIAN
    1524             :   if (st != NPY_CPU_BIG) {
    1525             :       PyErr_Format(PyExc_RuntimeError, "FATAL: module compiled as "\
    1526             :              "big endian, but detected different endianness at runtime");
    1527             :       return -1;
    1528             :   }
    1529             : #elif NPY_BYTE_ORDER == NPY_LITTLE_ENDIAN
    1530          48 :   if (st != NPY_CPU_LITTLE) {
    1531           0 :       PyErr_Format(PyExc_RuntimeError, "FATAL: module compiled as "\
    1532             :              "little endian, but detected different endianness at runtime");
    1533           0 :       return -1;
    1534             :   }
    1535             : #endif
    1536             : 
    1537             :   return 0;
    1538             : }
    1539             : 
    1540             : #if PY_VERSION_HEX >= 0x03000000
    1541             : #define NUMPY_IMPORT_ARRAY_RETVAL NULL
    1542             : #else
    1543             : #define NUMPY_IMPORT_ARRAY_RETVAL
    1544             : #endif
    1545             : 
    1546             : #define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NUMPY_IMPORT_ARRAY_RETVAL; } }
    1547             : 
    1548             : #define import_array1(ret) {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return ret; } }
    1549             : 
    1550             : #define import_array2(msg, ret) {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, msg); return ret; } }
    1551             : 
    1552             : #endif
    1553             : 
    1554             : #endif

Generated by: LCOV version 1.14