10 #include <../../nrnconf.h>
12 #if defined(USE_PYTHON)
13 #undef _POSIX_C_SOURCE
21 #include <string_view>
23 #define PyString_FromString PyUnicode_FromString
24 #define PyInt_Check PyLong_Check
25 #define PyInt_CheckExact PyLong_CheckExact
26 #define PyInt_AS_LONG PyLong_AsLong
27 #define PyInt_AsLong PyLong_AsLong
28 #define PyInt_FromLong PyLong_FromLong
30 static_assert(PY_MAJOR_VERSION > 3 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 9),
31 "Python >= 3.9 required");
36 #if defined(__SIZEOF_POINTER__) && __SIZEOF_POINTER__ > __SIZEOF_LONG__
37 #define castptr2long (long) (long long)
39 #define castptr2long (long)
@ HocForallSectionIterator
PyObject * hocobj_call_arg(int)
Object * nrnpy_pyobject_in_obj(PyObject *)
int nrn_is_hocobj_ptr(PyObject *, neuron::container::data_handle< double > &)
Object * nrnpy_po2ho(PyObject *)
bool nrn_chk_data_handle(const neuron::container::data_handle< double > &)
int nrnpy_numbercheck(PyObject *)
int nrn_pointer_assign(Prop *, Symbol *, PyObject *)
PyObject * nrnpy_ho2po(Object *)
int nrnpy_ho_eq_po(Object *, PyObject *)
PyObject * nrnpy_hoc2pyobject(Object *ho)
neuron::container::generic_data_handle * nrnpy_setpointer_helper(PyObject *, PyObject *)
PyObject * nrn_hocobj_handle(neuron::container::data_handle< double > d)
PyObject * nrn_hocobj_ptr(double *)
PyObject * nrnpy_hoc_pop(const char *mes)
NPySecObj * newpysechelp(Section *sec)
PyObject_HEAD Section * sec_
Non-template stable handle to a generic value.