diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2017-07-12 08:45:45 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2017-07-12 08:45:49 +0900 |
commit | 21d2cf757d6646ab430406c5406b15d753474e98 (patch) | |
tree | 146a899be01caa3a903c2a9949840b3293b81d38 /gi/pygi-util.c | |
parent | 4e74666c3f696a306557bf302a5e05d649e03365 (diff) | |
download | pygobject2-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.c | 42 |
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; +} |