/* Generated by Cython 0.29.14 */

#ifndef __PYX_HAVE__pycalphad__core__phase_rec
#define __PYX_HAVE__pycalphad__core__phase_rec

#include "Python.h"
struct PhaseRecordObject;

/* "pycalphad/core/phase_rec.pxd":16
 * 
 * @cython.final
 * cdef public class PhaseRecord(object)[type PhaseRecordType, object PhaseRecordObject]:             # <<<<<<<<<<<<<<
 *     cdef FastFunction _obj
 *     cdef FastFunction _grad
 */
struct PhaseRecordObject {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pycalphad_4core_9phase_rec_PhaseRecord *__pyx_vtab;
  struct __pyx_obj_9pycalphad_4core_9phase_rec_FastFunction *_obj;
  struct __pyx_obj_9pycalphad_4core_9phase_rec_FastFunction *_grad;
  struct __pyx_obj_9pycalphad_4core_9phase_rec_FastFunction *_hess;
  struct __pyx_obj_9pycalphad_4core_9phase_rec_FastFunction *_internal_cons_func;
  struct __pyx_obj_9pycalphad_4core_9phase_rec_FastFunction *_internal_cons_jac;
  struct __pyx_obj_9pycalphad_4core_9phase_rec_FastFunction *_internal_cons_hess;
  struct __pyx_obj_9pycalphad_4core_9phase_rec_FastFunction *_multiphase_cons_func;
  struct __pyx_obj_9pycalphad_4core_9phase_rec_FastFunction *_multiphase_cons_jac;
  struct __pyx_obj_9pycalphad_4core_9phase_rec_FastFunction *_multiphase_cons_hess;
  PyArrayObject *_masses;
  void **_masses_ptr;
  PyArrayObject *_massgrads;
  void **_massgrads_ptr;
  PyArrayObject *_masshessians;
  void **_masshessians_ptr;
  size_t num_internal_cons;
  size_t num_multiphase_cons;
  PyObject *variables;
  PyObject *state_variables;
  PyObject *components;
  PyObject *pure_elements;
  PyObject *nonvacant_elements;
  __Pyx_memviewslice parameters;
  int phase_dof;
  int num_statevars;
  PyObject *phase_name;
  PyObject *ofunc_;
  PyObject *gfunc_;
  PyObject *hfunc_;
  PyObject *internal_cons_func_;
  PyObject *internal_cons_jac_;
  PyObject *internal_cons_hess_;
  PyObject *multiphase_cons_func_;
  PyObject *multiphase_cons_jac_;
  PyObject *multiphase_cons_hess_;
  PyObject *massfuncs_;
  PyObject *massgradfuncs_;
  PyObject *masshessianfuncs_;
};

#ifndef __PYX_HAVE_API__pycalphad__core__phase_rec

#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) PhaseRecordType;

#endif /* !__PYX_HAVE_API__pycalphad__core__phase_rec */

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

#endif /* !__PYX_HAVE__pycalphad__core__phase_rec */
