summaryrefslogtreecommitdiff
path: root/gi/pygi-util.c
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2017-07-12 08:45:45 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2017-07-12 08:45:49 +0900
commit21d2cf757d6646ab430406c5406b15d753474e98 (patch)
tree146a899be01caa3a903c2a9949840b3293b81d38 /gi/pygi-util.c
parent4e74666c3f696a306557bf302a5e05d649e03365 (diff)
downloadpygobject2-21d2cf757d6646ab430406c5406b15d753474e98.tar.gz
pygobject2-21d2cf757d6646ab430406c5406b15d753474e98.tar.bz2
pygobject2-21d2cf757d6646ab430406c5406b15d753474e98.zip
Imported Upstream version 3.21.91
Change-Id: I89d5b175d455604c3510d61eb14e4f048d5ba446 Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'gi/pygi-util.c')
-rw-r--r--gi/pygi-util.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/gi/pygi-util.c b/gi/pygi-util.c
new file mode 100644
index 0000000..1d9201e
--- /dev/null
+++ b/gi/pygi-util.c
@@ -0,0 +1,42 @@
+/* -*- Mode: C; c-basic-offset: 4 -*-
+ * pygtk- Python bindings for the GTK toolkit.
+ * Copyright (C) 1998-2003 James Henstridge
+ *
+ * gobjectmodule.c: wrapper for the gobject library.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "pygi-util.h"
+
+PyObject *
+pyg_integer_richcompare(PyObject *v, PyObject *w, int op)
+{
+ PyObject *result;
+ gboolean t;
+
+ switch (op) {
+ case Py_EQ: t = PYGLIB_PyLong_AS_LONG(v) == PYGLIB_PyLong_AS_LONG(w); break;
+ case Py_NE: t = PYGLIB_PyLong_AS_LONG(v) != PYGLIB_PyLong_AS_LONG(w); break;
+ case Py_LE: t = PYGLIB_PyLong_AS_LONG(v) <= PYGLIB_PyLong_AS_LONG(w); break;
+ case Py_GE: t = PYGLIB_PyLong_AS_LONG(v) >= PYGLIB_PyLong_AS_LONG(w); break;
+ case Py_LT: t = PYGLIB_PyLong_AS_LONG(v) < PYGLIB_PyLong_AS_LONG(w); break;
+ case Py_GT: t = PYGLIB_PyLong_AS_LONG(v) > PYGLIB_PyLong_AS_LONG(w); break;
+ default: g_assert_not_reached();
+ }
+
+ result = t ? Py_True : Py_False;
+ Py_INCREF(result);
+ return result;
+}