/* Generated by Cython 0.29.32 */

#ifndef __PYX_HAVE__dpctl__tensor___usmarray
#define __PYX_HAVE__dpctl__tensor___usmarray

#include "Python.h"
struct PyUSMArrayObject;

/* "dpctl/tensor/_usmarray.pxd":46
 * 
 * 
 * cdef api class usm_ndarray [object PyUSMArrayObject, type PyUSMArrayType]:             # <<<<<<<<<<<<<<
 *     # data fields
 *     cdef char* data_
 */
struct PyUSMArrayObject {
  PyObject_HEAD
  struct __pyx_vtabstruct_5dpctl_6tensor_9_usmarray_usm_ndarray *__pyx_vtab;
  char *data_;
  int nd_;
  Py_ssize_t *shape_;
  Py_ssize_t *strides_;
  int typenum_;
  int flags_;
  PyObject *base_;
  PyObject *array_namespace_;
  PyObject *__weakref__;
};

#ifndef __PYX_HAVE_API__dpctl__tensor___usmarray

#ifndef __PYX_EXTERN_C
  #ifdef __cplusplus
    #define __PYX_EXTERN_C extern "C"
  #else
    #define __PYX_EXTERN_C extern
  #endif
#endif

#ifndef DL_IMPORT
  #define DL_IMPORT(_T) _T
#endif

__PYX_EXTERN_C int USM_ARRAY_C_CONTIGUOUS;
__PYX_EXTERN_C int USM_ARRAY_F_CONTIGUOUS;
__PYX_EXTERN_C int USM_ARRAY_WRITABLE;
__PYX_EXTERN_C int UAR_BOOL;
__PYX_EXTERN_C int UAR_BYTE;
__PYX_EXTERN_C int UAR_UBYTE;
__PYX_EXTERN_C int UAR_SHORT;
__PYX_EXTERN_C int UAR_USHORT;
__PYX_EXTERN_C int UAR_INT;
__PYX_EXTERN_C int UAR_UINT;
__PYX_EXTERN_C int UAR_LONG;
__PYX_EXTERN_C int UAR_ULONG;
__PYX_EXTERN_C int UAR_LONGLONG;
__PYX_EXTERN_C int UAR_ULONGLONG;
__PYX_EXTERN_C int UAR_FLOAT;
__PYX_EXTERN_C int UAR_DOUBLE;
__PYX_EXTERN_C int UAR_CFLOAT;
__PYX_EXTERN_C int UAR_CDOUBLE;
__PYX_EXTERN_C int UAR_TYPE_SENTINEL;
__PYX_EXTERN_C int UAR_HALF;

#endif /* !__PYX_HAVE_API__dpctl__tensor___usmarray */

/* WARNING: the interface of the module init function changed in CPython 3.5. */
/* It now returns a PyModuleDef instance instead of a PyModule instance. */

#if PY_MAJOR_VERSION < 3
PyMODINIT_FUNC init_usmarray(void);
#else
PyMODINIT_FUNC PyInit__usmarray(void);
#endif

#endif /* !__PYX_HAVE__dpctl__tensor___usmarray */
