/* Generated by Cython 0.29.13 */

#ifndef __PYX_HAVE__slepc4py__SLEPc
#define __PYX_HAVE__slepc4py__SLEPc

struct PySlepcSTObject;
struct PySlepcBVObject;
struct PySlepcDSObject;
struct PySlepcFNObject;
struct PySlepcRGObject;
struct PySlepcEPSObject;
struct PySlepcSVDObject;
struct PySlepcPEPObject;
struct PySlepcNEPObject;
struct PySlepcMFNObject;

/* "slepc4py/SLEPc.pxd":42
 * from petsc4py.PETSc cimport Object
 * 
 * ctypedef public api class ST(Object) [             # <<<<<<<<<<<<<<
 *     type   PySlepcST_Type,
 *     object PySlepcSTObject,
 */
struct PySlepcSTObject {
  struct PyPetscObjectObject __pyx_base;
  ST st;
};
typedef struct PySlepcSTObject PySlepcSTObject;

/* "slepc4py/SLEPc.pxd":48
 *     cdef SlepcST st
 * 
 * ctypedef public api class BV(Object) [             # <<<<<<<<<<<<<<
 *     type   PySlepcBV_Type,
 *     object PySlepcBVObject,
 */
struct PySlepcBVObject {
  struct PyPetscObjectObject __pyx_base;
  BV bv;
};
typedef struct PySlepcBVObject PySlepcBVObject;

/* "slepc4py/SLEPc.pxd":54
 *     cdef SlepcBV bv
 * 
 * ctypedef public api class DS(Object) [             # <<<<<<<<<<<<<<
 *     type   PySlepcDS_Type,
 *     object PySlepcDSObject,
 */
struct PySlepcDSObject {
  struct PyPetscObjectObject __pyx_base;
  DS ds;
};
typedef struct PySlepcDSObject PySlepcDSObject;

/* "slepc4py/SLEPc.pxd":60
 *     cdef SlepcDS ds
 * 
 * ctypedef public api class FN(Object) [             # <<<<<<<<<<<<<<
 *     type   PySlepcFN_Type,
 *     object PySlepcFNObject,
 */
struct PySlepcFNObject {
  struct PyPetscObjectObject __pyx_base;
  FN fn;
};
typedef struct PySlepcFNObject PySlepcFNObject;

/* "slepc4py/SLEPc.pxd":66
 *     cdef SlepcFN fn
 * 
 * ctypedef public api class RG(Object) [             # <<<<<<<<<<<<<<
 *     type   PySlepcRG_Type,
 *     object PySlepcRGObject,
 */
struct PySlepcRGObject {
  struct PyPetscObjectObject __pyx_base;
  RG rg;
};
typedef struct PySlepcRGObject PySlepcRGObject;

/* "slepc4py/SLEPc.pxd":72
 *     cdef SlepcRG rg
 * 
 * ctypedef public api class EPS(Object) [             # <<<<<<<<<<<<<<
 *     type PySlepcEPS_Type,
 *     object PySlepcEPSObject,
 */
struct PySlepcEPSObject {
  struct PyPetscObjectObject __pyx_base;
  EPS eps;
};
typedef struct PySlepcEPSObject PySlepcEPSObject;

/* "slepc4py/SLEPc.pxd":78
 *     cdef SlepcEPS eps
 * 
 * ctypedef public api class SVD(Object) [             # <<<<<<<<<<<<<<
 *     type   PySlepcSVD_Type,
 *     object PySlepcSVDObject,
 */
struct PySlepcSVDObject {
  struct PyPetscObjectObject __pyx_base;
  SVD svd;
};
typedef struct PySlepcSVDObject PySlepcSVDObject;

/* "slepc4py/SLEPc.pxd":84
 *     cdef SlepcSVD svd
 * 
 * ctypedef public api class PEP(Object) [             # <<<<<<<<<<<<<<
 *     type   PySlepcPEP_Type,
 *     object PySlepcPEPObject,
 */
struct PySlepcPEPObject {
  struct PyPetscObjectObject __pyx_base;
  PEP pep;
};
typedef struct PySlepcPEPObject PySlepcPEPObject;

/* "slepc4py/SLEPc.pxd":90
 *     cdef SlepcPEP pep
 * 
 * ctypedef public api class NEP(Object) [             # <<<<<<<<<<<<<<
 *     type   PySlepcNEP_Type,
 *     object PySlepcNEPObject,
 */
struct PySlepcNEPObject {
  struct PyPetscObjectObject __pyx_base;
  NEP nep;
};
typedef struct PySlepcNEPObject PySlepcNEPObject;

/* "slepc4py/SLEPc.pxd":96
 *     cdef SlepcNEP nep
 * 
 * ctypedef public api class MFN(Object) [             # <<<<<<<<<<<<<<
 *     type   PySlepcMFN_Type,
 *     object PySlepcMFNObject,
 */
struct PySlepcMFNObject {
  struct PyPetscObjectObject __pyx_base;
  MFN mfn;
};
typedef struct PySlepcMFNObject PySlepcMFNObject;

#ifndef __PYX_HAVE_API__slepc4py__SLEPc

#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 DL_IMPORT(PyTypeObject) PySlepcST_Type;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PySlepcBV_Type;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PySlepcDS_Type;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PySlepcFN_Type;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PySlepcRG_Type;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PySlepcEPS_Type;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PySlepcSVD_Type;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PySlepcPEP_Type;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PySlepcNEP_Type;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) PySlepcMFN_Type;

#endif /* !__PYX_HAVE_API__slepc4py__SLEPc */

/* 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 initSLEPc(void);
#else
PyMODINIT_FUNC PyInit_SLEPc(void);
#endif

#endif /* !__PYX_HAVE__slepc4py__SLEPc */
