A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2002-June/025297.html below:

[Python-Dev] Rich Comparison from "C" API?

[Python-Dev] Rich Comparison from "C" API?Tim Peters tim.one@comcast.net
Wed, 12 Jun 2002 11:02:50 -0400
[David Abrahams]
> Suppose I want to execute, from "C", the same steps taken by Python in
> evaluating the expression
>
>     x <= y
>
> I see no documented "C" API function which can do that. I'm guessing
> PyObject_RichCompare[Bool] may do what I want, but since it's
> undocumented I assume its untouchable. Guido?

It doesn't start with an underscore, and is advertised in object.h, so that
it's undocumented just means you didn't yet volunteer a doc patch <wink>.

    /* Return -1 if error; 1 if v op w; 0 if not (v op w). */
    int PyObject_RichCompareBool(PyObject *v, PyObject *w, int op)


where op is one of (also in object.h)

    /* Rich comparison opcodes */
    #define Py_LT 0
    #define Py_LE 1
    #define Py_EQ 2
    #define Py_NE 3
    #define Py_GT 4
    #define Py_GE 5

So the answer to your question is

    int result = PyObject_RichCompareBool(x, y, Py_LE);
    if (result < 0)
        return error_indicator;
    /* now result is true/false */





RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4