/* Generated by Cython 3.0.7 */

#ifndef __PYX_HAVE_API__petsc4py__PETSc
#define __PYX_HAVE_API__petsc4py__PETSc
#ifdef __MINGW64__
#define MS_WIN64
#endif
#include "Python.h"
#include "PETSc.h"

static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Comm = 0;
#define PyPetscComm_Type (*__pyx_ptype_8petsc4py_5PETSc_Comm)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Object = 0;
#define PyPetscObject_Type (*__pyx_ptype_8petsc4py_5PETSc_Object)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Viewer = 0;
#define PyPetscViewer_Type (*__pyx_ptype_8petsc4py_5PETSc_Viewer)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Random = 0;
#define PyPetscRandom_Type (*__pyx_ptype_8petsc4py_5PETSc_Random)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Device = 0;
#define PyPetscDevice_Type (*__pyx_ptype_8petsc4py_5PETSc_Device)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_DeviceContext = 0;
#define PyPetscDeviceContext_Type (*__pyx_ptype_8petsc4py_5PETSc_DeviceContext)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_IS = 0;
#define PyPetscIS_Type (*__pyx_ptype_8petsc4py_5PETSc_IS)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_LGMap = 0;
#define PyPetscLGMap_Type (*__pyx_ptype_8petsc4py_5PETSc_LGMap)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_SF = 0;
#define PyPetscSF_Type (*__pyx_ptype_8petsc4py_5PETSc_SF)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Vec = 0;
#define PyPetscVec_Type (*__pyx_ptype_8petsc4py_5PETSc_Vec)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Space = 0;
#define PyPetscSpace_Type (*__pyx_ptype_8petsc4py_5PETSc_Space)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_DualSpace = 0;
#define PyPetscDualSpace_Type (*__pyx_ptype_8petsc4py_5PETSc_DualSpace)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_FE = 0;
#define PyPetscFE_Type (*__pyx_ptype_8petsc4py_5PETSc_FE)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Quad = 0;
#define PyPetscQuad_Type (*__pyx_ptype_8petsc4py_5PETSc_Quad)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Scatter = 0;
#define PyPetscScatter_Type (*__pyx_ptype_8petsc4py_5PETSc_Scatter)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Section = 0;
#define PyPetscSection_Type (*__pyx_ptype_8petsc4py_5PETSc_Section)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Mat = 0;
#define PyPetscMat_Type (*__pyx_ptype_8petsc4py_5PETSc_Mat)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_MatPartitioning = 0;
#define PyPetscMatPartitioning_Type (*__pyx_ptype_8petsc4py_5PETSc_MatPartitioning)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_NullSpace = 0;
#define PyPetscNullSpace_Type (*__pyx_ptype_8petsc4py_5PETSc_NullSpace)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_PC = 0;
#define PyPetscPC_Type (*__pyx_ptype_8petsc4py_5PETSc_PC)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_KSP = 0;
#define PyPetscKSP_Type (*__pyx_ptype_8petsc4py_5PETSc_KSP)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_SNES = 0;
#define PyPetscSNES_Type (*__pyx_ptype_8petsc4py_5PETSc_SNES)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_TS = 0;
#define PyPetscTS_Type (*__pyx_ptype_8petsc4py_5PETSc_TS)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_TAO = 0;
#define PyPetscTAO_Type (*__pyx_ptype_8petsc4py_5PETSc_TAO)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_TAOLineSearch = 0;
#define PyPetscTAOLineSearch_Type (*__pyx_ptype_8petsc4py_5PETSc_TAOLineSearch)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_AO = 0;
#define PyPetscAO_Type (*__pyx_ptype_8petsc4py_5PETSc_AO)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_DM = 0;
#define PyPetscDM_Type (*__pyx_ptype_8petsc4py_5PETSc_DM)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_DMPlexTransform = 0;
#define PyPetscDMPlexTransform_Type (*__pyx_ptype_8petsc4py_5PETSc_DMPlexTransform)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_DS = 0;
#define PyPetscDS_Type (*__pyx_ptype_8petsc4py_5PETSc_DS)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_Partitioner = 0;
#define PyPetscPartitioner_Type (*__pyx_ptype_8petsc4py_5PETSc_Partitioner)
static PyTypeObject *__pyx_ptype_8petsc4py_5PETSc_DMLabel = 0;
#define PyPetscDMLabel_Type (*__pyx_ptype_8petsc4py_5PETSc_DMLabel)

static int (*__pyx_api_f_8petsc4py_5PETSc_PyPetscError_Set)(PetscErrorCode) = 0;
#define PyPetscError_Set __pyx_api_f_8petsc4py_5PETSc_PyPetscError_Set
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscComm_New)(MPI_Comm) = 0;
#define PyPetscComm_New __pyx_api_f_8petsc4py_5PETSc_PyPetscComm_New
static MPI_Comm (*__pyx_api_f_8petsc4py_5PETSc_PyPetscComm_Get)(PyObject *) = 0;
#define PyPetscComm_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscComm_Get
static MPI_Comm *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscComm_GetPtr)(PyObject *) = 0;
#define PyPetscComm_GetPtr __pyx_api_f_8petsc4py_5PETSc_PyPetscComm_GetPtr
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscObject_New)(PetscObject) = 0;
#define PyPetscObject_New __pyx_api_f_8petsc4py_5PETSc_PyPetscObject_New
static PetscObject (*__pyx_api_f_8petsc4py_5PETSc_PyPetscObject_Get)(PyObject *) = 0;
#define PyPetscObject_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscObject_Get
static PetscObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscObject_GetPtr)(PyObject *) = 0;
#define PyPetscObject_GetPtr __pyx_api_f_8petsc4py_5PETSc_PyPetscObject_GetPtr
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscViewer_New)(PetscViewer) = 0;
#define PyPetscViewer_New __pyx_api_f_8petsc4py_5PETSc_PyPetscViewer_New
static PetscViewer (*__pyx_api_f_8petsc4py_5PETSc_PyPetscViewer_Get)(PyObject *) = 0;
#define PyPetscViewer_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscViewer_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscRandom_New)(PetscRandom) = 0;
#define PyPetscRandom_New __pyx_api_f_8petsc4py_5PETSc_PyPetscRandom_New
static PetscRandom (*__pyx_api_f_8petsc4py_5PETSc_PyPetscRandom_Get)(PyObject *) = 0;
#define PyPetscRandom_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscRandom_Get
static struct PyPetscDeviceObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscDevice_New)(PetscDevice) = 0;
#define PyPetscDevice_New __pyx_api_f_8petsc4py_5PETSc_PyPetscDevice_New
static PetscDevice (*__pyx_api_f_8petsc4py_5PETSc_PyPetscDevice_Get)(PyObject *) = 0;
#define PyPetscDevice_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscDevice_Get
static struct PyPetscDeviceContextObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscDeviceContext_New)(PetscDeviceContext) = 0;
#define PyPetscDeviceContext_New __pyx_api_f_8petsc4py_5PETSc_PyPetscDeviceContext_New
static PetscDeviceContext (*__pyx_api_f_8petsc4py_5PETSc_PyPetscDeviceContext_Get)(PyObject *) = 0;
#define PyPetscDeviceContext_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscDeviceContext_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscIS_New)(IS) = 0;
#define PyPetscIS_New __pyx_api_f_8petsc4py_5PETSc_PyPetscIS_New
static IS (*__pyx_api_f_8petsc4py_5PETSc_PyPetscIS_Get)(PyObject *) = 0;
#define PyPetscIS_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscIS_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscLGMap_New)(ISLocalToGlobalMapping) = 0;
#define PyPetscLGMap_New __pyx_api_f_8petsc4py_5PETSc_PyPetscLGMap_New
static ISLocalToGlobalMapping (*__pyx_api_f_8petsc4py_5PETSc_PyPetscLGMap_Get)(PyObject *) = 0;
#define PyPetscLGMap_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscLGMap_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscSF_New)(PetscSF) = 0;
#define PyPetscSF_New __pyx_api_f_8petsc4py_5PETSc_PyPetscSF_New
static PetscSF (*__pyx_api_f_8petsc4py_5PETSc_PyPetscSF_Get)(PyObject *) = 0;
#define PyPetscSF_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscSF_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscVec_New)(Vec) = 0;
#define PyPetscVec_New __pyx_api_f_8petsc4py_5PETSc_PyPetscVec_New
static Vec (*__pyx_api_f_8petsc4py_5PETSc_PyPetscVec_Get)(PyObject *) = 0;
#define PyPetscVec_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscVec_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscScatter_New)(VecScatter) = 0;
#define PyPetscScatter_New __pyx_api_f_8petsc4py_5PETSc_PyPetscScatter_New
static VecScatter (*__pyx_api_f_8petsc4py_5PETSc_PyPetscScatter_Get)(PyObject *) = 0;
#define PyPetscScatter_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscScatter_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscSection_New)(PetscSection) = 0;
#define PyPetscSection_New __pyx_api_f_8petsc4py_5PETSc_PyPetscSection_New
static PetscSection (*__pyx_api_f_8petsc4py_5PETSc_PyPetscSection_Get)(PyObject *) = 0;
#define PyPetscSection_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscSection_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscMat_New)(Mat) = 0;
#define PyPetscMat_New __pyx_api_f_8petsc4py_5PETSc_PyPetscMat_New
static Mat (*__pyx_api_f_8petsc4py_5PETSc_PyPetscMat_Get)(PyObject *) = 0;
#define PyPetscMat_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscMat_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscMatPartitioning_New)(MatPartitioning) = 0;
#define PyPetscMatPartitioning_New __pyx_api_f_8petsc4py_5PETSc_PyPetscMatPartitioning_New
static MatPartitioning (*__pyx_api_f_8petsc4py_5PETSc_PyPetscMatPartitioning_Get)(PyObject *) = 0;
#define PyPetscMatPartitioning_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscMatPartitioning_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscPC_New)(PC) = 0;
#define PyPetscPC_New __pyx_api_f_8petsc4py_5PETSc_PyPetscPC_New
static PC (*__pyx_api_f_8petsc4py_5PETSc_PyPetscPC_Get)(PyObject *) = 0;
#define PyPetscPC_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscPC_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscKSP_New)(KSP) = 0;
#define PyPetscKSP_New __pyx_api_f_8petsc4py_5PETSc_PyPetscKSP_New
static KSP (*__pyx_api_f_8petsc4py_5PETSc_PyPetscKSP_Get)(PyObject *) = 0;
#define PyPetscKSP_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscKSP_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscSNES_New)(SNES) = 0;
#define PyPetscSNES_New __pyx_api_f_8petsc4py_5PETSc_PyPetscSNES_New
static SNES (*__pyx_api_f_8petsc4py_5PETSc_PyPetscSNES_Get)(PyObject *) = 0;
#define PyPetscSNES_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscSNES_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscTS_New)(TS) = 0;
#define PyPetscTS_New __pyx_api_f_8petsc4py_5PETSc_PyPetscTS_New
static TS (*__pyx_api_f_8petsc4py_5PETSc_PyPetscTS_Get)(PyObject *) = 0;
#define PyPetscTS_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscTS_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscTAO_New)(Tao) = 0;
#define PyPetscTAO_New __pyx_api_f_8petsc4py_5PETSc_PyPetscTAO_New
static Tao (*__pyx_api_f_8petsc4py_5PETSc_PyPetscTAO_Get)(PyObject *) = 0;
#define PyPetscTAO_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscTAO_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscTAOLineSearch_New)(TaoLineSearch) = 0;
#define PyPetscTAOLineSearch_New __pyx_api_f_8petsc4py_5PETSc_PyPetscTAOLineSearch_New
static TaoLineSearch (*__pyx_api_f_8petsc4py_5PETSc_PyPetscTAOLineSearch_Get)(PyObject *) = 0;
#define PyPetscTAOLineSearch_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscTAOLineSearch_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscAO_New)(AO) = 0;
#define PyPetscAO_New __pyx_api_f_8petsc4py_5PETSc_PyPetscAO_New
static AO (*__pyx_api_f_8petsc4py_5PETSc_PyPetscAO_Get)(PyObject *) = 0;
#define PyPetscAO_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscAO_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscDM_New)(DM) = 0;
#define PyPetscDM_New __pyx_api_f_8petsc4py_5PETSc_PyPetscDM_New
static DM (*__pyx_api_f_8petsc4py_5PETSc_PyPetscDM_Get)(PyObject *) = 0;
#define PyPetscDM_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscDM_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscDS_New)(PetscDS) = 0;
#define PyPetscDS_New __pyx_api_f_8petsc4py_5PETSc_PyPetscDS_New
static PetscDS (*__pyx_api_f_8petsc4py_5PETSc_PyPetscDS_Get)(PyObject *) = 0;
#define PyPetscDS_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscDS_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscPartitioner_New)(PetscPartitioner) = 0;
#define PyPetscPartitioner_New __pyx_api_f_8petsc4py_5PETSc_PyPetscPartitioner_New
static PetscPartitioner (*__pyx_api_f_8petsc4py_5PETSc_PyPetscPartitioner_Get)(PyObject *) = 0;
#define PyPetscPartitioner_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscPartitioner_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscFE_New)(PetscFE) = 0;
#define PyPetscFE_New __pyx_api_f_8petsc4py_5PETSc_PyPetscFE_New
static PetscFE (*__pyx_api_f_8petsc4py_5PETSc_PyPetscFE_Get)(PyObject *) = 0;
#define PyPetscFE_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscFE_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscQuad_New)(PetscQuadrature) = 0;
#define PyPetscQuad_New __pyx_api_f_8petsc4py_5PETSc_PyPetscQuad_New
static PetscQuadrature (*__pyx_api_f_8petsc4py_5PETSc_PyPetscQuad_Get)(PyObject *) = 0;
#define PyPetscQuad_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscQuad_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscDMLabel_New)(DMLabel) = 0;
#define PyPetscDMLabel_New __pyx_api_f_8petsc4py_5PETSc_PyPetscDMLabel_New
static DMLabel (*__pyx_api_f_8petsc4py_5PETSc_PyPetscDMLabel_Get)(PyObject *) = 0;
#define PyPetscDMLabel_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscDMLabel_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscSpace_New)(PetscSpace) = 0;
#define PyPetscSpace_New __pyx_api_f_8petsc4py_5PETSc_PyPetscSpace_New
static PetscSpace (*__pyx_api_f_8petsc4py_5PETSc_PyPetscSpace_Get)(PyObject *) = 0;
#define PyPetscSpace_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscSpace_Get
static PyObject *(*__pyx_api_f_8petsc4py_5PETSc_PyPetscDualSpace_New)(PetscDualSpace) = 0;
#define PyPetscDualSpace_New __pyx_api_f_8petsc4py_5PETSc_PyPetscDualSpace_New
static PetscDualSpace (*__pyx_api_f_8petsc4py_5PETSc_PyPetscDualSpace_Get)(PyObject *) = 0;
#define PyPetscDualSpace_Get __pyx_api_f_8petsc4py_5PETSc_PyPetscDualSpace_Get
#ifndef __PYX_HAVE_RT_ImportFunction_3_0_7
#define __PYX_HAVE_RT_ImportFunction_3_0_7
static int __Pyx_ImportFunction_3_0_7(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
    PyObject *d = 0;
    PyObject *cobj = 0;
    union {
        void (*fp)(void);
        void *p;
    } tmp;
    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
    if (!d)
        goto bad;
    cobj = PyDict_GetItemString(d, funcname);
    if (!cobj) {
        PyErr_Format(PyExc_ImportError,
            "%.200s does not export expected C function %.200s",
                PyModule_GetName(module), funcname);
        goto bad;
    }
    if (!PyCapsule_IsValid(cobj, sig)) {
        PyErr_Format(PyExc_TypeError,
            "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
        goto bad;
    }
    tmp.p = PyCapsule_GetPointer(cobj, sig);
    *f = tmp.fp;
    if (!(*f))
        goto bad;
    Py_DECREF(d);
    return 0;
bad:
    Py_XDECREF(d);
    return -1;
}
#endif

#ifndef __PYX_HAVE_RT_ImportType_proto_3_0_7
#define __PYX_HAVE_RT_ImportType_proto_3_0_7
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
#include <stdalign.h>
#endif
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L
#define __PYX_GET_STRUCT_ALIGNMENT_3_0_7(s) alignof(s)
#else
#define __PYX_GET_STRUCT_ALIGNMENT_3_0_7(s) sizeof(void*)
#endif
enum __Pyx_ImportType_CheckSize_3_0_7 {
   __Pyx_ImportType_CheckSize_Error_3_0_7 = 0,
   __Pyx_ImportType_CheckSize_Warn_3_0_7 = 1,
   __Pyx_ImportType_CheckSize_Ignore_3_0_7 = 2
};
static PyTypeObject *__Pyx_ImportType_3_0_7(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_7 check_size);
#endif

#ifndef __PYX_HAVE_RT_ImportType_3_0_7
#define __PYX_HAVE_RT_ImportType_3_0_7
static PyTypeObject *__Pyx_ImportType_3_0_7(PyObject *module, const char *module_name, const char *class_name,
    size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_7 check_size)
{
    PyObject *result = 0;
    char warning[200];
    Py_ssize_t basicsize;
    Py_ssize_t itemsize;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *py_basicsize;
    PyObject *py_itemsize;
#endif
    result = PyObject_GetAttrString(module, class_name);
    if (!result)
        goto bad;
    if (!PyType_Check(result)) {
        PyErr_Format(PyExc_TypeError,
            "%.200s.%.200s is not a type object",
            module_name, class_name);
        goto bad;
    }
#if !CYTHON_COMPILING_IN_LIMITED_API
    basicsize = ((PyTypeObject *)result)->tp_basicsize;
    itemsize = ((PyTypeObject *)result)->tp_itemsize;
#else
    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
    if (!py_basicsize)
        goto bad;
    basicsize = PyLong_AsSsize_t(py_basicsize);
    Py_DECREF(py_basicsize);
    py_basicsize = 0;
    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
        goto bad;
    py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
    if (!py_itemsize)
        goto bad;
    itemsize = PyLong_AsSsize_t(py_itemsize);
    Py_DECREF(py_itemsize);
    py_itemsize = 0;
    if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
        goto bad;
#endif
    if (itemsize) {
        if (size % alignment) {
            alignment = size % alignment;
        }
        if (itemsize < (Py_ssize_t)alignment)
            itemsize = (Py_ssize_t)alignment;
    }
    if ((size_t)(basicsize + itemsize) < size) {
        PyErr_Format(PyExc_ValueError,
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd from PyObject",
            module_name, class_name, size, basicsize+itemsize);
        goto bad;
    }
    if (check_size == __Pyx_ImportType_CheckSize_Error_3_0_7 &&
            ((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) {
        PyErr_Format(PyExc_ValueError,
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd-%zd from PyObject",
            module_name, class_name, size, basicsize, basicsize+itemsize);
        goto bad;
    }
    else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_0_7 && (size_t)basicsize > size) {
        PyOS_snprintf(warning, sizeof(warning),
            "%s.%s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd from PyObject",
            module_name, class_name, size, basicsize);
        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
    }
    return (PyTypeObject *)result;
bad:
    Py_XDECREF(result);
    return NULL;
}
#endif


static int import_petsc4py__PETSc(void) {
  PyObject *module = 0;
  module = PyImport_ImportModule("petsc4py.PETSc");
  if (!module) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscError_Set", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscError_Set, "int (PetscErrorCode)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscComm_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscComm_New, "PyObject *(MPI_Comm)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscComm_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscComm_Get, "MPI_Comm (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscComm_GetPtr", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscComm_GetPtr, "MPI_Comm *(PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscObject_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscObject_New, "PyObject *(PetscObject)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscObject_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscObject_Get, "PetscObject (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscObject_GetPtr", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscObject_GetPtr, "PetscObject *(PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscViewer_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscViewer_New, "PyObject *(PetscViewer)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscViewer_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscViewer_Get, "PetscViewer (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscRandom_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscRandom_New, "PyObject *(PetscRandom)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscRandom_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscRandom_Get, "PetscRandom (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscDevice_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDevice_New, "struct PyPetscDeviceObject *(PetscDevice)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscDevice_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDevice_Get, "PetscDevice (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscDeviceContext_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDeviceContext_New, "struct PyPetscDeviceContextObject *(PetscDeviceContext)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscDeviceContext_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDeviceContext_Get, "PetscDeviceContext (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscIS_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscIS_New, "PyObject *(IS)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscIS_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscIS_Get, "IS (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscLGMap_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscLGMap_New, "PyObject *(ISLocalToGlobalMapping)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscLGMap_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscLGMap_Get, "ISLocalToGlobalMapping (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscSF_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSF_New, "PyObject *(PetscSF)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscSF_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSF_Get, "PetscSF (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscVec_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscVec_New, "PyObject *(Vec)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscVec_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscVec_Get, "Vec (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscScatter_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscScatter_New, "PyObject *(VecScatter)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscScatter_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscScatter_Get, "VecScatter (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscSection_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSection_New, "PyObject *(PetscSection)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscSection_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSection_Get, "PetscSection (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscMat_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscMat_New, "PyObject *(Mat)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscMat_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscMat_Get, "Mat (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscMatPartitioning_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscMatPartitioning_New, "PyObject *(MatPartitioning)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscMatPartitioning_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscMatPartitioning_Get, "MatPartitioning (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscPC_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscPC_New, "PyObject *(PC)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscPC_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscPC_Get, "PC (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscKSP_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscKSP_New, "PyObject *(KSP)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscKSP_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscKSP_Get, "KSP (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscSNES_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSNES_New, "PyObject *(SNES)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscSNES_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSNES_Get, "SNES (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscTS_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscTS_New, "PyObject *(TS)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscTS_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscTS_Get, "TS (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscTAO_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscTAO_New, "PyObject *(Tao)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscTAO_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscTAO_Get, "Tao (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscTAOLineSearch_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscTAOLineSearch_New, "PyObject *(TaoLineSearch)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscTAOLineSearch_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscTAOLineSearch_Get, "TaoLineSearch (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscAO_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscAO_New, "PyObject *(AO)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscAO_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscAO_Get, "AO (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscDM_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDM_New, "PyObject *(DM)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscDM_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDM_Get, "DM (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscDS_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDS_New, "PyObject *(PetscDS)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscDS_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDS_Get, "PetscDS (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscPartitioner_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscPartitioner_New, "PyObject *(PetscPartitioner)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscPartitioner_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscPartitioner_Get, "PetscPartitioner (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscFE_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscFE_New, "PyObject *(PetscFE)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscFE_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscFE_Get, "PetscFE (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscQuad_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscQuad_New, "PyObject *(PetscQuadrature)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscQuad_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscQuad_Get, "PetscQuadrature (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscDMLabel_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDMLabel_New, "PyObject *(DMLabel)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscDMLabel_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDMLabel_Get, "DMLabel (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscSpace_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSpace_New, "PyObject *(PetscSpace)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscSpace_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscSpace_Get, "PetscSpace (PyObject *)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscDualSpace_New", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDualSpace_New, "PyObject *(PetscDualSpace)") < 0) goto bad;
  if (__Pyx_ImportFunction_3_0_7(module, "PyPetscDualSpace_Get", (void (**)(void))&__pyx_api_f_8petsc4py_5PETSc_PyPetscDualSpace_Get, "PetscDualSpace (PyObject *)") < 0) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_Comm = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "Comm", sizeof(struct PyPetscCommObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscCommObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_Comm) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_Object = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "Object", sizeof(struct PyPetscObjectObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscObjectObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_Object) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_Viewer = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "Viewer", sizeof(struct PyPetscViewerObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscViewerObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_Viewer) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_Random = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "Random", sizeof(struct PyPetscRandomObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscRandomObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_Random) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_Device = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "Device", sizeof(struct PyPetscDeviceObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscDeviceObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_Device) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_DeviceContext = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "DeviceContext", sizeof(struct PyPetscDeviceContextObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscDeviceContextObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_DeviceContext) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_IS = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "IS", sizeof(struct PyPetscISObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscISObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_IS) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_LGMap = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "LGMap", sizeof(struct PyPetscLGMapObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscLGMapObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_LGMap) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_SF = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "SF", sizeof(struct PyPetscSFObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscSFObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_SF) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_Vec = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "Vec", sizeof(struct PyPetscVecObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscVecObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_Vec) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_Space = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "Space", sizeof(struct PyPetscSpaceObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscSpaceObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_Space) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_DualSpace = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "DualSpace", sizeof(struct PyPetscDualSpaceObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscDualSpaceObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_DualSpace) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_FE = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "FE", sizeof(struct PyPetscFEObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscFEObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_FE) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_Quad = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "Quad", sizeof(struct PyPetscQuadObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscQuadObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_Quad) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_Scatter = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "Scatter", sizeof(struct PyPetscScatterObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscScatterObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_Scatter) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_Section = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "Section", sizeof(struct PyPetscSectionObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscSectionObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_Section) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_Mat = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "Mat", sizeof(struct PyPetscMatObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscMatObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_Mat) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_MatPartitioning = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "MatPartitioning", sizeof(struct PyPetscMatPartitioningObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscMatPartitioningObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_MatPartitioning) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_NullSpace = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "NullSpace", sizeof(struct PyPetscNullSpaceObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscNullSpaceObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_NullSpace) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_PC = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "PC", sizeof(struct PyPetscPCObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscPCObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_PC) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_KSP = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "KSP", sizeof(struct PyPetscKSPObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscKSPObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_KSP) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_SNES = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "SNES", sizeof(struct PyPetscSNESObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscSNESObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_SNES) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_TS = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "TS", sizeof(struct PyPetscTSObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscTSObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_TS) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_TAO = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "TAO", sizeof(struct PyPetscTAOObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscTAOObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_TAO) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_TAOLineSearch = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "TAOLineSearch", sizeof(struct PyPetscTAOLineSearchObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscTAOLineSearchObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_TAOLineSearch) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_AO = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "AO", sizeof(struct PyPetscAOObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscAOObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_AO) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_DM = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "DM", sizeof(struct PyPetscDMObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscDMObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_DM) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_DMPlexTransform = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "DMPlexTransform", sizeof(struct PyPetscDMPlexTransformObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscDMPlexTransformObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_DMPlexTransform) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_DS = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "DS", sizeof(struct PyPetscDSObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscDSObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_DS) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_Partitioner = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "Partitioner", sizeof(struct PyPetscPartitionerObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscPartitionerObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_Partitioner) goto bad;
  __pyx_ptype_8petsc4py_5PETSc_DMLabel = __Pyx_ImportType_3_0_7(module, "petsc4py.PETSc", "DMLabel", sizeof(struct PyPetscDMLabelObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct PyPetscDMLabelObject),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_8petsc4py_5PETSc_DMLabel) goto bad;
  Py_DECREF(module); module = 0;
  return 0;
  bad:
  Py_XDECREF(module);
  return -1;
}

#endif /* !__PYX_HAVE_API__petsc4py__PETSc */
