/* Generated by Cython 0.25.2 */

#ifndef __PYX_HAVE__pygpu__gpuarray
#define __PYX_HAVE__pygpu__gpuarray

struct PyGpuContextObject;
struct PyGpuArrayObject;
struct PyGpuKernelObject;

/* "pygpu/gpuarray.pxd":326
 *                                     object cls, GpuContext context)
 * 
 * cdef api class GpuContext [type PyGpuContextType, object PyGpuContextObject]:             # <<<<<<<<<<<<<<
 *     cdef dict __dict__
 *     cdef gpucontext* ctx
 */
struct PyGpuContextObject {
  PyObject_HEAD
  PyObject *__dict__;
  gpucontext *ctx;
  PyObject *kind;
  PyObject *__weakref__;
};

/* "pygpu/gpuarray.pxd":334
 * cdef GpuArray new_GpuArray(object cls, GpuContext ctx, object base)
 * 
 * cdef api class GpuArray [type PyGpuArrayType, object PyGpuArrayObject]:             # <<<<<<<<<<<<<<
 *     cdef _GpuArray ga
 *     cdef readonly GpuContext context
 */
struct PyGpuArrayObject {
  PyObject_HEAD
  struct __pyx_vtabstruct_5pygpu_8gpuarray_GpuArray *__pyx_vtab;
  GpuArray ga;
  struct PyGpuContextObject *context;
  PyObject *base;
  PyObject *__weakref__;
};

/* "pygpu/gpuarray.pxd":344
 *     cdef __cgetitem__(self, idx)
 * 
 * cdef api class GpuKernel [type PyGpuKernelType, object PyGpuKernelObject]:             # <<<<<<<<<<<<<<
 *     cdef _GpuKernel k
 *     cdef readonly GpuContext context
 */
struct PyGpuKernelObject {
  PyObject_HEAD
  struct __pyx_vtabstruct_5pygpu_8gpuarray_GpuKernel *__pyx_vtab;
  GpuKernel k;
  struct PyGpuContextObject *context;
  void **callbuf;
  PyObject *__weakref__;
};

#ifndef __PYX_HAVE_API__pygpu__gpuarray

#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

#endif /* !__PYX_HAVE_API__pygpu__gpuarray */

#if PY_MAJOR_VERSION < 3
PyMODINIT_FUNC initgpuarray(void);
#else
PyMODINIT_FUNC PyInit_gpuarray(void);
#endif

#endif /* !__PYX_HAVE__pygpu__gpuarray */
