16#define EulerObject_Check(v) PyObject_TypeCheck((v), &euler_Type)
17#define EulerObject_CheckExact(v) (Py_TYPE(v) == &euler_Type)
33 PyTypeObject *base_type);
39 unsigned char cb_type,
40 unsigned char cb_subtype);
#define ATTR_NONNULL(...)
short euler_order_from_string(const char *str, const char *error_prefix)
PyObject * Euler_CreatePyObject_wrap(float eul[3], short order, PyTypeObject *base_type) ATTR_NONNULL(1)
PyObject * Euler_CreatePyObject_cb(PyObject *cb_user, short order, unsigned char cb_type, unsigned char cb_subtype)
PyObject * Euler_CreatePyObject(const float eul[3], short order, PyTypeObject *base_type)