PyObject* PyCOMPSGroup_cmp(PyObject *self, PyObject *other, int op) { char ret; // Only eq and neq operators allowed CMP_OP_EQ_NE_CHECK(op) //printf("pygroup cmp\n"); if (other == NULL || ( Py_TYPE(other) != Py_TYPE(self) && other != Py_None)) { PyErr_Format(PyExc_TypeError, "Not %s instance", Py_TYPE(self)->tp_name); return NULL; } CMP_NONE_CHECK(op, self, other) ret = COMPS_OBJECT_CMP(((PyCOMPS_Group*)self)->group, ((PyCOMPS_Group*)other)->group); //printf("pygroup cmp 2\n"); if (op == Py_EQ) { if (!ret) Py_RETURN_FALSE; } else { if (ret) Py_RETURN_FALSE; } Py_RETURN_TRUE; }
PyObject* PyCOMPSEnv_cmp(PyObject *self, PyObject *other, int op) { char ret; CMP_OP_EQ_NE_CHECK(op) if (other == NULL || ( Py_TYPE(other) != &PyCOMPS_EnvType && other != Py_None)) { PyErr_SetString(PyExc_TypeError, "Not Environment instance"); return NULL; } CMP_NONE_CHECK(op, self, other) ret = COMPS_OBJECT_CMP((COMPS_Object*)((PyCOMPS_Env*)self)->c_obj, (COMPS_Object*)((PyCOMPS_Env*)other)->c_obj); if (op == Py_EQ) { if (!ret) Py_RETURN_FALSE; } else { if (ret) Py_RETURN_FALSE; } Py_RETURN_TRUE; }
PyObject* PyCOMPSPack_cmp(PyObject *self, PyObject *other, int op) { char ret; CMP_OP_EQ_NE_CHECK(op) if (other == NULL || ( Py_TYPE(other) != &PyCOMPS_PackType && other != Py_None)) { PyErr_Format(PyExc_TypeError, "Not %s instance", Py_TYPE(self)->tp_name); return NULL; } CMP_NONE_CHECK(op, self, other) ret = COMPS_OBJECT_CMP((COMPS_Object*)((PyCOMPS_Package*)self)->package, (COMPS_Object*)((PyCOMPS_Package*)other)->package); if (op == Py_EQ) { if (!ret) Py_RETURN_FALSE; } else { if (ret) Py_RETURN_FALSE; } Py_RETURN_TRUE; }