12#define EulerObject_Check(v) PyObject_TypeCheck((v), &euler_Type)
13#define EulerObject_CheckExact(v) (Py_TYPE(v) == &euler_Type)
36 unsigned char cb_type,
#define ATTR_WARN_UNUSED_RESULT
#define ATTR_NONNULL(...)
PyObject * Euler_CreatePyObject(const float eul[3], short order, PyTypeObject *base_type) ATTR_WARN_UNUSED_RESULT
short euler_order_from_string(const char *str, const char *error_prefix)
PyObject * Euler_CreatePyObject_cb(PyObject *cb_user, short order, unsigned char cb_type, unsigned char cb_subtype) ATTR_WARN_UNUSED_RESULT
PyObject * Euler_CreatePyObject_wrap(float eul[3], short order, PyTypeObject *base_type) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)